@tocca-systems/twp-cli 0.105.0 → 0.106.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.
@@ -11,6 +11,10 @@
11
11
  `CHANGELOG.md` に残してあります。顧客向けの履歴は public 公開以降を対象とします。
12
12
  -->
13
13
 
14
+ ## 0.106.0
15
+
16
+ 取引書類の申請前AIチェックで指摘に理由を記録するとき、判断として「お客様と調整済み」を選び、調整した相手と日付を添えられるようにしました。
17
+
14
18
  ## 0.105.0
15
19
 
16
20
  自動実行ループで、何もすることが無かった計画の直後に、計画をしばらく休む間隔を設定できるようにしました。設定していない環境の動作は変わりません。
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-CDAU3M7F.js";import{exitCodeFor,fetchAllPages,reportError}from"./chunk-HSGVTHOQ.js";import"./chunk-QPJAVKNS.js";import"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-P4QSPSOQ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";
3
+ import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-CDAU3M7F.js";import{exitCodeFor,fetchAllPages,reportError}from"./chunk-MGLNS4PE.js";import"./chunk-IPAE6AJ4.js";import"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-P4QSPSOQ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";
4
4
  import{readBody}from"./chunk-HEH3PUW2.js";import{ALLOW_REDACTED_FLAG,NO_REDACT_FLAG,NO_REDACT_NOTICE}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs,repeatedValues}from"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import{ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";
5
5
  import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,envelopePaging,isPageNumberEnvelope,pageRangeNotes,positiveInteger,readEnvelopeCursor,readPageNumberCursor,shellQuote}from"./chunk-MI6HVYR2.js";import"./chunk-3ZRMMBP5.js";import{ApiResponseError,EXIT_OK,EXIT_WAIT_TIMEOUT,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{
6
6
  httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,resolveConfiguredOutput,resolveProfile}from"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import{HELP_TOKEN}from"./chunk-6FI4ZMZ7.js";import"./chunk-OKATZ4SN.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-RKBUJKI5.js";import"./chunk-UREA4ZIG.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MIN_SEGMENT_CHARS=3;var parsedCache=new WeakMap;function splitSegments(path){return path.split("/").filter(segment=>segment!=="")}function parseRoutes(routes){const cached=parsedCache.get(routes);if(cached!==void 0)return cached;const parsed=[];for(const[key,domain]of Object.entries(routes.routes)){const space=key.indexOf(" ");if(space<=0)continue;const template=key.slice(space+1);parsed.push({method:key.slice(0,space),template,domain,segments:splitSegments(template).map(segment=>/^\{[^/{}]+\}$/.
@@ -1212,7 +1212,7 @@ cwd()){const listed=await gitListFiles(cwd2);const raw=listed??await walkFiles(c
1212
1212
  1;const after=/^[^\s]*/.exec(text.slice(cursor))?.[0]??"";return{query,start,end:cursor+after.length}}var TWP_SLASH_ROUTES={"/tasks":{domain:"task",operation:"list"},"/task":{domain:"task",operation:"get"},"/projects":{domain:"project",operation:"list"}};function isTwpSlashCommand(name){return Object.hasOwn(TWP_SLASH_ROUTES,name)}async function runTwpSlashCommand(name,args,deps){const route=TWP_SLASH_ROUTES[name];if(!Object.hasOwn(TWP_SLASH_ROUTES,name)||route===void 0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9: ${name}
1213
1213
  `}}const parsed=parseArgv([route.domain,route.operation,...args]);if(parsed.command!=="domain"||parsed.domain!==route.domain){return{code:2,out:"",err:`${name}: \u3053\u306E\u5F15\u6570\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF08${args.join(" ")}\uFF09
1214
1214
  `}}if(parsed.unknown.length>0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u5F15\u6570: ${formatUnknownArgs(parsed.unknown)}
1215
- `}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-EMRRYXVR.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
1215
+ `}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-Z7IMCRYN.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
1216
1216
  {},argv:parsed.domainArgv,help:parsed.domainHelp,globals,version:deps.version,io,...deps.fetchImpl!==void 0?{fetchImpl:deps.fetchImpl}:{}});return{code,out,err}}catch(e){return{code:1,out,err:`${err}${e.message}
1217
1217
  `}}}var GIT_LOG_OUTPUT=["9f3c1a2 feat(ui): \u4E00\u89A7\u306E\u30D5\u30A3\u30EB\u30BF\u3092 URL \u30AF\u30A8\u30EA\u3068\u540C\u671F\u3059\u308B","4b8e0d7 fix(ui): \u4EEE\u60F3\u30B9\u30AF\u30ED\u30FC\u30EB\u306E\u884C\u9AD8\u3055\u3092\u5B9F\u6E2C\u5024\u306B\u5408\u308F\u305B\u308B","c15a99e refactor(api): \u4E00\u89A7\u53D6\u5F97\u306E\u30DA\u30FC\u30B8\u30F3\u30B0\u51E6\u7406\u3092\u5171\u901A\u5316\u3059\u308B","2d70f4b test: \u4E00\u89A7\u30D5\u30A3\u30EB\u30BF\u306E\u56DE\u5E30\u30C6\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B",
1218
1218
  "a6e2b38 fix(api): \u7A7A\u306E\u691C\u7D22\u6761\u4EF6\u3067\u5168\u4EF6\u8FD4\u3089\u306A\u3044\u3088\u3046\u306B\u3059\u308B","7c40d51 chore(deps): \u958B\u767A\u4F9D\u5B58\u3092\u6700\u65B0\u3078\u66F4\u65B0\u3059\u308B","e83b1c6 docs: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306B Node 22 \u306E\u524D\u63D0\u3092\u8FFD\u8A18\u3059\u308B","b91f7a4 fix(ui): \u30E2\u30FC\u30C0\u30EB\u306E\u91CD\u306A\u308A\u9806\u3092\u6307\u5B9A\u3059\u308B","5a2c8e0 perf(api): \u4E00\u89A7\u306E N+1 \u3092\u89E3\u6D88\u3059\u308B",
@@ -3,23 +3,24 @@ const require = __twpCreateRequire(import.meta.url);
3
3
  import{salesFeatureDenied}from"./chunk-M3T4WSYO.js";import{featureLicenseGuidance}from"./chunk-OBCTXGDW.js";import{charCount,readBody}from"./chunk-HEH3PUW2.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{isExactNumericId}from"./chunk-FW2AZBFR.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";var SALES_PATH="/api/v2/sales";var REASONS_PATH=`${SALES_PATH}/ai-review-reasons`;function documentForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith("\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09`}
5
5
  return void 0}function reasonsForbidden(body){if(body?.error==="permission_denied")return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");return"\u7406\u7531\u306E\u6A2A\u65AD\u4E00\u89A7\u30FB\u6587\u6848\u751F\u6210\u30FBPR \u4F5C\u6210\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u66F8\u985E\u3092\u8DE8\u3044\u3067\u7406\u7531\u3092\u8AAD\u3080\u305F\u3081\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u8CA9\u58F2\u7BA1\u7406\u3092\u5951\u7D04\u3057\u3066\u3044\u308B\u304B\u30FB\u3042\u306A\u305F\u306E\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u304B\u3092\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
6
- var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",segment:"estimates"};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",segment:"invoices"};var CONTRACT={name:"contract",label:"\u53D6\u5F15\u5951\u7D04",segment:"contracts"};var JUDGMENTS={no_issue:"\u78BA\u8A8D\u3057\u305F\u304C\u554F\u984C\u306A\u3044\u3068\u5224\u65AD\u3057\u305F",corrected:"\u6307\u6458\u3092\u53D7\u3051\u3066\u66F8\u985E\u3092\u4FEE\u6B63\u3057\u305F",not_applicable:"\u3053\u306E\u6848\u4EF6\u306B\u306F\u5F53\u3066\u306F\u307E\u3089\u306A\u3044\u6307\u6458\u3060\u3068\u5224\u65AD\u3057\u305F"};
7
- var REASON_MAX_CHARS=2e3;var LABEL_MAX_CHARS=255;var CRITERION_RE=/^[A-Za-z0-9_.:-]{1,128}$/;var MAX_REASONS=20;var DRAFT_MAX_CHARS=8e3;var TARGET_PREFIX="checklists/";var DEFAULT_TARGET="checklists/quality/estimation-billing-integrity-check.md";var WAIT_POLL_INTERVAL_MS=5e3;var WAIT_DEFAULT_SECONDS=300;var WAIT_MAX_SECONDS=540;var IN_FLIGHT=new Set(["pending","processing"]);var sleep=ms=>new Promise(resolve=>setTimeout(resolve,ms));function refusedBeforeSending(err){return err instanceof ApiError&&
8
- err.status>=400&&err.status<500||err instanceof NotLoggedInError||err instanceof SessionExpiredError}async function trimmedBody(input,spec){const text=await readBody(input,{...spec,maxChars:spec.maxChars+1e3});if(text===void 0)return void 0;const length=charCount(text.trim());if(length>spec.maxChars)throw new UsageError(`${spec.label}\u306F ${spec.maxChars.toLocaleString()} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${length.toLocaleString()} \u6587\u5B57\uFF09`,spec.usage);return text}function usageOf(doc,resource,op){
9
- return`twp ${doc.name} ${resource} ${op} help`}function numericDocumentId(raw,doc,usage,what){const id=raw.trim();if(id==="")throw new UsageError(`${doc.label}\u306E ID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!isExactNumericId(id)){throw new UsageError(`${doc.label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${doc.label}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`)}
10
- return id}function reviewPath(input,doc,op){const usage=usageOf(doc,"ai-review",op);if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,usage);const id=numericDocumentId(input.args[0]??"",doc,usage,"\u4F4D\u7F6E\u5F15\u6570");return`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`}function reasonTarget(input,doc,op){const usage=usageOf(doc,"ai-review-reason",op);if(input.args.length>1)throw new UsageError(
11
- `\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}\uFF08${doc.label}\u306F --${doc.name} \u3067\u6E21\u3057\u307E\u3059\uFF09`,usage);const criterion=input.args[0]?.trim()??"";if(criterion==="")throw new UsageError("\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`twp ${doc.name} ai-review get <${doc.label}ID> \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\u3002`);if(!CRITERION_RE.test(criterion)||
12
- /^\.+$/.test(criterion)){throw new UsageError(`\u6307\u6458\u306E ID \u306F\u82F1\u6570\u5B57\u3068 _ . : - \u3060\u3051\u30FB128 \u6587\u5B57\u307E\u3067\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${criterion}`,usage)}const id=numericDocumentId(input.flags.get(`--${doc.name}`)??"",doc,usage,` --${doc.name}`);const base=`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`;return{reviewPath:base,reasonPath:`${base}/reasons/${encodeURIComponent(criterion)}`,criterion}}function envelope(body,what){
13
- if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function withoutResult(body){return Object.fromEntries(Object.entries(body).filter(([key])=>key!=="result"))}function reviewOf(body,what){const review=body["review"];if(review===null)return null;if(!isRecord(review)||typeof review["s\
14
- tatus"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B review.status \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return review}function checksOf(review){const checks=review?.["checks"];return Array.isArray(checks)?checks.filter(isRecord):[]}function checkCounts(review){const checks=checksOf(review);return`\u78BA\u8A8D\u3057\u305F\u89B3\u70B9 ${checks.length} \u4EF6\uFF08\u3046\u3061\u8B66\u544A ${checks.
15
- filter(check=>check["severity"]==="warning").length} \u4EF6\uFF09`}function reasonsMap(body){return isRecord(body["reasons"])?body["reasons"]:{}}function hasReferencedReason(check){return isRecord(check["referenced_reason"])}var CHECK_COLUMNS=["criterion_id","label","severity","referenced_reason","reason_judgment","message"];function checkRows(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const reasons=reasonsMap(data);return checksOf(reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).
16
- map(check=>{const criterion=typeof check["criterion_id"]==="string"?check["criterion_id"]:null;const reason=criterion!==null?reasons[criterion]:void 0;return{...pick(check,["criterion_id","label","severity"]),referenced_reason:hasReferencedReason(check),reason_judgment:isRecord(reason)?reason["judgment"]??null:null,message:check["message"]??null}})}function reviewRaw(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");
17
- return withoutResult(data)}function statusNotes(doc,id,review){if(review===null)return[`\u307E\u3060\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3057\u3066\u3044\u307E\u305B\u3093\uFF08twp ${doc.name} ai-review run ${id} --yes \u3067\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF09`];const status=review["status"];if(IN_FLIGHT.has(String(status))){return[`\u751F\u6210\u4E2D\u3067\u3059\uFF08status=${String(status)}\uFF09\u3002twp ${doc.name} ai-review get ${id} \u3067\u7D50\u679C\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08run \u306B --wa\
18
- it \u3092\u4ED8\u3051\u308B\u3068\u5B8C\u4E86\u307E\u3067\u5F85\u3061\u307E\u3059\uFF09`]}if(status==="failed")return[`\u524D\u56DE\u306E\u751F\u6210\u306F\u5931\u6557\u3057\u307E\u3057\u305F\uFF08status=failed\uFF09\u3002twp ${doc.name} ai-review run ${id} --yes \u3067\u518D\u5B9F\u884C\u3067\u304D\u307E\u3059`];return[]}function getNotes(doc){return(body,input)=>{const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");
19
- const id=input.args[0]?.trim()??"<ID>";const notes=statusNotes(doc,id,review);if(review!==null&&review["status"]==="completed"){if(typeof review["summary"]==="string"&&review["summary"]!=="")notes.push(`\u8981\u7D04: ${review["summary"]}`);notes.push(`${checkCounts(review)}\u3002\u751F\u6210\u65E5\u6642 ${String(review["generated_at"]??"\u4E0D\u660E")}`)}if(data["stale"]===true)notes.push(`\u3053\u306E\u7D50\u679C\u306F${doc.label}\u306E\u4FDD\u5B58\u3088\u308A\u524D\u306E\u3082\u306E\u3067\u3059\uFF08\u5185\u5BB9\u304C\u5909\u308F\u3063\u3066\u3044\u307E\u3059\uFF09\u3002\u627F\u8A8D\u7533\u8ACB\u306E\u524D\u306B\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044`);
20
- if(data["reason_editable"]===false){notes.push(data["reason_lock_reason"]==="approved"?"\u627F\u8A8D\u6E08\u307F\u306E\u305F\u3081\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306F\u5909\u66F4\u3067\u304D\u307E\u305B\u3093":"\u627F\u8A8D\u5F85\u3061\u306E\u9593\u306F\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09")}notes.push("\u6307\u6458\u306E\u672C\u6587\u30FB\u5185\u8A33\uFF08details\uFF09\u30FB\u7406\u7531\u306E\u5168\u6587\u306F --o\
21
- utput json \u3067\u51FA\u307E\u3059");return notes}}var WAIT_FLAG={name:"--wait",summary:"\u751F\u6210\u304C\u7D42\u308F\u308B\uFF08completed / failed\uFF09\u307E\u3067\u5F85\u3064",takesValue:false};var TIMEOUT_FLAG={name:"--timeout",summary:`--wait \u3067\u5F85\u3064\u4E0A\u9650\u306E\u79D2\u6570\uFF08\u65E2\u5B9A ${WAIT_DEFAULT_SECONDS}\u30FB\u6700\u5927 ${WAIT_MAX_SECONDS}\uFF09`,takesValue:true,placeholder:"<\u79D2>"};function waitSeconds(input,doc){const timeout=positiveInteger(input.flags,
22
- TIMEOUT_FLAG.name);if(!input.flags.has(WAIT_FLAG.name)){if(timeout!==void 0)throw new UsageError("--timeout \u306F --wait \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usageOf(doc,"ai-review","run"));return void 0}if(timeout!==void 0&&timeout>WAIT_MAX_SECONDS){throw new UsageError(`--timeout \u306F ${WAIT_MAX_SECONDS} \u79D2\u4EE5\u4E0B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u305D\u308C\u3088\u308A\u9577\u304F\u5F85\u3064\u306A\u3089 --wait \u3092\u5916\u3057\u3001\u3042\u3068\u3067 twp ${doc.
6
+ var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",segment:"estimates"};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",segment:"invoices"};var CONTRACT={name:"contract",label:"\u53D6\u5F15\u5951\u7D04",segment:"contracts"};var JUDGMENTS={no_issue:"\u78BA\u8A8D\u3057\u305F\u304C\u554F\u984C\u306A\u3044\u3068\u5224\u65AD\u3057\u305F",corrected:"\u6307\u6458\u3092\u53D7\u3051\u3066\u66F8\u985E\u3092\u4FEE\u6B63\u3057\u305F",not_applicable:"\u3053\u306E\u6848\u4EF6\u306B\u306F\u5F53\u3066\u306F\u307E\u3089\u306A\u3044\u6307\u6458\u3060\u3068\u5224\u65AD\u3057\u305F",
7
+ customer_agreed:"\u304A\u5BA2\u69D8\u3068\u500B\u5225\u306B\u8ABF\u6574\u3057\u5408\u610F\u6E08\u307F"};var AGREED_JUDGMENT="customer_agreed";var AGREED_WITH_MAX_CHARS=100;var REASON_MAX_CHARS=2e3;var LABEL_MAX_CHARS=255;var CRITERION_RE=/^[A-Za-z0-9_.:-]{1,128}$/;var MAX_REASONS=20;var DRAFT_MAX_CHARS=8e3;var TARGET_PREFIX="checklists/";var DEFAULT_TARGET="checklists/quality/estimation-billing-integrity-check.md";var WAIT_POLL_INTERVAL_MS=5e3;var WAIT_DEFAULT_SECONDS=300;var WAIT_MAX_SECONDS=540;
8
+ var IN_FLIGHT=new Set(["pending","processing"]);var sleep=ms=>new Promise(resolve=>setTimeout(resolve,ms));function refusedBeforeSending(err){return err instanceof ApiError&&err.status>=400&&err.status<500||err instanceof NotLoggedInError||err instanceof SessionExpiredError}async function trimmedBody(input,spec){const text=await readBody(input,{...spec,maxChars:spec.maxChars+1e3});if(text===void 0)return void 0;const length=charCount(text.trim());if(length>spec.maxChars)throw new UsageError(`${spec.
9
+ label}\u306F ${spec.maxChars.toLocaleString()} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${length.toLocaleString()} \u6587\u5B57\uFF09`,spec.usage);return text}function usageOf(doc,resource,op){return`twp ${doc.name} ${resource} ${op} help`}function numericDocumentId(raw,doc,usage,what){const id=raw.trim();if(id==="")throw new UsageError(`${doc.label}\u306E ID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!isExactNumericId(id)){throw new UsageError(`${doc.label}\u306E\
10
+ ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${doc.label}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`)}return id}function reviewPath(input,doc,op){const usage=usageOf(doc,"ai-review",op);if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,usage);const id=numericDocumentId(input.
11
+ args[0]??"",doc,usage,"\u4F4D\u7F6E\u5F15\u6570");return`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`}function reasonTarget(input,doc,op){const usage=usageOf(doc,"ai-review-reason",op);if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}\uFF08${doc.label}\u306F --${doc.name} \u3067\u6E21\u3057\u307E\u3059\uFF09`,usage);const criterion=input.args[0]?.trim()??"";if(criterion==="")throw new UsageError(
12
+ "\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`twp ${doc.name} ai-review get <${doc.label}ID> \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\u3002`);if(!CRITERION_RE.test(criterion)||/^\.+$/.test(criterion)){throw new UsageError(`\u6307\u6458\u306E ID \u306F\u82F1\u6570\u5B57\u3068 _ . : - \u3060\u3051\u30FB128 \u6587\u5B57\u307E\u3067\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${criterion}`,usage)}const id=numericDocumentId(
13
+ input.flags.get(`--${doc.name}`)??"",doc,usage,` --${doc.name}`);const base=`${SALES_PATH}/${doc.segment}/${encodeURIComponent(id)}/ai-review`;return{reviewPath:base,reasonPath:`${base}/reasons/${encodeURIComponent(criterion)}`,criterion}}function envelope(body,what){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
14
+ return body}function withoutResult(body){return Object.fromEntries(Object.entries(body).filter(([key])=>key!=="result"))}function reviewOf(body,what){const review=body["review"];if(review===null)return null;if(!isRecord(review)||typeof review["status"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B review.status \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return review}function checksOf(review){
15
+ const checks=review?.["checks"];return Array.isArray(checks)?checks.filter(isRecord):[]}function checkCounts(review){const checks=checksOf(review);return`\u78BA\u8A8D\u3057\u305F\u89B3\u70B9 ${checks.length} \u4EF6\uFF08\u3046\u3061\u8B66\u544A ${checks.filter(check=>check["severity"]==="warning").length} \u4EF6\uFF09`}function reasonsMap(body){return isRecord(body["reasons"])?body["reasons"]:{}}function hasReferencedReason(check){return isRecord(check["referenced_reason"])}var CHECK_COLUMNS=["c\
16
+ riterion_id","label","severity","referenced_reason","reason_judgment","message"];function checkRows(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const reasons=reasonsMap(data);return checksOf(reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).map(check=>{const criterion=typeof check["criterion_id"]==="string"?check["criterion_id"]:null;const reason=criterion!==null?reasons[criterion]:void 0;return{...pick(check,["criterion_id","label","severity"]),referenced_reason:hasReferencedReason(
17
+ check),reason_judgment:isRecord(reason)?reason["judgment"]??null:null,message:check["message"]??null}})}function reviewRaw(body){const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");return withoutResult(data)}function statusNotes(doc,id,review){if(review===null)return[`\u307E\u3060\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3057\u3066\u3044\u307E\u305B\u3093\uFF08twp ${doc.name} ai-review run ${id}\
18
+ --yes \u3067\u5B9F\u884C\u3067\u304D\u307E\u3059\uFF09`];const status=review["status"];if(IN_FLIGHT.has(String(status))){return[`\u751F\u6210\u4E2D\u3067\u3059\uFF08status=${String(status)}\uFF09\u3002twp ${doc.name} ai-review get ${id} \u3067\u7D50\u679C\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF08run \u306B --wait \u3092\u4ED8\u3051\u308B\u3068\u5B8C\u4E86\u307E\u3067\u5F85\u3061\u307E\u3059\uFF09`]}if(status==="failed")return[`\u524D\u56DE\u306E\u751F\u6210\u306F\u5931\u6557\u3057\u307E\u3057\u305F\uFF08status=failed\uFF09\u3002twp ${doc.
19
+ name} ai-review run ${id} --yes \u3067\u518D\u5B9F\u884C\u3067\u304D\u307E\u3059`];return[]}function getNotes(doc){return(body,input)=>{const data=envelope(body,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF");const id=input.args[0]?.trim()??"<ID>";const notes=statusNotes(doc,id,review);if(review!==null&&review["status"]==="completed"){if(typeof review["summary"]==="string"&&review["summary"]!=="")notes.push(`\u8981\u7D04: ${review["\
20
+ summary"]}`);notes.push(`${checkCounts(review)}\u3002\u751F\u6210\u65E5\u6642 ${String(review["generated_at"]??"\u4E0D\u660E")}`)}if(data["stale"]===true)notes.push(`\u3053\u306E\u7D50\u679C\u306F${doc.label}\u306E\u4FDD\u5B58\u3088\u308A\u524D\u306E\u3082\u306E\u3067\u3059\uFF08\u5185\u5BB9\u304C\u5909\u308F\u3063\u3066\u3044\u307E\u3059\uFF09\u3002\u627F\u8A8D\u7533\u8ACB\u306E\u524D\u306B\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044`);if(data["reason_editable"]===false){notes.push(data["\
21
+ reason_lock_reason"]==="approved"?"\u627F\u8A8D\u6E08\u307F\u306E\u305F\u3081\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306F\u5909\u66F4\u3067\u304D\u307E\u305B\u3093":"\u627F\u8A8D\u5F85\u3061\u306E\u9593\u306F\u3001\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09")}notes.push("\u6307\u6458\u306E\u672C\u6587\u30FB\u5185\u8A33\uFF08details\uFF09\u30FB\u7406\u7531\u306E\u5168\u6587\u306F --output json \u3067\u51FA\u307E\u3059");
22
+ return notes}}var WAIT_FLAG={name:"--wait",summary:"\u751F\u6210\u304C\u7D42\u308F\u308B\uFF08completed / failed\uFF09\u307E\u3067\u5F85\u3064",takesValue:false};var TIMEOUT_FLAG={name:"--timeout",summary:`--wait \u3067\u5F85\u3064\u4E0A\u9650\u306E\u79D2\u6570\uFF08\u65E2\u5B9A ${WAIT_DEFAULT_SECONDS}\u30FB\u6700\u5927 ${WAIT_MAX_SECONDS}\uFF09`,takesValue:true,placeholder:"<\u79D2>"};function waitSeconds(input,doc){const timeout=positiveInteger(input.flags,TIMEOUT_FLAG.name);if(!input.flags.has(
23
+ WAIT_FLAG.name)){if(timeout!==void 0)throw new UsageError("--timeout \u306F --wait \u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usageOf(doc,"ai-review","run"));return void 0}if(timeout!==void 0&&timeout>WAIT_MAX_SECONDS){throw new UsageError(`--timeout \u306F ${WAIT_MAX_SECONDS} \u79D2\u4EE5\u4E0B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u305D\u308C\u3088\u308A\u9577\u304F\u5F85\u3064\u306A\u3089 --wait \u3092\u5916\u3057\u3001\u3042\u3068\u3067 twp ${doc.
23
24
  name} ai-review get \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\uFF09`,usageOf(doc,"ai-review","run"))}return timeout??WAIT_DEFAULT_SECONDS}function runPlan(doc){return input=>{waitSeconds(input,doc);return{method:"POST",path:reviewPath(input,doc,"run")}}}function runExecute(doc){return async(input,ctx)=>{const plan=runPlan(doc)(input);const id=input.args[0]?.trim()??"";const getHint=`twp ${doc.name} ai-review get ${id}`;let started;try{started=await ctx.send(plan)}catch(err){if(!refusedBeforeSending(
24
25
  err))ctx.warn(`\u5B9F\u884C\u306E\u7D50\u679C\u3092\u53D7\u3051\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30B5\u30FC\u30D0\u3067\u53D7\u3051\u4ED8\u3051\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u6253\u3061\u76F4\u3059\u524D\u306B ${getHint} \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`);throw err}const data=envelope(started,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");const review=reviewOf(data,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u5B9F\u884C");
25
26
  const seconds=waitSeconds(input,doc);if(seconds===void 0||review===null||!IN_FLIGHT.has(String(review["status"]))){return data}const deadline=Date.now()+seconds*1e3;const getPlan={method:"GET",path:plan.path};ctx.warn(`\u751F\u6210\u306E\u5B8C\u4E86\u3092\u5F85\u3061\u307E\u3059\uFF08${WAIT_POLL_INTERVAL_MS/1e3} \u79D2\u304A\u304D\u30FB\u6700\u5927 ${seconds} \u79D2\uFF09\u3002`);for(;;){await sleep(WAIT_POLL_INTERVAL_MS);let latest;try{latest=reviewOf(envelope(await ctx.send(getPlan),"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF"),
@@ -44,21 +45,26 @@ reason_judgment \u306F\u305D\u306E\u89B3\u70B9\u306B\u6DFB\u3048\u305F\u78BA\u8A
44
45
  referenced_reason \u306F\u540C\u3058\u53D6\u5F15\u5148\u3067\u904E\u53BB\u306B\u627F\u8A8D\u3055\u308C\u305F\u540C\u3058\u89B3\u70B9\u306E\u5224\u65AD\u304C\u53C2\u8003\u3068\u3057\u3066\u6DFB\u3048\u3089\u308C\u3066\u3044\u308B\u304B\uFF08true/false\uFF09\u3067\u3059\u3002\u8B66\u544A\u306F\u6D88\u3048\u307E\u305B\u3093\u3002
45
46
  \u7406\u7531\u3092\u6DFB\u3048\u308B\u306E\u306F twp ${doc.name} ai-review-reason update <criterion_id> --${doc.name} <${doc.label}ID> \u3067\u3059\u3002`,flags:[],forbidden:documentForbidden,plan:input=>({method:"GET",path:reviewPath(input,doc,"get")}),summarize:checkRows,raw:reviewRaw,notes:getNotes(doc)}]}}function documentFlag(doc){return{name:`--${doc.name}`,summary:`${doc.label}\u306E ID\uFF08twp ${doc.name} list \u306E id \u5217\u306E\u6570\u5B57\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:`\
46
47
  <${doc.label}ID>`}}var JUDGMENT_FLAG={name:"--judgment",summary:`\u5224\u65AD\uFF08${Object.keys(JUDGMENTS).join(" / ")}\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u5224\u65AD>"};var REASON_FLAGS=[JUDGMENT_FLAG,{name:"--text",summary:`\u7406\u7531\u306E\u672C\u6587\uFF08${REASON_MAX_CHARS.toLocaleString()} \u6587\u5B57\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u7406\u7531>"},{name:"--text-file",summary:"\u7406\u7531\u306E\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
47
- takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--label",summary:"\u8A18\u9332\u306B\u6B8B\u3059\u6307\u6458\u306E\u30E9\u30D9\u30EB\uFF08\u7701\u7565\u6642\u306F\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u304B\u3089\u88DC\u3046\uFF09",takesValue:true,placeholder:"<\u30E9\u30D9\u30EB>"}];function judgmentOf(input,doc){const raw=nonEmpty(input.flags,JUDGMENT_FLAG.name)?.trim();const list=Object.entries(JUDGMENTS).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join("\
48
- / ");if(raw===void 0)throw new UsageError(`--judgment \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${list}`,usageOf(doc,"ai-review-reason","update"));if(!Object.hasOwn(JUDGMENTS,raw))throw new UsageError(`--judgment \u306F ${list} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(doc,"ai-review-reason","update"));return raw}function truncateChars(text,max){const chars=[...text];return chars.length<=max?text:chars.slice(0,max).join("")}function prepareReason(doc){
49
- return async(input,ctx)=>{const usage=usageOf(doc,"ai-review-reason","update");const target=reasonTarget(input,doc,"update");const judgment=judgmentOf(input,doc);const text=await trimmedBody(input,{flag:"--text",fileFlag:"--text-file",label:"\u7406\u7531",maxChars:REASON_MAX_CHARS,usage});if(text===void 0||text.trim()==="")throw new UsageError("\u7406\u7531\u3092 --text <\u672C\u6587> \u304B --text-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const explicit=nonEmpty(
50
- input.flags,"--label");if(explicit!==void 0&&charCount(explicit.trim())>LABEL_MAX_CHARS){throw new UsageError(`--label \u306F ${LABEL_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${charCount(explicit.trim())} \u6587\u5B57\uFF09`,usage)}const current=await ctx.resolver.salesJson(target.reviewPath,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C");const check=checksOf(reviewOf(current,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).find(row=>row["criterion_id"]===target.criterion);
51
- const label=explicit??(typeof check?.["label"]==="string"?truncateChars(check["label"],LABEL_MAX_CHARS):void 0);return withResolved(input,{judgment,text,missing:check===void 0?"1":"0",...label===void 0||label===""?{}:{label}})}}function reasonPlan(doc){return input=>({method:"PUT",path:reasonTarget(input,doc,"update").reasonPath,body:{judgment:requireResolved(input,"judgment"),reason:requireResolved(input,"text"),criterion_label:input.resolved?.["label"]??null}})}function reasonPlannedNotes(doc){
52
- return input=>input.resolved?.["missing"]==="1"?[`\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u306B\u6307\u6458 ${input.args[0]?.trim()??""} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u7406\u7531\u306F\u4FDD\u5B58\u3055\u308C\u307E\u3059\u304C\u3001\u305D\u306E\u6307\u6458\u304C\u51FA\u308B\u307E\u3067\u753B\u9762\u306B\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\uFF08\u6307\u6458 ID \u306F twp ${doc.name} ai-review get \u306E criterion_id \u5217\u3067\u3059\uFF09`]:[]}
53
- function reasonOf(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58");if(!isRecord(data["reason"]))throw new ApiResponseError("\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58\u306E\u5FDC\u7B54\u306B reason \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data["reason"]}function deleteAck(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u53D6\u6D88");
54
- return{result:data["result"]}}function aiReviewReasonResource(doc){const flag=documentFlag(doc);return{name:"ai-review-reason",summary:`${doc.label}\u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u6307\u6458\u306B\u6DFB\u3048\u308B\u300C\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u300D\uFF08\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u53D6\u6D88\uFF09`,operations:[{name:"update",summary:"\u6307\u64581\u4EF6\u306B\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u6DFB\u3048\u308B\uFF08\u3042\u308C\u3070\u66F8\u304D\u63DB\u3048\u308B\uFF09",
55
- usage:`twp ${doc.name} ai-review-reason update <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --judgment <\u5224\u65AD> (--text <\u7406\u7531> | --text-file <\u30D1\u30B9>) [--label <\u30E9\u30D9\u30EB>]`,description:`PUT ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u753B\u9762\u306E\u6307\u6458\u306E\u300C\u7406\u7531\u3092\u8A18\u9332\u300D\u3068\u540C\u3058\u3067\u3059\u3002
48
+ takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--label",summary:"\u8A18\u9332\u306B\u6B8B\u3059\u6307\u6458\u306E\u30E9\u30D9\u30EB\uFF08\u7701\u7565\u6642\u306F\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u304B\u3089\u88DC\u3046\uFF09",takesValue:true,placeholder:"<\u30E9\u30D9\u30EB>"},{name:"--agreed-with",summary:`\u8ABF\u6574\u3057\u305F\u76F8\u624B\uFF08\u304A\u5BA2\u69D8\u306E\u62C5\u5F53\u8005\u540D\u30FB${AGREED_WITH_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3002--judgment ${AGREED_JUDGMENT}\
49
+ \u306E\u3068\u304D\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u76F8\u624B>"},{name:"--agreed-on",summary:`\u8ABF\u6574\u3057\u305F\u65E5\uFF08YYYY-MM-DD\u3002--judgment ${AGREED_JUDGMENT} \u306E\u3068\u304D\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u65E5\u4ED8>"}];function agreementOf(input,doc,judgment){const usage=usageOf(doc,"ai-review-reason","update");const withRaw=nonEmpty(input.flags,"--agreed-with")?.trim();const onRaw=nonEmpty(input.flags,"--agreed-on")?.trim();if(judgment!==
50
+ AGREED_JUDGMENT){if(withRaw!==void 0||onRaw!==void 0){throw new UsageError(`--agreed-with / --agreed-on \u306F --judgment ${AGREED_JUDGMENT} \u306E\u3068\u304D\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059`,usage)}return void 0}if(withRaw===void 0||withRaw===""||onRaw===void 0||onRaw===""){throw new UsageError(`--judgment ${AGREED_JUDGMENT} \u306B\u306F --agreed-with <\u76F8\u624B> \u3068 --agreed-on <YYYY-MM-DD> \u304C\u5FC5\u8981\u3067\u3059`,usage)}if(charCount(withRaw)>AGREED_WITH_MAX_CHARS){
51
+ throw new UsageError(`--agreed-with \u306F ${AGREED_WITH_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${charCount(withRaw)} \u6587\u5B57\uFF09`,usage)}if(!/^\d{4}-\d{2}-\d{2}$/.test(onRaw)||Number.isNaN(Date.parse(`${onRaw}T00:00:00Z`))){throw new UsageError(`--agreed-on \u306F YYYY-MM-DD \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${onRaw}`,usage)}return{with:withRaw,on:onRaw}}function judgmentOf(input,doc){const raw=nonEmpty(input.flags,JUDGMENT_FLAG.name)?.trim();const list=Object.
52
+ entries(JUDGMENTS).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ");if(raw===void 0)throw new UsageError(`--judgment \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${list}`,usageOf(doc,"ai-review-reason","update"));if(!Object.hasOwn(JUDGMENTS,raw))throw new UsageError(`--judgment \u306F ${list} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(doc,"ai-review-reason","update"));return raw}function truncateChars(text,max){const chars=[
53
+ ...text];return chars.length<=max?text:chars.slice(0,max).join("")}function prepareReason(doc){return async(input,ctx)=>{const usage=usageOf(doc,"ai-review-reason","update");const target=reasonTarget(input,doc,"update");const judgment=judgmentOf(input,doc);const agreement=agreementOf(input,doc,judgment);const text=await trimmedBody(input,{flag:"--text",fileFlag:"--text-file",label:"\u7406\u7531",maxChars:REASON_MAX_CHARS,usage});if(text===void 0||text.trim()==="")throw new UsageError("\u7406\u7531\u3092 --text\
54
+ <\u672C\u6587> \u304B --text-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const explicit=nonEmpty(input.flags,"--label");if(explicit!==void 0&&charCount(explicit.trim())>LABEL_MAX_CHARS){throw new UsageError(`--label \u306F ${LABEL_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${charCount(explicit.trim())} \u6587\u5B57\uFF09`,usage)}const current=await ctx.resolver.salesJson(target.reviewPath,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u7D50\u679C");
55
+ const check=checksOf(reviewOf(current,"\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF")).find(row=>row["criterion_id"]===target.criterion);const label=explicit??(typeof check?.["label"]==="string"?truncateChars(check["label"],LABEL_MAX_CHARS):void 0);return withResolved(input,{judgment,text,missing:check===void 0?"1":"0",...label===void 0||label===""?{}:{label},...agreement===void 0?{}:{agreed_with:agreement.with,agreed_on:agreement.on}})}}function reasonPlan(doc){return input=>({method:"PUT",path:reasonTarget(
56
+ input,doc,"update").reasonPath,body:{judgment:requireResolved(input,"judgment"),reason:requireResolved(input,"text"),criterion_label:input.resolved?.["label"]??null,...input.resolved?.["agreed_with"]===void 0?{}:{agreed_with:input.resolved["agreed_with"],agreed_on:input.resolved["agreed_on"]??null}}})}function reasonPlannedNotes(doc){return input=>input.resolved?.["missing"]==="1"?[`\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u306B\u6307\u6458 ${input.args[0]?.trim()??""} \
57
+ \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u7406\u7531\u306F\u4FDD\u5B58\u3055\u308C\u307E\u3059\u304C\u3001\u305D\u306E\u6307\u6458\u304C\u51FA\u308B\u307E\u3067\u753B\u9762\u306B\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\uFF08\u6307\u6458 ID \u306F twp ${doc.name} ai-review get \u306E criterion_id \u5217\u3067\u3059\uFF09`]:[]}function reasonOf(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58");if(!isRecord(data["reason"]))throw new ApiResponseError(
58
+ "\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u4FDD\u5B58\u306E\u5FDC\u7B54\u306B reason \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return data["reason"]}function deleteAck(body){const data=envelope(body,"\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u306E\u53D6\u6D88");return{result:data["result"]}}function aiReviewReasonResource(doc){const flag=documentFlag(doc);return{name:"ai-review-reason",summary:`${doc.label}\
59
+ \u306E\u7533\u8ACB\u524DAI\u30C1\u30A7\u30C3\u30AF\u306E\u6307\u6458\u306B\u6DFB\u3048\u308B\u300C\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u300D\uFF08\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u53D6\u6D88\uFF09`,operations:[{name:"update",summary:"\u6307\u64581\u4EF6\u306B\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u6DFB\u3048\u308B\uFF08\u3042\u308C\u3070\u66F8\u304D\u63DB\u3048\u308B\uFF09",usage:`twp ${doc.name} ai-review-reason update <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --judgme\
60
+ nt <\u5224\u65AD> (--text <\u7406\u7531> | --text-file <\u30D1\u30B9>) [--label <\u30E9\u30D9\u30EB>] [--agreed-with <\u76F8\u624B> --agreed-on <YYYY-MM-DD>]`,description:`PUT ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u753B\u9762\u306E\u6307\u6458\u306E\u300C\u7406\u7531\u3092\u8A18\u9332\u300D\u3068\u540C\u3058\u3067\u3059\u3002
56
61
  <\u6307\u6458ID> \u306F twp ${doc.name} ai-review get \u306E criterion_id \u5217\u306E\u5024\u3067\u3059\uFF08\u7406\u7531\u306F\u6307\u6458\u306E\u89B3\u70B9\u306B\u4ED8\u304F\u306E\u3067\u3001\u30C1\u30A7\u30C3\u30AF\u3092\u518D\u5B9F\u884C\u3057\u3066\u3082\u6B8B\u308A\u307E\u3059\uFF09\u3002
57
62
  --judgment: ${Object.entries(JUDGMENTS).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}
63
+ ${AGREED_JUDGMENT} \u306E\u3068\u304D\u306F\u8ABF\u6574\u3057\u305F\u76F8\u624B\uFF08--agreed-with\uFF09\u3068\u8ABF\u6574\u3057\u305F\u65E5\uFF08--agreed-on\uFF09\u304C\u5FC5\u9808\u3067\u3059\u3002
58
64
  \u9001\u308B\u524D\u306B\u4FDD\u5B58\u6E08\u307F\u306E\u30C1\u30A7\u30C3\u30AF\u7D50\u679C\u3092\u8AAD\u307F\uFF08--dry-run \u3067\u3082\u8AAD\u307F\u307E\u3059\uFF09\u3001--label \u3092\u7701\u3051\u3070\u305D\u306E\u6307\u6458\u306E\u30E9\u30D9\u30EB\u3092\u88DC\u3044\u307E\u3059\u3002
59
65
  \u7D50\u679C\u306B\u7121\u3044\u6307\u6458 ID \u3067\u3082\u4FDD\u5B58\u306F\u3057\u307E\u3059\u304C\u3001\u305D\u306E\u65E8\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002
60
- \u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u6E08\u307F\u306E\u9593\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09\u3002`,flags:[flag,...REASON_FLAGS],forbidden:documentForbidden,prepare:prepareReason(doc),plan:reasonPlan(doc),plannedNotes:reasonPlannedNotes(doc),summarize:body=>pick(reasonOf(body),["criterion_id","criterion_label","judgment","reason","updated_at"]),raw:reasonOf},{name:"delete",summary:"\
61
- \u6307\u6458\u306B\u6DFB\u3048\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09",usage:`twp ${doc.name} ai-review-reason delete <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --yes`,description:`DELETE ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u7406\u7531\u304C\u7121\u3044\u6307\u6458\u3078\u306E\u53D6\u6D88\u3082\u30B5\u30FC\u30D0\u306F\u6210\u529F\u3092\u8FD4\u3057\u307E\u3059\u3002
66
+ \u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u6E08\u307F\u306E\u9593\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u5DEE\u3057\u623B\u3055\u308C\u308B\u3068\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09\u3002`,flags:[flag,...REASON_FLAGS],forbidden:documentForbidden,prepare:prepareReason(doc),plan:reasonPlan(doc),plannedNotes:reasonPlannedNotes(doc),summarize:body=>pick(reasonOf(body),["criterion_id","criterion_label","judgment","reason","agreed_with","agreed_on","updated_at"]),raw:reasonOf},
67
+ {name:"delete",summary:"\u6307\u6458\u306B\u6DFB\u3048\u305F\u78BA\u8A8D\u6E08\u307F\u306E\u7406\u7531\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09",usage:`twp ${doc.name} ai-review-reason delete <\u6307\u6458ID> --${doc.name} <${doc.label}ID> --yes`,description:`DELETE ${SALES_PATH}/${doc.segment}/{id}/ai-review/reasons/{criterion_id}\u3002\u7406\u7531\u304C\u7121\u3044\u6307\u6458\u3078\u306E\u53D6\u6D88\u3082\u30B5\u30FC\u30D0\u306F\u6210\u529F\u3092\u8FD4\u3057\u307E\u3059\u3002
62
68
  \u627F\u8A8D\u5F85\u3061\u30FB\u627F\u8A8D\u6E08\u307F\u306E\u9593\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002`,destructive:true,flags:[flag],forbidden:documentForbidden,plan:input=>({method:"DELETE",path:reasonTarget(input,doc,"delete").reasonPath}),summarize:deleteAck,raw:deleteAck}]}}var estimateAiReviewResources=[aiReviewResource(ESTIMATE),aiReviewReasonResource(ESTIMATE)];var invoiceAiReviewResources=[aiReviewResource(INVOICE),aiReviewReasonResource(INVOICE)];var contractAiReviewResources=[
63
69
  aiReviewResource(CONTRACT),aiReviewReasonResource(CONTRACT)];function readPageCursor(body){const pagination=isRecord(body)&&isRecord(body["pagination"])?body["pagination"]:void 0;if(pagination===void 0)return{hasMore:"pagination \u304C\u7121\u3044\u5FDC\u7B54",cursor:void 0};const hasMore=pagination["has_more"];const page=pagination["page"];if(hasMore!==true)return{hasMore,cursor:null};return{hasMore,cursor:Number.isInteger(page)?String(page+1):void 0}}var LIST_COLUMNS=["id","document_type","doc\
64
70
  ument_no","company_name","criterion_id","judgment","knowledge_pr_number","created_at"];var REASON_LIST_FLAGS=[{name:"--customer",summary:"\u53D6\u5F15\u5148\u3067\u7D5E\u308B\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,placeholder:"<\u53D6\u5F15\u5148>"},{name:"--criterion",summary:"\u6307\u6458\u306E ID\uFF08criterion_id\uFF09\u3067\u7D5E\u308B",takesValue:true,placeholder:"<\u6307\u6458ID>"},...PAGE_NUMBER_LIST_FLAGS];async function prepareList(input,ctx){const customer=nonEmpty(input.flags,
@@ -1,13 +1,13 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- var LOADERS={agent:async()=>(await import("./agent-HIZOEXPJ.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-PCSEEC5I.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-NVOUC3FC.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-J6DYNA53.js")).analysisDomain,announcement:async()=>(await import("./announcement-2GTF3KDU.js")).announcementDomain,"api-key":async()=>(await import("./api-key-MMQ3AN7V.js")).apiKeyDomain,attendance:async()=>(await import("./attendance-correct-SIS5UGMY.js")).
3
+ var LOADERS={agent:async()=>(await import("./agent-HIZOEXPJ.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-PCSEEC5I.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-UVBASAA4.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-J6DYNA53.js")).analysisDomain,announcement:async()=>(await import("./announcement-2GTF3KDU.js")).announcementDomain,"api-key":async()=>(await import("./api-key-MMQ3AN7V.js")).apiKeyDomain,attendance:async()=>(await import("./attendance-correct-SIS5UGMY.js")).
4
4
  attendanceDomainWithRecords,"audit-log":async()=>(await import("./audit-log-ZGK7IVLD.js")).auditLogDomain,backlog:async()=>(await import("./backlog-UC5BLMGR.js")).backlogDomain,budget:async()=>(await import("./budget-KBD7M3BQ.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-37MRL53C.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-BOR7D5QK.js")).businessPlaceDomain,company:async()=>(await import("./company-FKHXNP5D.js")).companyDomain,
5
- contract:async()=>(await import("./contract-YYGKQ3AJ.js")).contractDomain,customer:async()=>(await import("./company-FKHXNP5D.js")).customerDomain,department:async()=>(await import("./department-C35IWGFL.js")).departmentDomain,deposit:async()=>(await import("./deposit-DJ4JDEFB.js")).depositDomain,estimate:async()=>(await import("./estimate-5JIENI2G.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-QOEV2VNV.js")).evaluationDomain,expense:async()=>(await import("./expense-J3CMLOAV.js")).
6
- expenseDomain,faq:async()=>(await import("./faq-HPBYZLNO.js")).faqDomain,"fiscal-year":async()=>(await import("./fiscal-year-ZCRHTUSK.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-R6WLLRIS.js")).holidayDomain,"goal-sheet":async()=>(await import("./evaluation-QOEV2VNV.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-LYBQYPXK.js")).inquiryDomain,invoice:async()=>(await import("./invoice-BMBKXDES.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-EQBDT5QY.js")).
7
- jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-SX2U3G2T.js")).knowledgeDomain,leave:async()=>(await import("./leave-HVOP77HO.js")).leaveDomain,license:async()=>(await import("./license-4GY3UVML.js")).licenseDomain,"login-history":async()=>(await import("./login-history-WZ3RYFAB.js")).loginHistoryDomain,media:async()=>(await import("./media-VPIMG4DF.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YNWUVXDF.js")).meetingDomain,note:async()=>(await import("./knowledge-YNWUVXDF.js")).
5
+ contract:async()=>(await import("./contract-ZV2OSNVO.js")).contractDomain,customer:async()=>(await import("./company-FKHXNP5D.js")).customerDomain,department:async()=>(await import("./department-C35IWGFL.js")).departmentDomain,deposit:async()=>(await import("./deposit-DJ4JDEFB.js")).depositDomain,estimate:async()=>(await import("./estimate-VQQIBYXN.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-QOEV2VNV.js")).evaluationDomain,expense:async()=>(await import("./expense-J3CMLOAV.js")).
6
+ expenseDomain,faq:async()=>(await import("./faq-HPBYZLNO.js")).faqDomain,"fiscal-year":async()=>(await import("./fiscal-year-ZCRHTUSK.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-R6WLLRIS.js")).holidayDomain,"goal-sheet":async()=>(await import("./evaluation-QOEV2VNV.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-LYBQYPXK.js")).inquiryDomain,invoice:async()=>(await import("./invoice-MJD6ZV3U.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-EQBDT5QY.js")).
7
+ jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-SX2U3G2T.js")).knowledgeDomain,leave:async()=>(await import("./leave-WILMBPAW.js")).leaveDomain,license:async()=>(await import("./license-4GY3UVML.js")).licenseDomain,"login-history":async()=>(await import("./login-history-WZ3RYFAB.js")).loginHistoryDomain,media:async()=>(await import("./media-7MKIZY5N.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YNWUVXDF.js")).meetingDomain,note:async()=>(await import("./knowledge-YNWUVXDF.js")).
8
8
  noteDomain,notification:async()=>(await import("./notification-VMTIJ5N3.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-DLEA27PZ.js")).outlookDomain,payee:async()=>(await import("./sales-master-BOR7D5QK.js")).payeeDomain,position:async()=>(await import("./position-J6TOE5KO.js")).positionDomain,project:async()=>(await import("./project-IV5M2SLT.js")).projectDomain,prospect:async()=>(await import("./prospect-LSNBOVFF.js")).
9
9
  prospectDomain,purchase:async()=>(await import("./purchase-K75TDCCD.js")).purchaseDomain,qualification:async()=>(await import("./skill-KNJGR57V.js")).qualificationDomain,receivable:async()=>(await import("./receivable-X7BEQOJF.js")).receivableDomain,redmine:async()=>(await import("./redmine-A5LDGTPW.js")).redmineDomain,report:async()=>(await import("./report-KDOXKFPP.js")).reportDomain,"role-template":async()=>(await import("./evaluation-QOEV2VNV.js")).roleTemplateDomain,"rou\
10
10
  nding-setting":async()=>(await import("./sales-numbering-O5RAC5TI.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-BOR7D5QK.js")).sealImpressionDomain,search:async()=>(await import("./search-AHFUN2XY.js")).searchDomain,secret:async()=>(await import("./secret-P42JCOI4.js")).secretDomain,segment:async()=>(await import("./segment-G3G6B26B.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-O6T2Q42G.js")).shiftDomain,skill:async()=>(await import("./skill-KNJGR57V.js")).
11
11
  skillDomain,"staffing-board":async()=>(await import("./staffing-board-COZL36UA.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-VJXT64KQ.js")).supplierPaymentDomain,support:async()=>(await import("./support-6FJE2ZIO.js")).supportDomain,task:async()=>(await import("./task-XDUZUVLH.js")).taskDomain,teams:async()=>(await import("./teams-3ZI6ZY3F.js")).teamsDomain,user:async()=>(await import("./user-4OBXVB32.js")).
12
- userDomain,"user-contract-type":async()=>(await import("./user-contract-type-HTUDQQZN.js")).userContractTypeDomain,"user-group":async()=>(await import("./user-group-7ZXNZDOQ.js")).userGroupDomain,wiki:async()=>(await import("./knowledge-YNWUVXDF.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-O6T2Q42G.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-JNXY7UQD.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-TTZMWW2K.js")).workflowDomain};
12
+ userDomain,"user-contract-type":async()=>(await import("./user-contract-type-HTUDQQZN.js")).userContractTypeDomain,"user-group":async()=>(await import("./user-group-7ZXNZDOQ.js")).userGroupDomain,wiki:async()=>(await import("./knowledge-YNWUVXDF.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-O6T2Q42G.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-JNXY7UQD.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-NXUURO6B.js")).workflowDomain};
13
13
  async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-QPJAVKNS.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-P4QSPSOQ.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-FW2AZBFR.js";
3
+ import{loadDomain}from"./chunk-IPAE6AJ4.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-P4QSPSOQ.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-FW2AZBFR.js";
4
4
  import{ResolveError}from"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";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";
5
5
  import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredBacklogSpace,resolveConfiguredOutput,resolveProfile}from"./chunk-EDF4U5BT.js";import{HELP_TOKEN}from"./chunk-6FI4ZMZ7.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-RKBUJKI5.js";import{stringWidth}from"./chunk-UREA4ZIG.js";
6
6
  import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";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?"":`
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CRITERION_RE,checkCounts,checksOf,envelope,hasReferencedReason,reasonsMap,reviewOf,withoutResult}from"./chunk-B3FLGOKJ.js";import{readBody}from"./chunk-HEH3PUW2.js";import{WORKFLOWS_PATH}from"./chunk-FW2AZBFR.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{CRITERION_RE,checkCounts,checksOf,envelope,hasReferencedReason,reasonsMap,reviewOf,withoutResult}from"./chunk-42GJLJ4O.js";import{readBody}from"./chunk-HEH3PUW2.js";import{WORKFLOWS_PATH}from"./chunk-FW2AZBFR.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;var COMMENT_MAX_CHARS=2e3;var IN_FLIGHT=new Set(["pending","processing"]);var GET_USAGE="twp workflow ai-review get <\u7533\u8ACBID>";var UPDATE_USAGE="twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID> (--text <\u672C\u6587> | --text-file <\u30D1\u30B9>)";var DELETE_USAGE="twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID> --yes";function instanceUuid(raw,usage,what){const id=raw?.trim()??
5
5
  "";if(id==="")throw new UsageError(`\u7533\u8ACBID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!UUID_RE.test(id))throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${usage}
6
6
  \u7533\u8ACBID \u306F twp workflow approval pending \u306E id \u5217\u3067\u3059\u3002`);return id}function workflowReviewPath(instanceId){return`${INSTANCES_PATH}/${encodeURIComponent(instanceId)}/ai-review`}function reviewTarget(input){if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,GET_USAGE);return workflowReviewPath(instanceUuid(input.args[0],GET_USAGE,"\u4F4D\u7F6E\u5F15\u6570"))}function commentTarget(input,usage){
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-KIZIRVW6.js";import{parseArgv,quietFromEnv}from"./chunk-T4TVFQ5R.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-AH4KHEAC.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.105.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-KIZIRVW6.js";import{parseArgv,quietFromEnv}from"./chunk-T4TVFQ5R.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-AH4KHEAC.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.106.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
@@ -1571,16 +1571,16 @@ TUI \u5185:
1571
1571
  \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
1572
1572
  `;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
1573
1573
  `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-26OZDLQ7.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-DN2XKSJ2.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1574
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-N2JPCORW.js"),import("./config-XYWRBIC6.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-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-BJGPASNG.js");process.exitCode=
1574
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-D5MM2M6X.js"),import("./config-XYWRBIC6.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-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-BJGPASNG.js");process.exitCode=
1575
1575
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1576
1576
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-ZWCEVLKZ.js");process.stderr.write(MOVED_QUEUE_COMMAND_MESSAGE);process.exitCode=2;return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${formatUnknownArgs(args.unknown)}
1577
1577
 
1578
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){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-EMRRYXVR.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1579
- {},argv:args.domainArgv,help:args.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,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-RQKLTLP4.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,
1578
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){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-Z7IMCRYN.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1579
+ {},argv:args.domainArgv,help:args.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,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-2EI3JC43.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,
1580
1580
  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,quiet:args.quiet||quietFromEnv(process.env)},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-QGM225Q7.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.
1581
1581
  command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-F665OECQ.js");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}
1582
1582
  if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-YEPYIQ54.js");process.exitCode=await runTaskLoop({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,
1583
1583
  scheduleOp:args.scheduleOp,scheduleConfigOp:args.scheduleConfigOp,scheduleId:args.scheduleId,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,orientationOp:args.orientationOp,orientationArgs:args.orientationArgs,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,skillConfig:args.skillConfig,output:args.output,query:args.query,revisionFrom:args.revisionFrom,
1584
1584
  revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,includeStopped:args.includeStopped,runnerOp:args.runnerOp,runnerId:args.runnerTargetId,triggerOp:args.triggerOp,triggerId:args.triggerId,triggerKey:args.triggerKey,triggerLimit:args.triggerLimit,planEmpty:args.planEmpty,planCheck:args.planCheck,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-PQFHGBNR.js");
1585
- process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.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-O44IOVYM.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.
1585
+ process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.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-7ESPF56M.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.
1586
1586
  allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contractAiReviewResources}from"./chunk-B3FLGOKJ.js";import"./chunk-M3T4WSYO.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-OBCTXGDW.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";
3
+ import{contractAiReviewResources}from"./chunk-42GJLJ4O.js";import"./chunk-M3T4WSYO.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-OBCTXGDW.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";
4
4
  import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.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";import"./chunk-XNLIEUAW.js";
5
5
  import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.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){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{estimateCaseDocumentResource}from"./chunk-7ZPTZ6MY.js";import"./chunk-KCCZCHGM.js";import"./chunk-UJOHCZTI.js";import{estimateNoRuleResource}from"./chunk-S7L5S3F4.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{salesAdminForbidden}from"./chunk-JQ4IF7B5.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{estimateAiReviewResources}from"./chunk-B3FLGOKJ.js";
3
+ import{estimateCaseDocumentResource}from"./chunk-7ZPTZ6MY.js";import"./chunk-KCCZCHGM.js";import"./chunk-UJOHCZTI.js";import{estimateNoRuleResource}from"./chunk-S7L5S3F4.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{salesAdminForbidden}from"./chunk-JQ4IF7B5.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{estimateAiReviewResources}from"./chunk-42GJLJ4O.js";
4
4
  import{estimatePdfOperation}from"./chunk-M3T4WSYO.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-OBCTXGDW.js";import"./chunk-KVT4ENGZ.js";import"./chunk-JJSBBWJ5.js";import{charCount,readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,
5
5
  isExactNumericId}from"./chunk-FW2AZBFR.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.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,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
6
6
  ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.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_\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{invoiceNoRuleResource}from"./chunk-S7L5S3F4.js";import"./chunk-JQ4IF7B5.js";import"./chunk-QLENN5DD.js";import{invoiceAiReviewResources}from"./chunk-B3FLGOKJ.js";import{invoicePdfOperation}from"./chunk-M3T4WSYO.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-OBCTXGDW.js";import{booleanText,isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
3
+ import{invoiceNoRuleResource}from"./chunk-S7L5S3F4.js";import"./chunk-JQ4IF7B5.js";import"./chunk-QLENN5DD.js";import{invoiceAiReviewResources}from"./chunk-42GJLJ4O.js";import{invoicePdfOperation}from"./chunk-M3T4WSYO.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-OBCTXGDW.js";import{booleanText,isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
4
4
  import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";
5
5
  import{requireResolved,withResolved}from"./chunk-PS5QFKHB.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-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_INVOICE_AUTO_TEMPLATES_PATH;var HISTORY_SEARCH_PATH="/api/v2/sales/invoice-auto-issue-histories";var FORMATS_PATH="/api/v2/sales/estimate-formats";function adminForbidden(body){return body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u767A\u884C\u5C65\u6B74\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u6271\u3048\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
6
6
  var CONTENT_KEYS=["template_name","estimate_format_id","interval_months","next_issue_date","period_start_date","period_end_date","payment_term_months","payment_term_day","estimate_expiration_months","estimate_expiration_day","order_acceptance_months","order_acceptance_day","invoice_date_months","invoice_date_day","estimate_business_place_id","estimate_seal_impression_id","invoice_business_place_id","invoice_seal_impression_id","company_id","project_id","payee_id","estimate_user_id","invoice_user\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-JDW7E6RR.js";import"./chunk-B3FLGOKJ.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import{assertMonthsOpen}from"./chunk-RQ3YL6V3.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import"./chunk-KVT4ENGZ.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
3
+ import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-YUE3EEMM.js";import"./chunk-42GJLJ4O.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import{assertMonthsOpen}from"./chunk-RQ3YL6V3.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import"./chunk-KVT4ENGZ.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
4
4
  import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import{UUID_RE}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
5
5
  import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_USAGE="twp leave list";var GRANTS_USAGE="twp leave grants [<\u30E6\u30FC\u30B6\u30FC> | --user <\u30E6\u30FC\u30B6\u30FC>]";var USAGE_COLUMNS=["used_date","type_label","days","hours","status_label","reason","is_post_application","id"];var GRANT_COLUMNS=["grant_date","type_label","days","remaining_days","remaining_hours","expiry_date","status_label","reason","id"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.
6
6
  args.join(" ")}`,`twp leave ${operation} help`)}}function summaryBody(body){if(!isRecord(body)||!isRecord(body["summary"])){throw new ApiResponseError("\u6709\u7D66\u30B5\u30DE\u30EA\u306E\u5FDC\u7B54\u306B summary \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function usagesBody(body){if(!isRecord(body)||!Array.isArray(body["usages"])){throw new ApiResponseError("\u6709\u7D66\u306E\u53D6\u5F97\u5C65\u6B74\u306E\u5FDC\u7B54\u306B usages \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{checkOutTarget}from"./chunk-HSGVTHOQ.js";import"./chunk-QPJAVKNS.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import{contentTypeFor,inspectLocalFile}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
3
+ import{checkOutTarget}from"./chunk-MGLNS4PE.js";import"./chunk-IPAE6AJ4.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import{contentTypeFor,inspectLocalFile}from"./chunk-RR6VGVZS.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
4
4
  import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import{collapsesInUrlPath,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,readEnvelopeCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
5
5
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import"./chunk-KIZIRVW6.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-OKATZ4SN.js";import"./chunk-RKBUJKI5.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
6
6
  import"./chunk-VSJBJXZO.js";import crypto2 from"crypto";import fs2 from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var UUID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var FORBIDDEN_NAME=/[/\\:*?"<>|]/;var NAME_MAX=255;var ROW_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","updated_at"];var TRASH_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","deleted_at"];function folderRows(raw){return raw.map(row=>{const id=row["id"];const name=row["name"];const parentId=row["parent_id"];if(typeof id!==
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-QPJAVKNS.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
3
+ import{loadDomain}from"./chunk-IPAE6AJ4.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-HSGVTHOQ.js";import"./chunk-QPJAVKNS.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-MGLNS4PE.js";import"./chunk-IPAE6AJ4.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-P4QSPSOQ.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-KIZIRVW6.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-OKATZ4SN.js";import"./chunk-RKBUJKI5.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
5
5
  import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,hasReferencedReason,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult}from"./chunk-B3FLGOKJ.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";
3
+ import{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,hasReferencedReason,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult}from"./chunk-42GJLJ4O.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";
4
4
  import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,hasReferencedReason,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-JDW7E6RR.js";import"./chunk-B3FLGOKJ.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-YUE3EEMM.js";import"./chunk-42GJLJ4O.js";import"./chunk-M3T4WSYO.js";import"./chunk-OBCTXGDW.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-FW2AZBFR.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-MMVXE2CJ.js";import"./chunk-SBRTBKEZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tocca-systems/twp-cli",
3
- "version": "0.105.0",
3
+ "version": "0.106.0",
4
4
  "description": "TWP CLI — Tocca Working Platform の CLI 型統合インターフェース(AIエージェントハーネス)",
5
5
  "type": "module",
6
6
  "bin": {