@tocca-systems/twp-cli 0.88.0 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.public.md +24 -0
  2. package/README.md +84 -3
  3. package/dist/{agent-SFDNPV24.js → agent-IVJ5DCFU.js} +1 -1
  4. package/dist/analysis-DIWOPBN6.js +5 -0
  5. package/dist/{announcement-XAIC4CNE.js → announcement-KOXBNHSN.js} +1 -1
  6. package/dist/{api-command-XFQUUFDV.js → api-command-OJORMKTD.js} +3 -3
  7. package/dist/{app-M56CCOE7.js → app-V6K6YNWR.js} +4 -4
  8. package/dist/{attendance-correct-CJ3FJSVI.js → attendance-correct-XM26CE65.js} +2 -2
  9. package/dist/{attendance-lists-RRGFCDZR.js → attendance-lists-VNAHH3R4.js} +2 -2
  10. package/dist/{backlog-L5VRYZGM.js → backlog-LCGG5HRB.js} +22 -20
  11. package/dist/budget-OYBU4JFH.js +4 -0
  12. package/dist/{chunk-MUIN7OUW.js → chunk-23MEOBJF.js} +3 -5
  13. package/dist/{chunk-VRJF6JLR.js → chunk-5STCZEOX.js} +1 -1
  14. package/dist/chunk-62GRAKUD.js +38 -0
  15. package/dist/{chunk-XJ5EKWQY.js → chunk-AVOZLZA5.js} +1 -1
  16. package/dist/chunk-C6U2CGX7.js +4 -0
  17. package/dist/{chunk-RTYJWZRA.js → chunk-EGOE26U7.js} +1 -1
  18. package/dist/{chunk-WWDNWWPJ.js → chunk-EQTXWU2Y.js} +1 -1
  19. package/dist/{chunk-QUMDKN3U.js → chunk-EQXJOEOK.js} +1 -1
  20. package/dist/{chunk-Y7QW7MHQ.js → chunk-FCC7JJR5.js} +1 -1
  21. package/dist/chunk-GLOGPK4Y.js +88 -0
  22. package/dist/{chunk-FBVSHQST.js → chunk-H7XVCIL7.js} +1 -1
  23. package/dist/{chunk-QLDKF6GK.js → chunk-IWY2SNST.js} +1 -1
  24. package/dist/{chunk-2AVQILQQ.js → chunk-M36DAHMH.js} +62 -57
  25. package/dist/{chunk-OW23MAVO.js → chunk-M37IYSEG.js} +1 -1
  26. package/dist/{chunk-IWYJSQ5I.js → chunk-M763HXDH.js} +1 -1
  27. package/dist/{chunk-H4CDX4TX.js → chunk-MMVXE2CJ.js} +4 -3
  28. package/dist/{chunk-WDQMYRPE.js → chunk-MPGJU5A7.js} +1 -1
  29. package/dist/{chunk-NMYHFVDR.js → chunk-NYQYDX7G.js} +1 -1
  30. package/dist/{chunk-E4FUHYC6.js → chunk-P673SKUV.js} +33 -14
  31. package/dist/chunk-RACLI3FA.js +8 -0
  32. package/dist/{chunk-GO4KFSBE.js → chunk-T3PYPLTG.js} +106 -23
  33. package/dist/{chunk-LGJPXLMC.js → chunk-T7MUDWUH.js} +1 -1
  34. package/dist/{chunk-RMU72S3D.js → chunk-U2CRCBJ3.js} +1 -1
  35. package/dist/{chunk-4VBSSXGA.js → chunk-U3XIH7WP.js} +1 -1
  36. package/dist/{chunk-M7UEPYUQ.js → chunk-U6KPYJTM.js} +1 -1
  37. package/dist/{chunk-AV7L2IEN.js → chunk-UCPK53K4.js} +1 -1
  38. package/dist/chunk-UVCJXHWN.js +5 -0
  39. package/dist/{chunk-FJEGS55N.js → chunk-VLBWNFQW.js} +1 -1
  40. package/dist/chunk-Y5XM6W3S.js +12 -0
  41. package/dist/{chunk-KPCVSILY.js → chunk-YPS5XHYE.js} +1 -1
  42. package/dist/{chunk-TJNM7PHZ.js → chunk-ZTDDOUS4.js} +5 -5
  43. package/dist/cli.js +77 -12
  44. package/dist/{commands-V7ZBTH7I.js → commands-FOEEAVJQ.js} +1 -1
  45. package/dist/{commands-2GRO356U.js → commands-ULMFP3LH.js} +47 -46
  46. package/dist/{company-TF76Z3U5.js → company-BW3U437C.js} +2 -2
  47. package/dist/{completion-G54M3EFF.js → completion-636S3VU3.js} +1 -1
  48. package/dist/{configure-3JID6MQ5.js → configure-DONZ3M6N.js} +3 -3
  49. package/dist/{contract-CFLPFV4I.js → contract-2MANNVJT.js} +2 -2
  50. package/dist/{department-T22PBYMP.js → department-LT3IM65L.js} +1 -1
  51. package/dist/{deposit-PLQ7WHOX.js → deposit-RYRCQ2U7.js} +1 -1
  52. package/dist/{domain-knowledge-YFY5H6UB.js → domain-knowledge-Q2YMI7I2.js} +1 -1
  53. package/dist/{estimate-DYPQ27KU.js → estimate-MMS326SE.js} +3 -3
  54. package/dist/evaluation-KSZPNKBM.js +122 -0
  55. package/dist/{expense-EA77QGLW.js → expense-J7KGZKLH.js} +1 -1
  56. package/dist/faq-FJUCNBEB.js +68 -0
  57. package/dist/{fiscal-year-YSFASZEW.js → fiscal-year-AFO5CWDN.js} +1 -1
  58. package/dist/{holiday-E5WEZU6J.js → holiday-KF2RVJSU.js} +3 -3
  59. package/dist/{inquiry-LEYPOQWZ.js → inquiry-IAAJYTXP.js} +1 -1
  60. package/dist/{invoice-CAYBEW65.js → invoice-A3X3JF2H.js} +2 -2
  61. package/dist/{job-title-RSDAHHVJ.js → job-title-PF4C6D6U.js} +1 -1
  62. package/dist/{knowledge-GYLFDEXS.js → knowledge-2YF7CJKA.js} +7 -7
  63. package/dist/{leave-IG7SWPPB.js → leave-2JNN3V3D.js} +3 -3
  64. package/dist/{license-I2SL53UI.js → license-MRXITCY7.js} +1 -1
  65. package/dist/{media-TKP7ONY4.js → media-IQ2AIN67.js} +3 -3
  66. package/dist/{notification-IEANIYPD.js → notification-4YXX6H3D.js} +1 -1
  67. package/dist/{onedrive-KWVOUGG6.js → onedrive-Z43D26SJ.js} +1 -1
  68. package/dist/{oneshot-3N2W247J.js → oneshot-ZCGHYKQM.js} +1 -1
  69. package/dist/{outlook-FQYNTXOB.js → outlook-ZRFSKSJ3.js} +1 -1
  70. package/dist/{position-CRVEGXPL.js → position-M2MEJBUK.js} +1 -1
  71. package/dist/project-EF2JKWVC.js +4 -0
  72. package/dist/{prospect-A2YNQ4DE.js → prospect-R6346ME5.js} +2 -2
  73. package/dist/{purchase-F3HUNCJE.js → purchase-XCTYVG4N.js} +3 -3
  74. package/dist/{receivable-K4UKS46G.js → receivable-FVLXVO2S.js} +1 -1
  75. package/dist/{redmine-MC3RIB7W.js → redmine-EUFN35BT.js} +1 -1
  76. package/dist/{registry-FAISFFZY.js → registry-TGKZPLKO.js} +1 -1
  77. package/dist/{report-HUP2TXTK.js → report-6Q3JV4DN.js} +1 -1
  78. package/dist/{run-UH7QKMO3.js → run-3UJFGBQR.js} +2 -2
  79. package/dist/{runner-command-YIAPRXZP.js → runner-command-GN45H7TL.js} +1 -1
  80. package/dist/{sales-ai-review-5BJ3HNP5.js → sales-ai-review-TTWTHKQJ.js} +2 -2
  81. package/dist/{sales-master-DUTB2DUX.js → sales-master-VKS2HENV.js} +2 -2
  82. package/dist/{sales-numbering-WTEFGPOV.js → sales-numbering-W2W57UPY.js} +1 -1
  83. package/dist/{search-3ZPF7X5S.js → search-N45JL2PU.js} +1 -1
  84. package/dist/{segment-ZKJYMOKV.js → segment-3MKCPWT2.js} +1 -1
  85. package/dist/{setup-2KAICJYN.js → setup-ICJPTYKW.js} +1 -1
  86. package/dist/{skill-5NCDQFDN.js → skill-Z3DEECEK.js} +2 -2
  87. package/dist/{skill-check-VNUNX6IO.js → skill-check-3RWESZ4O.js} +1 -1
  88. package/dist/{staffing-board-NWZLXYXJ.js → staffing-board-LWUCHN7P.js} +3 -3
  89. package/dist/{status-command-2FL2SVFR.js → status-command-XOELHUCV.js} +1 -1
  90. package/dist/{supplier-payment-QKWONHRH.js → supplier-payment-AUT2FZBR.js} +2 -2
  91. package/dist/{support-MLNODDQT.js → support-OUQWV5KP.js} +2 -2
  92. package/dist/{task-7RLVDTK2.js → task-7FOEUQJ6.js} +4 -4
  93. package/dist/{teams-X5WBB5YH.js → teams-FOR3O7KH.js} +1 -1
  94. package/dist/{user-FA2FIC47.js → user-TRXOR2Q6.js} +4 -4
  95. package/dist/{user-contract-type-RELV4BV7.js → user-contract-type-MPZQ7Y2P.js} +1 -1
  96. package/dist/{worker-agent-IPOLSJEA.js → worker-agent-4E5P75SJ.js} +1 -1
  97. package/dist/{workflow-VJL4FV3U.js → workflow-G7QZZPAX.js} +1 -1
  98. package/package.json +1 -1
  99. package/dist/analysis-DPQN4BFG.js +0 -5
  100. package/dist/budget-T5YJTALN.js +0 -4
  101. package/dist/chunk-C7MO3RHJ.js +0 -37
  102. package/dist/chunk-GYB2R6BV.js +0 -11
  103. package/dist/chunk-L37NS5L2.js +0 -8
  104. package/dist/chunk-MLRBDF44.js +0 -4
  105. package/dist/evaluation-NG4DIIJM.js +0 -61
  106. package/dist/project-JICUCXI5.js +0 -4
  107. /package/dist/{capacity-list-command-LKOVLAY4.js → capacity-list-command-GFHEKY47.js} +0 -0
  108. /package/dist/{chunk-NMERFYLD.js → chunk-RY27USNC.js} +0 -0
  109. /package/dist/{skill-manage-command-E7M7ZSQP.js → skill-manage-command-Z4MLSACA.js} +0 -0
@@ -0,0 +1,38 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var MAX_BLOCK_DEPTH=10;var NAMED_ENTITIES={nbsp:" ",lt:"<",gt:">",quot:'"',apos:"'",amp:"&"};function decodeEntities(text){return text.replace(/&(#x[0-9a-f]{1,8}|#\d{1,8}|[a-z]{1,8});/gi,(whole,ref)=>{if(ref.startsWith("#")){const code=ref[1]==="x"||ref[1]==="X"?Number.parseInt(ref.slice(2),16):Number.parseInt(ref.slice(1),10);return Number.isInteger(code)&&code>0&&code<=1114111?String.fromCodePoint(code):whole}return NAMED_ENTITIES[ref.toLowerCase()]??whole})}var HTML_TAG_NAMES=new Set(["a","ab\
4
+ br","article","aside","audio","b","blockquote","body","br","caption","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","figcaption","figure","font","footer","h1","h2","h3","h4","h5","h6","head","header","hr","html","i","iframe","img","input","ins","kbd","label","li","main","mark","meta","nav","ol","p","pre","q","s","samp","script","section","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","tfoot","th","thead","title","tr","u","ul",
5
+ "var","video"]);var ATTRIBUTES=/^(?:\s+[a-z_:][-\w:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*\s*\/?$/i;function tokenizeHtml(html){const tokens=[];let text="";let i=0;let nextLt=html.indexOf("<");let nextGt=-2;while(nextLt!==-1){text+=html.slice(i,nextLt);if(nextGt===-2||nextGt!==-1&&nextGt<nextLt)nextGt=html.indexOf(">",nextLt);const following=html.indexOf("<",nextLt+1);if(nextGt===-1||following!==-1&&following<nextGt){text+="<";i=nextLt+1;nextLt=following;continue}const inner=html.slice(
6
+ nextLt+1,nextGt);const match=/^(\/?)([a-z][a-z0-9]*)(?=[\s/]|$)/i.exec(inner);if(match!==null&&HTML_TAG_NAMES.has((match[2]??"").toLowerCase())&&ATTRIBUTES.test(inner.slice(match[0].length))){if(text!=="")tokens.push({kind:"text",text});text="";const[head,slash,name]=match;tokens.push({kind:"tag",name:name.toLowerCase(),closing:slash==="/",attrs:inner.slice(head.length)})}else if(!inner.startsWith("!")){text+=`<${inner}>`}i=nextGt+1;nextLt=html.indexOf("<",i)}text+=html.slice(i);if(text!=="")tokens.
7
+ push({kind:"text",text});return tokens}function attr(attrs,name){const lower=attrs.toLowerCase();let at=lower.indexOf(`${name}=`);while(at>0&&!/\s/.test(lower[at-1]??""))at=lower.indexOf(`${name}=`,at+1);if(at===-1)return void 0;const quote=attrs[at+name.length+1];if(quote!=='"'&&quote!=="'")return void 0;const from=at+name.length+2;const to=attrs.indexOf(quote,from);return to===-1?void 0:decodeEntities(attrs.slice(from,to))}function hasHtmlTag(text){return tokenizeHtml(text).some(token=>token.kind===
8
+ "tag")}var PARAGRAPH_TAGS=new Set(["p","div","table","section","article","hr"]);var DROP_CONTENT_TAGS=new Set(["script","style","head","title"]);function listMarker(attrs,frame){const checked=attr(attrs,"data-checked");const kind=checked==="true"?"checked":checked==="false"?"unchecked":attr(attrs,"data-list")??frame?.listType;if(kind==="checked")return"- [x] ";if(kind==="unchecked")return"- [ ] ";if(kind==="ordered"||kind===void 0&&frame?.ordered===true)return`${frame===void 0?1:frame.count}. `;
9
+ return"- "}function htmlToText(html){const out=[];const links=[];const lists=[];let dropUntil;let inPre=false;for(const token of tokenizeHtml(html)){if(dropUntil!==void 0){if(token.kind==="tag"&&token.closing&&token.name===dropUntil)dropUntil=void 0;continue}if(token.kind==="text"){const text=decodeEntities(token.text);out.push(inPre?text:text.replace(/[ \t\r\n\f]+/g," "));continue}const{name,closing,attrs}=token;if(DROP_CONTENT_TAGS.has(name)){if(!closing)dropUntil=name;continue}if(name==="pre"){
10
+ out.push(closing?`
11
+ ${FENCE_END}
12
+
13
+ `:`
14
+
15
+ ${FENCE_START}
16
+ `);inPre=!closing;continue}if(inPre)continue;if(/^h[1-6]$/.test(name)){out.push(closing?"\n\n":`
17
+
18
+ ${"#".repeat(Number(name[1]))} `)}else if(name==="ul"||name==="ol"){if(closing)lists.pop();else lists.push({ordered:name==="ol",listType:attr(attrs,"data-list"),count:0});out.push("\n\n")}else if(name==="li"&&!closing){const frame=lists[lists.length-1];if(frame!==void 0)frame.count+=1;out.push(`
19
+ ${" ".repeat(Math.max(0,lists.length-1))}${listMarker(attrs,frame)}`)}else if(name==="blockquote"){out.push(closing?"\n\n":"\n\n> ")}else if(name==="br"){out.push("\n")}else if(PARAGRAPH_TAGS.has(name)){out.push("\n\n")}else if(name==="tr"){out.push("\n")}else if((name==="td"||name==="th")&&closing){out.push(" | ")}else if(name==="img"&&!closing){const src=attr(attrs,"src");if(src!==void 0&&src!=="")out.push(`![\u753B\u50CF](${src})`)}else if(name==="a"){if(!closing){links.push({href:attr(attrs,
20
+ "href")??"",at:out.length})}else{const link=links.pop();if(link!==void 0&&link.href!==""){const label=out.splice(link.at).join("").trim();out.push(label===""||label===link.href?link.href:`[${label}](${link.href})`)}}}}return tidy(out.join(""),{trimStart:true})}var FENCE_START="```";var FENCE_END="```";function fenceTracker(maxIndent){let open;return line=>{if(open!==void 0){const close=/^([ \t]*)(`{3,}|~{3,})[ \t]*$/.exec(line);if(close!==null&&(close[1]??"").length<=maxIndent&&close[2]?.[0]===open.
21
+ char&&(close[2]?.length??0)>=open.length){open=void 0;return{fenceLine:true,inFence:false}}return{fenceLine:false,inFence:true}}const start=/^([ \t]*)(`{3,}|~{3,})(.*)$/.exec(line);const marker=start?.[2]??"";if(start===null||(start[1]??"").length>maxIndent||marker[0]==="`"&&(start[3]??"").includes("`")){return{fenceLine:false,inFence:false}}open={char:marker[0]??"`",length:marker.length};return{fenceLine:true,inFence:true}}}function tidy(text,options={}){const kept=[];let blank=0;const fence=fenceTracker(
22
+ options.markdown===true?3:Number.POSITIVE_INFINITY);for(const raw of text.replace(/\r\n?/g,"\n").split("\n")){const{fenceLine,inFence}=fence(raw);if(fenceLine){kept.push(raw.trim());blank=0;continue}if(inFence){kept.push(raw);continue}const line=options.trimStart===true&&!/^ {2,}(?:- |\d+\. )/.test(raw)?raw.trim():raw.trimEnd();blank=line===""?blank+1:0;if(blank<2)kept.push(line)}return kept.join("\n").replace(/^\n+|\n+$/g,"")}function oneLine(text){return text.split("\n").map(part=>part.trim()).
23
+ filter(part=>part!=="").join(" ")}function isObject(value){return value!==null&&typeof value==="object"&&!Array.isArray(value)}function inlineText(content,depth){if(depth>MAX_BLOCK_DEPTH||!Array.isArray(content))return"";return content.map(inline=>{if(typeof inline==="string")return inline;if(!isObject(inline))return"";if(inline["type"]==="link"){const label=inlineText(inline["content"],depth+1);const href=typeof inline["href"]==="string"?inline["href"]:"";if(href==="")return label;return label===
24
+ ""||label===href?href:`[${label}](${href})`}if(typeof inline["text"]==="string")return inline["text"];return inlineText(inline["content"],depth+1)}).join("")}function tableLines(content,depth){if(!isObject(content)||!Array.isArray(content["rows"]))return[];return content["rows"].flatMap(row=>{if(!isObject(row)||!Array.isArray(row["cells"]))return[];const cells=row["cells"].map(cell=>inlineText(isObject(cell)?cell["content"]:cell,depth+1).replace(/\|/g,"\\|").replace(/\n/g," "));return[`| ${cells.
25
+ join(" | ")} |`]})}function blockPrefix(block,ordinal){const props=isObject(block["props"])?block["props"]:{};switch(block["type"]){case"heading":{const level=typeof props["level"]==="number"&&props["level"]>=1&&props["level"]<=6?props["level"]:1;return`${"#".repeat(level)} `}case"bulletListItem":return"- ";case"numberedListItem":return`${ordinal}. `;case"checkListItem":return props["checked"]===true?"- [x] ":"- [ ] ";case"quote":return"> ";default:return""}}function mediaLine(block){const props=isObject(
26
+ block["props"])?block["props"]:{};const url=typeof props["url"]==="string"?props["url"]:"";if(url==="")return void 0;const name=[props["caption"],props["name"]].find(v=>typeof v==="string"&&v.trim()!=="")??"";const label=block["type"]==="image"?"\u753B\u50CF":"\u30D5\u30A1\u30A4\u30EB";return`${block["type"]==="image"?"!":""}[${name===""?label:name}](${url})`}function blocksToLines(blocks,depth){if(!Array.isArray(blocks)||depth>MAX_BLOCK_DEPTH)return[];const indent=" ".repeat(depth);const lines=[];
27
+ let ordinal=0;for(const block of blocks){if(!isObject(block))continue;ordinal=block["type"]==="numberedListItem"?ordinal+1:0;if(block["type"]==="table"){lines.push(...tableLines(block["content"],depth).map(row=>`${indent}${row}`))}else if(block["type"]==="codeBlock"){const code=inlineText(block["content"],depth);lines.push(`${indent}\`\`\``,...code.split("\n").map(row=>`${indent}${row}`),`${indent}\`\`\``)}else{const text=inlineText(block["content"],depth);const media=text.trim()===""?mediaLine(
28
+ block):void 0;if(media!==void 0){lines.push(`${indent}${media}`)}else if(text.trim()!==""){const prefix=blockPrefix(block,ordinal);const continuation=`${indent}${" ".repeat(prefix.length)}`;lines.push(`${indent}${prefix}${text.split("\n").join(`
29
+ ${continuation}`)}`)}else{lines.push("")}}lines.push(...blocksToLines(block["children"],depth+1))}return lines}function blockNoteToText(blocks){return tidy(blocksToLines(blocks,0).join("\n"))}function meetingContentToText(content){if(typeof content!=="string")return"";const trimmed=content.trim();if(trimmed==="")return"";if(trimmed.startsWith("[")){try{const parsed=JSON.parse(trimmed);if(Array.isArray(parsed))return blockNoteToText(parsed)}catch{}}return hasHtmlTag(trimmed)?htmlToText(trimmed):trimmed}
30
+ function wikiContentToText(content,contentFormat){if(typeof content!=="string")return"";if(contentFormat==="markdown")return tidy(content,{markdown:true});const trimmed=content.trim();const blocks=trimmed.startsWith("[")?parseBlockArray(trimmed):void 0;if(blocks!==void 0)return blockNoteToText(blocks);return hasHtmlTag(trimmed)?htmlToText(trimmed):trimmed}function parseBlockArray(text){try{const parsed=JSON.parse(text);return Array.isArray(parsed)&&parsed.length>0&&parsed.every(block=>isObject(block)&&
31
+ typeof block["type"]==="string")?parsed:void 0}catch{return void 0}}function noteContentToText(content,contentType){if(typeof content!=="string")return"";return contentType==="markdown"?tidy(content,{markdown:true}):htmlToText(content)}function metaLine(label,value){if(value===null||value===void 0)return[];const text=Array.isArray(value)?value.filter(v=>typeof v==="string"||typeof v==="number").join(", "):typeof value==="string"||typeof value==="number"||typeof value==="boolean"?String(value):"";
32
+ return text.trim()===""?[]:[`${label}: ${oneLine(text)}`]}function composeDocument(title,meta,sections){const parts=[`# ${typeof title==="string"&&title.trim()!==""?oneLine(title):"(\u7121\u984C)"}`];if(meta.length>0)parts.push(meta.join("\n"));for(const section of sections){if(section.body.trim()==="")continue;parts.push(section.heading===void 0?section.body:`\u25A0 ${section.heading}
33
+
34
+ ${section.body}`)}return`${parts.join("\n\n")}
35
+ `}var HEADING_LINE=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?(?:[ \t]+#+)?[ \t]*$/;var NESTED_HEADING_LINE=/^[ \t]*(#{1,6})(?:[ \t]+(.*?))?(?:[ \t]+#+)?[ \t]*$/;function headingLines(lines,options){const pattern=options.markdown===true?HEADING_LINE:NESTED_HEADING_LINE;const found=[];const fence=fenceTracker(options.markdown===true?3:Number.POSITIVE_INFINITY);lines.forEach((raw,line)=>{const{fenceLine,inFence}=fence(raw);if(fenceLine||inFence)return;const match=pattern.exec(raw);if(match!==null)found.push(
36
+ {level:match[1]?.length??1,title:match[2]?.trim()??"",line})});return found}function sectionEnd(headings,index,total){const own=headings[index];const next=headings.slice(index+1).find(h=>own!==void 0&&h.level<=own.level);return next?.line??total}function textOutline(text,options={}){const lines=text.split("\n");const headings=headingLines(lines,options);return headings.flatMap((h,index)=>h.title===""?[]:[{level:h.level,title:h.title,chars:[...lines.slice(h.line+1,sectionEnd(headings,index,lines.
37
+ length)).join("\n").trim()].length}])}function headingKey(title){return title.replace(/^#+\s*/,"").replace(/\s+/g," ").trim()}function textSection(text,query,options={}){const lines=text.split("\n");const headings=headingLines(lines,options);const key=headingKey(query);if(key==="")return void 0;let hits=headings.flatMap((h,index2)=>headingKey(h.title)===key?[index2]:[]);if(hits.length===0)hits=headings.flatMap((h,index2)=>headingKey(h.title).toLowerCase()===key.toLowerCase()?[index2]:[]);const index=hits[0];
38
+ const heading=index===void 0?void 0:headings[index];if(index===void 0||heading===void 0)return void 0;return{level:heading.level,title:heading.title,text:tidy(lines.slice(heading.line,sectionEnd(headings,index,lines.length)).join("\n"),{markdown:options.markdown===true}),matches:hits.length}}export{htmlToText,oneLine,meetingContentToText,wikiContentToText,noteContentToText,metaLine,composeDocument,textOutline,textSection};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CONCURRENCY,DEFAULT_INACTIVE_DAYS,LOGIN_HISTORY_RETENTION_DAYS,daysBetween,lastLogin,lastLoginText,mapPool,pacedSender,primaryAssignment,recentlyHired,spreadsheetSafe,userDetail}from"./chunk-7PTFN3H7.js";import{DEPARTMENTS_PATH}from"./chunk-2AVQILQQ.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";
3
+ import{CONCURRENCY,DEFAULT_INACTIVE_DAYS,LOGIN_HISTORY_RETENTION_DAYS,daysBetween,lastLogin,lastLoginText,mapPool,pacedSender,primaryAssignment,recentlyHired,spreadsheetSafe,userDetail}from"./chunk-7PTFN3H7.js";import{DEPARTMENTS_PATH}from"./chunk-M36DAHMH.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";
4
4
  import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var SEAT_MOVING_LEVELS={inquiry:["admin","member"],content_management:["admin","member"],workflow:["admin"],hearing:["admin"]};function levelHoldsSeat(feature,level){return SEAT_MOVING_LEVELS[feature]?.includes(level)??false}function permissionMovesSeat(feature){return Object.hasOwn(SEAT_MOVING_LEVELS,feature)}var LICENSE_FEATURE_NAMES={content_management:"\u30B3\u30F3\u30C6\u30F3\u30C4\u7BA1\u7406",inquiry:"\u554F\u3044\u5408\u308F\u305B\u7BA1\u7406",workflow:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",hearing:"\u30D2\u30A2\u30EA\u30F3\u30B0",task_management:"\u30BF\u30B9\u30AF\u7BA1\u7406",sales:"\u53D6\u5F15\u7BA1\u7406",attendance:"\u52E4\u6020\u7BA1\u7406",report:"\u30EC\u30DD\u30FC\u30C8",hr_management:"\u4EBA\u6750\u7BA1\u7406",learning:"\u5B66\u7FD2\u7BA1\u7406",expense:"\u7D4C\u8CBB\u7BA1\u7406",test:"\
5
5
  \u30B7\u30CA\u30EA\u30AA\u30C6\u30B9\u30C8\u7BA1\u7406",chat:"\u30C1\u30E3\u30C3\u30C8",customer:"\u9867\u5BA2\u7BA1\u7406",survey:"\u30A2\u30F3\u30B1\u30FC\u30C8",organization_survey:"\u7D44\u7E54\u30B5\u30FC\u30D9\u30A4",feedback:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF",notes:"\u30CE\u30FC\u30C8",wiki_management:"Wiki",meeting_minutes:"\u8B70\u4E8B\u9332",equipment_management:"\u5099\u54C1\u7BA1\u7406",floor_map:"\u30D5\u30ED\u30A2\u30DE\u30C3\u30D7"};var LICENSES_PATH="/api/v2/licenses";var FORBIDDEN="\
6
6
  \u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp license \u306F\u30C6\u30CA\u30F3\u30C8\u306E\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059";var LIST_USAGE="twp license list";var ASSIGNMENTS_USAGE="twp license assignments <\u6A5F\u80FD\u30B3\u30FC\u30C9|\u6A5F\u80FD\u540D> | --all-features [--inactive-days <\u65E5\u6570>]";var ASSIGNMENTS_HELP="twp license assignments help";var RELEASE_COMMAND_MISSING="release_command \u304C\u7A7A\u306E\u884C\u306F\u3001\u6A29\u9650\u3092 non\
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var DOMAIN_NAMES=["agent","agent-loop","ai-review-reason","analysis","announcement","attendance","backlog","budget","business-hours","business-place","company","contract","customer","department","deposit","estimate","evaluation","expense","faq","fiscal-year","goal-sheet","holiday","inquiry","invoice","job-title","knowledge","leave","license","media","meeting","note","notification","onedrive","outlook","payee","position","project","prospect","purchase","qualification","receivable","redmine","repo\
4
+ rt","role-template","rounding-setting","seal-impression","search","segment","shift","skill","staffing-board","storage","supplier-payment","support","task","teams","user","user-contract-type","wiki","workchange","worker-agent","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{analysisForbidden}from"./chunk-M7UEPYUQ.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var PATH="/api/v2/budget";var ANALYSIS_FORBIDDEN=analysisForbidden("");function budgetForbidden(body){if(body?.error==="forbidden")return"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u95B2\u89A7\u3067\u304D\u307E\u305B\u3093\uFF08\u30E1\u30F3\u30D0\u30FC\u3067\u306A\u3044\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\uFF09\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
3
+ import{analysisForbidden}from"./chunk-U6KPYJTM.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var PATH="/api/v2/budget";var ANALYSIS_FORBIDDEN=analysisForbidden("");function budgetForbidden(body){if(body?.error==="forbidden")return"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u95B2\u89A7\u3067\u304D\u307E\u305B\u3093\uFF08\u30E1\u30F3\u30D0\u30FC\u3067\u306A\u3044\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u6A29\u9650\u304C\u8DB3\u308A\u307E\u305B\u3093\uFF09\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
4
4
  return ANALYSIS_FORBIDDEN(body)}var FORBIDDEN=budgetForbidden;var EDIT_HINT="\u76EE\u6A19\u306E\u8A2D\u5B9A\u30FB\u30B3\u30D4\u30FC\u30FB\u53D6\u308A\u8FBC\u307F\u306F\u3001\u5168\u4F53\u7BA1\u7406\u8005\u304B\u5206\u6790\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u3067\u304D\u307E\u3059\u3002\u6309\u5206\u306F\u305D\u308C\u306B\u52A0\u3048\u3066\u3001\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u3082\u3067\u304D\u307E\u3059\n\uFF08\u3069\u3061\u3089\u3082\u5206\u6790\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u3067\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF09\u3002";
5
5
  var YEAR_MIN=2e3;var YEAR_MAX=2100;var IMPORT_MAX_BYTES=2048*1024;var SET_FILE_MAX_BYTES=4*1024*1024;var AMOUNT_MAX=999999999999;var SHOWN_OVERWRITES=24;var BOM=new RegExp(`^${String.fromCharCode(65279)}`);function usageOf(op){return`twp budget ${op} help`}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja-JP")} \u5186`:"\uFF08\u306A\u3057\uFF09"}function noArgs(input,op){if(input.
6
6
  args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usageOf(op))}function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function dataRecord(body,what){const data=envelope(body,what)["data"];
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-IWYJSQ5I.js";import{WORKER_AGENTS_PATH}from"./chunk-2AVQILQQ.js";import{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,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import{WORKER_AGENTS_PATH}from"./chunk-M36DAHMH.js";import{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,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";var LABEL="\u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8";var LIST_COLUMNS=["agent_id","name","is_enabled","schedule","next_run_at","last_run_status","last_run_at","owner_user_name"];var GET_COLUMNS=["agent_id","name","description","owner_user_name","is_enabled","schedule","next_run_at","is_running","last_run_status","last_run_at","last_run_id","allowed_tool_count","write_enabled","ai_model","consecutive_failure_count","auto_disabled_reason"];var TOOL_COLUMNS=["name","category","d\
5
5
  isplay_name","is_mutating","is_available"];var TOOL_GET_COLUMNS=["name","category","display_name","description","is_mutating","is_destructive","is_available","required_feature","required_level","required_api_scopes"];var RUN_COLUMNS=["run_id","status","trigger","started_at","duration_ms","tool_call_count","consumed_credits","summary"];var RUN_GET_COLUMNS=["summary","status","skip_reason","error_code","error_message","run_id","agent_id","trigger","is_dry_run","started_at","finished_at","duration_\
6
6
  ms","iteration_count","tool_call_count","mutation_count","consumed_credits","ai_model"];var STEP_COLUMNS=["step_no","type","tool_name","is_mutation","duration_ms","content","error_message"];var STEP_TYPES=["thinking","tool_call","tool_result","error","budget_warning","final_summary"];var FORBIDDEN="AI\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u6A5F\u80FD\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\uFF08agent\uFF09\u304C\u3042\u306A\u305F\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u4F7F\u3048\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u308A\u5F53\u3066\u3092\u4F9D\u983C\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{repeatedValues}from"./chunk-RX5HWI4L.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-2AVQILQQ.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{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
3
+ import{repeatedValues}from"./chunk-RX5HWI4L.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-M36DAHMH.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{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{
4
4
  ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
5
5
  _\u6848\u4EF6\u5185\u5BB9\u30FB\u91D1\u984D\u78BA\u8A8D",invoice_issued:"\u8ACB\u6C42\u66F8\u767A\u884C\u6E08",sent_to_client:"\u5148\u65B9\u9001\u4ED8\u6E08",archived:"\u4FDD\u7BA1\u6E08",deleted:"\u524A\u9664\u6E08",cancelled:"\u53D6\u6D88\uFF08\u7121\u52B9\uFF09",lost:"\u5931\u6CE8"};var ALLOCATION_STATUSES={unallocated:"\u672A\u56DE\u53CE",allocated:"\u56DE\u53CE\u6E08"};function statusRefs(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function statusHelp(table){
6
6
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function licenseForbidden(guidance){return body=>body?.error==="permission_denied"?guidance:void 0}function featureLicenseGuidance(feature){return`${feature}\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C${feature}\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E${feature}\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesFeatureDenied}from"./chunk-VRJF6JLR.js";import{featureLicenseGuidance}from"./chunk-QUMDKN3U.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-IWYJSQ5I.js";import{isExactNumericId}from"./chunk-2AVQILQQ.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";
3
+ import{salesFeatureDenied}from"./chunk-5STCZEOX.js";import{featureLicenseGuidance}from"./chunk-EQXJOEOK.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import{isExactNumericId}from"./chunk-M36DAHMH.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
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"};
@@ -0,0 +1,88 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{USER_REF_FLAG,USER_REF_HELP}from"./chunk-UVCJXHWN.js";import{readBody}from"./chunk-M763HXDH.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var ORG="/api/v2/organization";var PERIODS_PATH=`${ORG}/evaluation-periods`;var EVALUATIONS_PATH=`${ORG}/evaluations`;var GOAL_SHEETS_PATH=`${ORG}/goal-sheets`;var EVALUATION_FORBIDDEN="\u3053\u306E\u8A55\u4FA1\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u8A55\u4FA1\u3092\u8AAD\u3081\u308B\u306E\u306F\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u30FB\u8A55\u4FA1\u8005\uFF08\u4E0A\u9577\u306E\u8A55\u4FA1\u30C1\u30A7\u30FC\u30F3\uFF09\u30FB\u30AA\u30D6\u30B6\u30FC\u30D0\u30FC\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u3067\u3059\u3002\u81EA\u5206\u304C\u8A55\u4FA1\u8005\u3068\u3057\u3066\u6301\u3064\u8A55\u4FA1\u306F twp evaluation subordinates --period <\u8A55\u4FA1\u671F\u9593ID> \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059";
4
+ function forbiddenOnly(guidance){return body=>body?.error==="forbidden"?guidance:void 0}var SENSITIVE="\u4EBA\u4E8B\u8A55\u4FA1\u30FB\u76EE\u6A19\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587\u3092\u542B\u3080";var GOAL_SHEET_FORBIDDEN="\u3053\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u8AAD\u3081\u308B\u306E\u306F\u672C\u4EBA\u30FB\u8A55\u4FA1\u8005\uFF08\u4E0A\u9577\u306E\u8A55\u4FA1\u30C1\u30A7\u30FC\u30F3\uFF09\u30FB\u30AA\u30D6\u30B6\u30FC\u30D0\u30FC\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u3067\u3059\u3002\u90E8\u4E0B\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u306F twp goal-sheet list --period <\u8A55\u4FA1\u671F\u9593ID> \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059";
5
+ function singleId(input,command,label,listHint){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError(`${label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,`twp ${command} help`);if(rest.length>0)throw new UsageError(`${command} \u304C\u53D7\u3051\u53D6\u308C\u308B${label}\u306E ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,`twp ${command} help`);if(!isSafePathSegment(id))throw new UsageError(`${label}\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,
6
+ listHint);return id}function envelope(body,what){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function objectOf(body,what,key){const row=envelope(body,what)[key];if(!isRecord(row)||typeof row["id"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B ${key} \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\
7
+ \u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return row}var LEVELS=["A","B","C","D","E"];var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u66F8\u304D\u8FBC\u3080\u5185\u5BB9\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var SKELETON_FLAG={name:"--generate-cli-skeleton",summary:"--content-file \u306E\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3059\u308B\uFF08\u4F55\u3082\u66F8\u304D\u63DB\u3048\u306A\u3044\uFF09",takesValue:false};var BODY_FLAG={name:"--\
8
+ body",summary:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587\uFF08\u6587\u5B57\u5217\uFF09",takesValue:true,placeholder:"<\u672C\u6587>"};var BODY_FILE_FLAG={name:"--body-file",summary:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var CONTENT_MAX_CHARS=1e6;var FEEDBACK_MAX_CHARS=5e3;var SERVER_ERROR_TEXT="\u30B5\u30FC\u30D0\u30FC\u30A8\u30E9\u30FC";
9
+ function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):"-"}function parseContent(raw,source,allowed,label,hint,allowEmpty=false){let parsed;try{parsed=JSON.parse(raw)}catch{throw new UsageError(`${label}\u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${source}\uFF09`,hint)}if(!isRecord(parsed))throw new UsageError(
10
+ `${label}\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,hint);const unknownKeys=Object.keys(parsed).filter(key=>!allowed.includes(key));if(unknownKeys.length>0)throw new UsageError(`${label}\u306B\u9001\u308C\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059\uFF08${source}\uFF09: ${unknownKeys.join(", ")}`,`\u9001\u308C\u308B\u9805\u76EE\u306F ${allowed.join(" / ")} \u3067\u3059\u3002${hint}`);if(!allowEmpty&&Object.
11
+ keys(parsed).length===0)throw new UsageError(`\u66F8\u304D\u63DB\u3048\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093\uFF08${source} \u304C\u7A7A\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3059\uFF09`,hint);return parsed}async function readContent(input,label,usage){return readBody(input,{flag:"--content",fileFlag:CONTENT_FILE_FLAG.name,label,maxChars:CONTENT_MAX_CHARS,usage})}function contentSource(input){return`${CONTENT_FILE_FLAG.name} ${input.flags.get(CONTENT_FILE_FLAG.name)??""}`}
12
+ function contentOf(input){return JSON.parse(requireResolved(input,"body"))}function currentOf(input){return JSON.parse(requireResolved(input,"current"))}function noSkeletonWithContent(input,usage){const wantsSkeleton=input.flags.has(SKELETON_FLAG.name);if(wantsSkeleton&&input.flags.has(CONTENT_FILE_FLAG.name))throw new UsageError("--generate-cli-skeleton \u3068 --content-file \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage);return wantsSkeleton}function writeResult(value){
13
+ if(!isRecord(value)||typeof value["skeleton"]!=="boolean")throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: \u66F8\u304D\u8FBC\u307F\u306E\u5FDC\u7B54\u306B\u5370\u304C\u3042\u308A\u307E\u305B\u3093\uFF08execute \u306E\u914D\u7DDA\u6F0F\u308C\uFF09");return value}var GOAL_SHEET_KEYS=["sections","goal_seq_map"];var GOAL_SHEET_WRITE_COLUMNS=["id","user_id","evaluation_period_id","status_label","submitted_at","approved_at","updated_at"];var GOAL_SHEET_ID_HINT="\u76EE\u6A19\u30B7\u30FC\u30C8\u306E ID \u306F twp goal-sheet mine / list \
14
+ \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";function goalSheetPath(input,command,suffix=""){return`${GOAL_SHEETS_PATH}/${encodeURIComponent(singleId(input,command,"\u76EE\u6A19\u30B7\u30FC\u30C8",GOAL_SHEET_ID_HINT))}${suffix}`}function describeSheet(sheet){return`${text(sheet["user_name"])} \u306E\u76EE\u6A19\u30B7\u30FC\u30C8\uFF08${text(sheet["evaluation_period_name"])}\u30FB${text(sheet["status_label"])}\u30FBID ${text(sheet["id"])}\uFF09`}async function readSheet(ctx,path){
15
+ return objectOf(await ctx.resolver.salesJson(path,"\u76EE\u6A19\u30B7\u30FC\u30C8"),"\u76EE\u6A19\u30B7\u30FC\u30C8","goal_sheet")}function updateSheetPlan(input){const path=goalSheetPath(input,"goal-sheet update");return input.flags.has(SKELETON_FLAG.name)?{method:"GET",path}:{method:"PUT",path,body:contentOf(input)}}var goalSheetUpdateOperation={name:"update",summary:"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u76EE\u6A19\uFF08sections\uFF09\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u672C\u4EBA\u30FB\u4E0A\u9577\uFF09",
16
+ usage:"twp goal-sheet update <\u76EE\u6A19\u30B7\u30FC\u30C8ID> (--content-file <\u30D1\u30B9> | --generate-cli-skeleton)",description:"PUT /api/v2/organization/goal-sheets/{id}\u3002\u5185\u5BB9\uFF08--content-file\uFF09\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3001\u9001\u308C\u308B\u30AD\u30FC\u306F sections \u3068 goal_seq_map \u3067\u3059\u3002\n\u26A0 sections \u306F\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u9001\u3063\u305F\u76EE\u6A19\u3060\u3051\u304C\u6B8B\u308A\u307E\u3059\uFF09\u3002--generate-cli-skeleton \u3067\u4ECA\u306E sections \u3092\u51FA\u3057\u3001\u305D\u308C\u3092\u76F4\u3057\u3066\u9001\u3063\u3066\u304F\u3060\u3055\u3044\u3002\n \u30B5\u30FC\u30D0\u306F\u300C\u7A7A\u306E sections \u3067\u4ECA\u306E\u76EE\u6A19\u3092\u6D88\u3059\u300D\u4FDD\u5B58\u3092\u7121\u8996\u3057\u307E\u3059\u3002\u76EE\u6A19\u3092\u8A70\u3081\u76F4\u3057\u3066\u756A\u53F7\u304C\u5909\u308F\u308B\u3068\u304D\u306F goal_seq_map\uFF08[{from, to}]\uFF09\u3067\u6708\u6B21\u9032\u6357\u3092\u4ED8\u3051\u66FF\u3048\u307E\u3059\u3002\n\u627F\u8A8D\u6E08\u307F\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u306F\u66F8\u304D\u63DB\u3048\u3089\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF09\u3002\u9001\u308B\u524D\u306B\u5BFE\u8C61\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-ru\
17
+ n \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002\n\n"+GOAL_SHEET_ID_HINT,flags:[CONTENT_FILE_FLAG,SKELETON_FLAG],forbidden:forbiddenOnly("\u3053\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u66F8\u304D\u63DB\u3048\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u66F8\u304D\u63DB\u3048\u3089\u308C\u308B\u306E\u306F\u672C\u4EBA\u3068\u73FE\u5728\u306E\u4E0A\u9577\u3060\u3051\u3067\u3059\uFF08\u30AA\u30D6\u30B6\u30FC\u30D0\u30FC\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3082\u66F8\u304D\u63DB\u3048\u3089\u308C\u307E\u305B\u3093\uFF09\u3002"),
18
+ rejected:server=>server.includes(SERVER_ERROR_TEXT)||server.includes("\u627F\u8A8D\u6E08\u307F")?"\u627F\u8A8D\u6E08\u307F\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u306F\u66F8\u304D\u63DB\u3048\u3089\u308C\u307E\u305B\u3093\u3002\u72B6\u614B\u306F twp goal-sheet get <\u76EE\u6A19\u30B7\u30FC\u30C8ID> \u306E status_label \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002":void 0,sensitiveBody:SENSITIVE,async prepare(input,ctx){const usage="twp goal-sheet update help";const path=goalSheetPath(input,"goal\
19
+ -sheet update");if(noSkeletonWithContent(input,usage))return input;const raw=await readContent(input,"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u5185\u5BB9",usage);if(raw===void 0)throw new UsageError("\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u5185\u5BB9\u3092 --content-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u3072\u306A\u5F62\u306F twp goal-sheet update <\u76EE\u6A19\u30B7\u30FC\u30C8ID> --generate-cli-skeleton \u3067\u51FA\u305B\u307E\u3059\u3002");const content=parseContent(
20
+ raw,contentSource(input),GOAL_SHEET_KEYS,"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u5185\u5BB9",usage);if("sections"in content&&!isRecord(content["sections"])&&!Array.isArray(content["sections"])){throw new UsageError(`sections \u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\uFF08\u533A\u5206\u540D \u2192 \u4E2D\u8EAB\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${contentSource(input)}\uFF09`,usage)}return withResolved(input,{body:JSON.stringify(content),current:JSON.stringify(await readSheet(
21
+ ctx,path))})},plan:updateSheetPlan,plannedNotes:input=>input.flags.has(SKELETON_FLAG.name)?["\u4ECA\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u8AAD\u3080\u3060\u3051\u3067\u3001\u66F8\u304D\u63DB\u3048\u307E\u305B\u3093"]:[`\u66F8\u304D\u63DB\u3048\u308B: ${describeSheet(currentOf(input))}\u30FB\u9001\u308B\u9805\u76EE: ${Object.keys(contentOf(input)).join(", ")}`,..."sections"in contentOf(input)?["sections \u306F\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059"]:[]],execute:async(input,ctx)=>({
22
+ skeleton:input.flags.has(SKELETON_FLAG.name),body:await ctx.send(updateSheetPlan(input))}),summarize(value){const result=writeResult(value);const sheet=objectOf(result.body,"\u76EE\u6A19\u30B7\u30FC\u30C8","goal_sheet");return result.skeleton?{sections:sheet["sections"]??[]}:pick(sheet,GOAL_SHEET_WRITE_COLUMNS)},raw(value){const result=writeResult(value);const sheet=objectOf(result.body,"\u76EE\u6A19\u30B7\u30FC\u30C8","goal_sheet");return result.skeleton?{sections:sheet["sections"]??[]}:sheet},
23
+ notes(value){const result=writeResult(value);return result.skeleton?["\u4ECA\u306E sections \u3092\u51FA\u3057\u307E\u3057\u305F\u3002\u76F4\u3057\u3066\u304B\u3089 twp goal-sheet update <\u76EE\u6A19\u30B7\u30FC\u30C8ID> --content-file <\u30D1\u30B9> \u3067\u9001\u3063\u3066\u304F\u3060\u3055\u3044"]:serverMessage(result.body)}};var goalSheetSubmitOperation={name:"submit",summary:"\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E0A\u9577\u3078\u63D0\u51FA\u3059\u308B\uFF08\u672C\u4EBA\u30FB--yes \u304C\u8981\u308B\uFF09",
24
+ usage:"twp goal-sheet submit <\u76EE\u6A19\u30B7\u30FC\u30C8ID> --yes",description:"POST /api/v2/organization/goal-sheets/{id}/submit\u3002\u4E0B\u66F8\u304D\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3060\u3051\u3092\u63D0\u51FA\u3067\u304D\u307E\u3059\uFF08\u63D0\u51FA\u3059\u308B\u3068\u4E0A\u9577\u306E\u627F\u8A8D\u5F85\u3061\u306B\u306A\u308A\u3001\u672C\u4EBA\u306F\u66F8\u304D\u63DB\u3048\u3089\u308C\u307E\u305B\u3093\uFF09\u3002\n\u672A\u8A18\u5165\u306E\u9805\u76EE\u304C\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF08\u4E0D\u8DB3\u9805\u76EE\u306F --output json \u306E\u5FDC\u7B54\u306B\u51FA\u307E\u3059\uFF09\u3002\u9001\u308B\u524D\u306B\u5BFE\u8C61\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002\n\n"+
25
+ GOAL_SHEET_ID_HINT,destructive:true,confirmation:"\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E0A\u9577\u3078\u63D0\u51FA\u3059\u308B\u64CD\u4F5C\uFF08\u63D0\u51FA\u5F8C\u306F\u672C\u4EBA\u304C\u66F8\u304D\u63DB\u3048\u3089\u308C\u307E\u305B\u3093\uFF09",flags:[],forbidden:forbiddenOnly("\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u63D0\u51FA\u3067\u304D\u308B\u306E\u306F\u672C\u4EBA\u3060\u3051\u3067\u3059\u3002"),rejected:server=>server.includes(SERVER_ERROR_TEXT)||server.includes("\u4E0B\u66F8\u304D")?"\u63D0\
26
+ \u51FA\u3067\u304D\u308B\u306E\u306F\u4E0B\u66F8\u304D\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3060\u3051\u3067\u3059\u3002\u72B6\u614B\u306F twp goal-sheet get <\u76EE\u6A19\u30B7\u30FC\u30C8ID> \u306E status_label \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002":void 0,sensitiveBody:SENSITIVE,prepare:async(input,ctx)=>withResolved(input,{current:JSON.stringify(await readSheet(ctx,goalSheetPath(input,"goal-sheet submit")))}),plan:input=>({method:"POST",path:goalSheetPath(input,"goal-sheet submit",
27
+ "/submit")}),plannedNotes:input=>[`\u63D0\u51FA\u3059\u308B: ${describeSheet(currentOf(input))}`],summarize:body=>pick(objectOf(body,"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u63D0\u51FA","goal_sheet"),GOAL_SHEET_WRITE_COLUMNS),raw:body=>objectOf(body,"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u63D0\u51FA","goal_sheet"),notes:serverMessage};var goalSheetWriteOperations=[goalSheetUpdateOperation,goalSheetSubmitOperation];var STEP_KEYS=["level","position_level","position_comment","bonus_level","bonus_comme\
28
+ nt","feedback_comment","comment"];var LEVEL_KEYS=["level","position_level","bonus_level"];var COMMENT_MAX_CHARS=2e3;var STEP_FLAG={name:"--step",summary:"\u5165\u529B\u3059\u308B\u8A55\u4FA1\u6BB5\u306E\u756A\u53F7\uFF081\u304B\u3089\u3002\u3044\u307E\u306E\u6BB5 current_step \u3060\u3051\u3092\u66F8\u3051\u308B\uFF09",takesValue:true,placeholder:"<n>"};var DRAFT_FLAG={name:"--draft",summary:"\u4E00\u6642\u4FDD\u5B58\u306B\u3059\u308B\uFF08\u6BB5\u3092\u78BA\u5B9A\u305B\u305A\u3001\u6B21\u306E\u8A55\u4FA1\u8005\u3078\u9032\u3081\u306A\u3044\uFF09",
29
+ takesValue:false};var EVALUATION_ID_HINT="\u8A55\u4FA1\u306E ID \u306F twp evaluation subordinates \u306E evaluation_id \u5217\u30FBtwp evaluation list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";var EVALUATION_WRITE_COLUMNS=["id","user_id","evaluation_period_id","status_label","current_step","total_steps","final_level","feedback_status"];function evaluationPath(input,command,suffix=""){return`${EVALUATIONS_PATH}/${encodeURIComponent(singleId(input,command,"\u8A55\u4FA1",EVALUATION_ID_HINT))}${suffix}`}
30
+ function describeEvaluation(evaluation){return`${text(evaluation["user_name"])} \u306E\u8A55\u4FA1\uFF08${text(evaluation["evaluation_period_name"])}\u30FB${text(evaluation["status_label"])}\u30FB\u6BB5 ${text(evaluation["current_step"])}/${text(evaluation["total_steps"])}\u30FBID ${text(evaluation["id"])}\uFF09`}async function readEvaluation(ctx,path){return objectOf(await ctx.resolver.salesJson(path,"\u8A55\u4FA1"),"\u8A55\u4FA1","evaluation")}function stepNumber(input){const raw=nonEmpty(input.
31
+ flags,STEP_FLAG.name)?.trim();if(raw===void 0)throw new UsageError("--step\uFF08\u5165\u529B\u3059\u308B\u8A55\u4FA1\u6BB5\u306E\u756A\u53F7\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u3044\u307E\u306E\u6BB5\u306F twp evaluation get <\u8A55\u4FA1ID> \u306E current_step \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");if(!/^[1-9][0-9]{0,2}$/.test(raw))throw new UsageError(`--step \u306F 1 \u4EE5\u4E0A\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,
32
+ "\u3044\u307E\u306E\u6BB5\u306F twp evaluation get <\u8A55\u4FA1ID> \u306E current_step \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");return raw}function checkStepContent(content,source){for(const key of LEVEL_KEYS){const value=content[key];if(value!==void 0&&value!==null&&!LEVELS.includes(value)){throw new UsageError(`${key} \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059\uFF08${source}\uFF09: ${JSON.stringify(value)}`,`\u8A55\u8A9E\u306F ${LEVELS.join(" / ")} \u304B null \u3067\u3059\u3002`)}}
33
+ for(const key of STEP_KEYS.filter(k=>!LEVEL_KEYS.includes(k))){const value=content[key];if(value===void 0||value===null)continue;if(typeof value!=="string")throw new UsageError(`${key} \u306F\u6587\u5B57\u5217\u304B null \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${source}\uFF09`,"twp evaluation step update help");if([...value].length>COMMENT_MAX_CHARS)throw new UsageError(`${key} \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${[...value].length} \u6587\u5B57\u30FB\u4E0A\u9650 ${COMMENT_MAX_CHARS}\
34
+ \u6587\u5B57\uFF09`,"twp evaluation step update help")}}function stepSkeleton(evaluation,step){const steps=Array.isArray(evaluation["steps"])?evaluation["steps"]:[];const found=steps.find(row=>isRecord(row)&&String(row["step"])===step);const source=isRecord(found)?found:{};const out={};for(const key of STEP_KEYS)out[key]=source[key]??null;out["level"]=source["level"]??source["rating"]??null;return out}function stepPlan(input){const step=stepNumber(input);if(input.flags.has(SKELETON_FLAG.name))return{
35
+ method:"GET",path:evaluationPath(input,"evaluation step update")};return{method:"PUT",path:evaluationPath(input,"evaluation step update",`/steps/${step}`),body:{...contentOf(input),...input.flags.has(DRAFT_FLAG.name)?{is_draft:true}:{}}}}var stepUpdateOperation={name:"update",summary:"\u8A55\u4FA1\u6BB5\u3092\u5165\u529B\u3059\u308B\uFF08\u8A55\u4FA1\u8005\u3002--draft \u3067\u4E00\u6642\u4FDD\u5B58\uFF09",usage:"twp evaluation step update <\u8A55\u4FA1ID> --step <n> (--content-file <\u30D1\u30B9> | --generate-cli-\
36
+ skeleton) [--draft]",description:`PUT /api/v2/organization/evaluations/{id}/steps/{step}\u3002\u66F8\u3051\u308B\u306E\u306F\u3044\u307E\u306E\u6BB5\uFF08current_step\uFF09\u3060\u3051\u3067\u3001\u305D\u306E\u6BB5\u306E\u8A55\u4FA1\u8005\uFF08\u4EE3\u7406\u3092\u9664\u304F\uFF09\u304C\u4F7F\u3044\u307E\u3059\u3002
37
+ \u26A0 --draft \u3092\u4ED8\u3051\u306A\u3044\u3068\u6BB5\u3092\u78BA\u5B9A\u3057\u3001\u8A55\u4FA1\u306F\u6B21\u306E\u8A55\u4FA1\u8005\u3078\u9032\u307F\u307E\u3059\uFF08\u6700\u5F8C\u306E\u6BB5\u306A\u3089\u8A55\u4FA1\u5B8C\u4E86\uFF09\u3002\u9014\u4E2D\u306E\u4FDD\u5B58\u306F --draft \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002
38
+
39
+ \u5185\u5BB9\uFF08--content-file\uFF09\u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3001\u9001\u308C\u308B\u30AD\u30FC\u306F ${STEP_KEYS.join(" / ")} \u3067\u3059\u3002
40
+ \u66F8\u304B\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u3044\u307E\u306E\u5165\u529B\u3092\u5F15\u304D\u7D99\u3044\u3067\u9001\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u9001\u3089\u306A\u304B\u3063\u305F\u9805\u76EE\u3092\u7A7A\u306B\u3059\u308B\u305F\u3081\uFF09\u3002\u6D88\u3059\u306A\u3089 null \u3092\u66F8\u3044\u3066\u304F\u3060\u3055\u3044\u3002
41
+ level / position_level / bonus_level \u306F ${LEVELS.join(" / ")} \u304B null\u3001\u30B3\u30E1\u30F3\u30C8\u985E\u306F ${COMMENT_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3002\u5FC5\u9808\u306E\u9805\u76EE\u304C\u6B20\u3051\u3066\u3044\u308B\u3068\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF08\u78BA\u5B9A\u6642\u306E\u307F\uFF09\u3002
42
+ --generate-cli-skeleton \u306F\u305D\u306E\u6BB5\u306E\u4ECA\u306E\u5165\u529B\u3092\u51FA\u3057\u307E\u3059\u3002\u9001\u308B\u524D\u306B\u5BFE\u8C61\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002
43
+
44
+ `+EVALUATION_ID_HINT,flags:[STEP_FLAG,CONTENT_FILE_FLAG,SKELETON_FLAG,DRAFT_FLAG],forbidden:body=>body?.error==="forbidden"||body?.error==="unauthorized"?"\u3053\u306E\u8A55\u4FA1\u6BB5\u3092\u5165\u529B\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5165\u529B\u3067\u304D\u308B\u306E\u306F\u3001\u305D\u306E\u6BB5\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u305F\u8A55\u4FA1\u8005\u3060\u3051\u3067\u3059\u3002":void 0,rejected:server=>server.includes(SERVER_ERROR_TEXT)?"\u66F8\u3051\u308B\u306E\u306F\u3044\u307E\
45
+ \u306E\u6BB5\uFF08current_step\uFF09\u3060\u3051\u3067\u3059\u3002twp evaluation get <\u8A55\u4FA1ID> \u306E current_step \u3068 status_label \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002":void 0,sensitiveBody:SENSITIVE,async prepare(input,ctx){const usage="twp evaluation step update help";stepNumber(input);const path=evaluationPath(input,"evaluation step update");if(noSkeletonWithContent(input,usage)){if(input.flags.has(DRAFT_FLAG.name))throw new UsageError("--generate-cli-skelet\
46
+ on \u3068 --draft \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage);return input}const raw=await readContent(input,"\u8A55\u4FA1\u6BB5\u306E\u5185\u5BB9",usage);if(raw===void 0)throw new UsageError("\u8A55\u4FA1\u6BB5\u306E\u5185\u5BB9\u3092 --content-file <\u30D1\u30B9> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u3072\u306A\u5F62\u306F twp evaluation step update <\u8A55\u4FA1ID> --step <n> --generate-cli-skeleton \u3067\u51FA\u305B\u307E\u3059\u3002");const content=parseContent(
47
+ raw,contentSource(input),STEP_KEYS,"\u8A55\u4FA1\u6BB5\u306E\u5185\u5BB9",usage);checkStepContent(content,contentSource(input));const current=await readEvaluation(ctx,path);const merged={...stepSkeleton(current,stepNumber(input)),...content};return withResolved(input,{body:JSON.stringify(merged),written:JSON.stringify(Object.keys(content)),current:JSON.stringify(current)})},plan:stepPlan,plannedNotes:input=>{if(input.flags.has(SKELETON_FLAG.name))return["\u4ECA\u306E\u8A55\u4FA1\u3092\u8AAD\u3080\u3060\u3051\u3067\u3001\u66F8\u304D\u63DB\u3048\u307E\u305B\u3093"];
48
+ const how=input.flags.has(DRAFT_FLAG.name)?"\u4E00\u6642\u4FDD\u5B58\u3057\u307E\u3059\uFF08\u6BB5\u306F\u78BA\u5B9A\u3057\u307E\u305B\u3093\uFF09":"\u6BB5\u3092\u78BA\u5B9A\u3057\u3001\u6B21\u306E\u8A55\u4FA1\u8005\u3078\u9032\u3081\u307E\u3059\uFF08\u4E00\u6642\u4FDD\u5B58\u306F --draft\uFF09";const written=JSON.parse(requireResolved(input,"written"));return[`\u5165\u529B\u3059\u308B: ${describeEvaluation(currentOf(input))}\u30FB\u6BB5 ${stepNumber(input)}\u30FB\u66F8\u304D\u63DB\u3048\u308B\u9805\u76EE: ${written.
49
+ join(", ")}\uFF08\u305D\u308C\u4EE5\u5916\u306F\u3044\u307E\u306E\u5024\u3092\u9001\u308A\u307E\u3059\uFF09`,how]},execute:async(input,ctx)=>{const plan=stepPlan(input);const body=await ctx.send(plan);if(!input.flags.has(SKELETON_FLAG.name))return{skeleton:false,body};const evaluation=objectOf(body,"\u8A55\u4FA1","evaluation");return{skeleton:true,body:{result:true,evaluation,skeleton:stepSkeleton(evaluation,stepNumber(input))}}},summarize(value){const result=writeResult(value);if(result.skeleton)
50
+ return result.body["skeleton"];return pick(objectOf(result.body,"\u8A55\u4FA1\u6BB5\u306E\u5165\u529B","evaluation"),EVALUATION_WRITE_COLUMNS)},raw(value){const result=writeResult(value);if(result.skeleton)return result.body["skeleton"];return objectOf(result.body,"\u8A55\u4FA1\u6BB5\u306E\u5165\u529B","evaluation")},notes(value){const result=writeResult(value);return result.skeleton?["\u305D\u306E\u6BB5\u306E\u4ECA\u306E\u5165\u529B\u3092\u51FA\u3057\u307E\u3057\u305F\u3002\u76F4\u3057\u3066\u304B\u3089 --content-file \u3067\u9001\u3063\u3066\u304F\u3060\u3055\u3044\uFF08\u9014\u4E2D\u306A\u3089 --draft\uFF09"]:
51
+ serverMessage(result.body)}};var stepResource={name:"step",summary:"\u8A55\u4FA1\u6BB5\u306E\u5165\u529B\uFF08\u8A55\u4FA1\u8005\uFF09",operations:[stepUpdateOperation]};var FEEDBACK_FORBIDDEN=forbiddenOnly("\u3053\u306E\u8A55\u4FA1\u306E\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u6271\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u6271\u3048\u308B\u306E\u306F\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB\u8A55\u4FA1\u5BFE\u8C61\u8005\u306E\u4E0A\u9577\uFF08\u8A55\u4FA1\u671F\u9593\u6642\u70B9\uFF09\u30FB\u6700\u7D42\u6BB5\u306E\u8A55\u4FA1\u8005\u3060\u3051\u3067\u3059\u3002");
52
+ async function feedbackBody(input,usage){const body=await readBody(input,{flag:BODY_FLAG.name,fileFlag:BODY_FILE_FLAG.name,label:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587",maxChars:FEEDBACK_MAX_CHARS,usage});if(body===void 0)throw new UsageError("\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587\u3092 --body-file <\u30D1\u30B9>\uFF08\u307E\u305F\u306F --body\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);return body}function feedbackNotes(input,verb){
53
+ const current=currentOf(input);const body=input.resolved?.["body"];return[`${verb}: ${describeEvaluation(current)}`,...body===void 0?[]:[`\u672C\u6587 ${[...JSON.parse(body)].length} \u6587\u5B57\uFF08\u672C\u6587\u305D\u306E\u3082\u306E\u306F --dry-run --no-redact \u3067\u8868\u793A\u3055\u308C\u307E\u3059\uFF09`]]}var FEEDBACK_STATE_HINT="\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u6271\u3048\u308B\u306E\u306F\u8A55\u4FA1\u5B8C\u4E86\uFF08completed\uFF09\u304B\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4F5C\u6210\u6E08\uFF08feedback_ready\uFF09\u306E\u8A55\u4FA1\u3060\u3051\u3067\u3059\u3002twp evaluation get <\u8A55\u4FA1ID> \u306E status_label \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
54
+ var feedbackSaveOperation={name:"save",summary:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u4E0B\u66F8\u304D\u4FDD\u5B58\u3059\u308B\uFF08\u8A55\u4FA1\u5BFE\u8C61\u8005\u306B\u306F\u5C4A\u304B\u306A\u3044\uFF09",usage:"twp evaluation feedback save <\u8A55\u4FA1ID> (--body-file <\u30D1\u30B9> | --body <\u672C\u6587>)",description:`PUT /api/v2/organization/evaluations/{id}/feedback\u3002\u8A55\u4FA1\u5B8C\u4E86\u5F8C\u306E\u8A55\u4FA1\u3060\u3051\u306B\u4FDD\u5B58\u3067\u304D\u3001\u8A55\u4FA1\u306F\u300C\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4F5C\u6210\u6E08\u300D\u306B\u306A\u308A\u307E\u3059\u3002
55
+ \u4FDD\u5B58\u3057\u305F\u3060\u3051\u3067\u306F\u8A55\u4FA1\u5BFE\u8C61\u8005\u306B\u5C4A\u304D\u307E\u305B\u3093\uFF08\u5C4A\u3051\u308B\u306E\u306F twp evaluation feedback publish\uFF09\u3002
56
+ \u672C\u6587\u306F ${FEEDBACK_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3002\u4FDD\u5B58\u6E08\u307F\u306E\u672C\u6587\u306F\u9001\u3063\u305F\u672C\u6587\u3067\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u8B70\u4E8B\u30E1\u30E2\u30FB\u4F46\u3057\u66F8\u304D\u30FB\u6B21\u671F\u76EE\u6A19\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
57
+
58
+ `+EVALUATION_ID_HINT,flags:[BODY_FLAG,BODY_FILE_FLAG],forbidden:FEEDBACK_FORBIDDEN,rejected:server=>server.includes(SERVER_ERROR_TEXT)||server.includes("\u8A55\u4FA1\u5B8C\u4E86\u5F8C")?FEEDBACK_STATE_HINT:void 0,sensitiveBody:SENSITIVE,async prepare(input,ctx){const body=await feedbackBody(input,"twp evaluation feedback save help");return withResolved(input,{body:JSON.stringify(body),current:JSON.stringify(await readEvaluation(ctx,evaluationPath(input,"evaluation feedback save")))})},plan:input=>({
59
+ method:"PUT",path:evaluationPath(input,"evaluation feedback save","/feedback"),body:{feedback:JSON.parse(requireResolved(input,"body"))}}),plannedNotes:input=>feedbackNotes(input,"\u4E0B\u66F8\u304D\u4FDD\u5B58\u3059\u308B"),summarize:body=>pick(objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u4FDD\u5B58","evaluation"),EVALUATION_WRITE_COLUMNS),raw:body=>objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u4FDD\u5B58","evaluation"),notes:serverMessage};var feedbackSendOperation={
60
+ name:"send",summary:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u4FDD\u5B58\u3057\u3066\u8A55\u4FA1\u5BFE\u8C61\u8005\u3078\u516C\u958B\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",usage:"twp evaluation feedback send <\u8A55\u4FA1ID> (--body-file <\u30D1\u30B9> | --body <\u672C\u6587>) --yes",description:"POST /api/v2/organization/evaluations/{id}/feedback\u3002\u672C\u6587\u3092\u4FDD\u5B58\u3057\u3001\u305D\u306E\u307E\u307E\u516C\u958B\u3057\u307E\u3059\uFF08\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u3078\u901A\u77E5\u3055\u308C\u307E\u3059\uFF09\u3002\n\u26A0 \u516C\u958B\u3092\u53D6\u308A\u6D88\u3059\u65B9\u6CD5\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5148\u306B --dry-run --no-redact \u3067\u9001\u308B\u672C\u6587\u3068\u76F8\u624B\u3092\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\n\u4E0B\u66F8\u304D\u306E\u307E\u307E\u78BA\u304B\u3081\u305F\u3044\u306A\u3089 twp evaluation feedba\
61
+ ck save \u3092\u4F7F\u3044\u3001\u516C\u958B\u306F twp evaluation feedback publish \u3067\u884C\u3048\u307E\u3059\u3002\n\u30B5\u30FC\u30D0\u306F\u4FDD\u5B58\u3057\u3066\u304B\u3089\u516C\u958B\u3057\u307E\u3059\u3002\u516C\u958B\u3060\u3051\u304C\u65AD\u3089\u308C\u305F\uFF08\u6B21\u671F\u76EE\u6A19\u3092\u5199\u305B\u306A\u3044\u7B49\uFF09\u3068\u304D\u306F\u3001\u672C\u6587\u306F\u4FDD\u5B58\u6E08\u307F\u30FB\u672A\u516C\u958B\u3067\u6B8B\u308A\u307E\u3059\u3002\n\n"+EVALUATION_ID_HINT,destructive:true,
62
+ confirmation:"\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u3078\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u516C\u958B\u3057\u3066\u901A\u77E5\u3059\u308B\u64CD\u4F5C\uFF08\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09",flags:[BODY_FLAG,BODY_FILE_FLAG],forbidden:FEEDBACK_FORBIDDEN,rejected:server=>server.includes(SERVER_ERROR_TEXT)||server.includes("\u8A55\u4FA1\u5B8C\u4E86\u5F8C")?FEEDBACK_STATE_HINT:"\u672C\u6587\u306F\u4FDD\u5B58\u6E08\u307F\u3067\u3001\u307E\u3060\u516C\u958B\u3055\u308C\u3066\u3044\u306A\u3044\u5834\u5408\u304C\u3042\u308A\u307E\u3059\uFF08twp evaluation get <\u8A55\u4FA1ID> \u306E status_label \u3067\u78BA\u8A8D\u3057\u3001\u7406\u7531\u3092\u76F4\u3057\u3066\u304B\u3089 twp ev\
63
+ aluation feedback publish \u3067\u516C\u958B\u3067\u304D\u307E\u3059\uFF09\u3002",sensitiveBody:SENSITIVE,async prepare(input,ctx){const body=await feedbackBody(input,"twp evaluation feedback send help");return withResolved(input,{body:JSON.stringify(body),current:JSON.stringify(await readEvaluation(ctx,evaluationPath(input,"evaluation feedback send")))})},plan:input=>({method:"POST",path:evaluationPath(input,"evaluation feedback send","/feedback"),body:{feedback:JSON.parse(requireResolved(input,
64
+ "body"))}}),plannedNotes:input=>feedbackNotes(input,"\u516C\u958B\u3059\u308B\uFF08\u672C\u4EBA\u3078\u901A\u77E5\uFF09"),summarize:body=>pick(objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u9001\u4FE1","evaluation"),EVALUATION_WRITE_COLUMNS),raw:body=>objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u9001\u4FE1","evaluation"),notes:serverMessage};var feedbackPublishOperation={name:"publish",summary:"\u4FDD\u5B58\u6E08\u307F\u306E\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u8A55\u4FA1\u5BFE\u8C61\u8005\u3078\u516C\u958B\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",
65
+ usage:"twp evaluation feedback publish <\u8A55\u4FA1ID> --yes",description:"POST /api/v2/organization/evaluations/{id}/feedback/publish\u3002\u300C\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4F5C\u6210\u6E08\u300D\u306E\u8A55\u4FA1\u3060\u3051\u3092\u516C\u958B\u3067\u304D\u307E\u3059\uFF08\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u3078\u901A\u77E5\u3055\u308C\u307E\u3059\uFF09\u3002\n\u26A0 \u516C\u958B\u3092\u53D6\u308A\u6D88\u3059\u65B9\u6CD5\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u6B21\u671F\u306B\u5411\u3051\u3066\u306E\u76EE\u6A19\u304C\u5165\u3063\u3066\u3044\u308C\u3070\u3001\u516C\u958B\u3068\u540C\u6642\u306B\u6B21\u671F\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3078\u5199\u3055\u308C\u307E\u3059\n\uFF08\u5199\u305B\u306A\u3044\u72B6\u614B\u306A\u3089\u30B5\u30FC\u30D0\u304C\u7406\u7531\u3092\u6DFB\u3048\u3066 422 \u3067\u65AD\u308A\u307E\u3059\uFF09\u3002\u9001\u308B\u524D\u306B\u5BFE\u8C61\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002\n\n"+
66
+ EVALUATION_ID_HINT,destructive:true,confirmation:"\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u3078\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u516C\u958B\u3057\u3066\u901A\u77E5\u3059\u308B\u64CD\u4F5C\uFF08\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09",flags:[],forbidden:FEEDBACK_FORBIDDEN,rejected:server=>server.includes(SERVER_ERROR_TEXT)?"\u516C\u958B\u3067\u304D\u308B\u306E\u306F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4F5C\u6210\u6E08\uFF08feedback_ready\uFF09\u3067\u672C\u6587\u304C\u3042\u308B\u8A55\u4FA1\u3060\u3051\u3067\u3059\u3002twp evaluation get <\u8A55\u4FA1ID> \u306E status_label \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002":
67
+ void 0,sensitiveBody:SENSITIVE,prepare:async(input,ctx)=>withResolved(input,{current:JSON.stringify(await readEvaluation(ctx,evaluationPath(input,"evaluation feedback publish")))}),plan:input=>({method:"POST",path:evaluationPath(input,"evaluation feedback publish","/feedback/publish")}),plannedNotes:input=>{const current=currentOf(input);const feedback=current["feedback"];return[...feedbackNotes(input,"\u516C\u958B\u3059\u308B\uFF08\u672C\u4EBA\u3078\u901A\u77E5\uFF09"),typeof feedback==="string"&&
68
+ feedback!==""?`\u516C\u958B\u3055\u308C\u308B\u672C\u6587 ${[...feedback].length} \u6587\u5B57\uFF08\u672C\u6587\u306F twp evaluation get <\u8A55\u4FA1ID> --no-redact \u306E feedback \u3067\u8AAD\u3081\u307E\u3059\uFF09`:"\u4FDD\u5B58\u6E08\u307F\u306E\u672C\u6587\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09"]},summarize:body=>pick(objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u516C\u958B","evaluation"),EVALUATION_WRITE_COLUMNS),
69
+ raw:body=>objectOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u516C\u958B","evaluation"),notes:serverMessage};var feedbackWriteOperations=[feedbackSaveOperation,feedbackSendOperation,feedbackPublishOperation];var PROJECT_EVALUATION_KEYS=["role_level","evaluation_level","technical_skill","communication","problem_solving","teamwork","overall","comment"];var PERIOD_FLAG={name:"--period",summary:"\u8A55\u4FA1\u671F\u9593\u306E ID\uFF08twp evaluation period current / list \u3067\u78BA\u8A8D\u3067\u304D\u308B\uFF09",
70
+ takesValue:true,placeholder:"<\u8A55\u4FA1\u671F\u9593ID>"};var CURRENT_PERIOD_PATH=`${ORG}/evaluation-periods/current`;var PROJECT_EVALUATION_COLUMNS=["id","project_id","user_id","evaluation_period_id","evaluation_type_label","evaluator_id","evaluation_data"];function projectEvaluationSkeleton(){return Object.fromEntries(PROJECT_EVALUATION_KEYS.map(key=>[key,null]))}function projectEvaluationPlan(input){const raw=input.resolved?.["body"];return{method:"POST",path:`${ORG}/projects/${encodeURIComponent(
71
+ requireResolved(input,"projectId"))}/evaluations`,body:{evaluation_type:"resource",evaluation_period_id:requireResolved(input,"periodId"),user_id:requireResolved(input,"userId"),...raw===void 0?{}:{evaluation_data:JSON.parse(raw)}}}}var projectEvaluationCreateOperation={name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u306E\u8981\u54E1\u8A55\u4FA1\u3092\u4F5C\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",
72
+ usage:"twp project evaluation create <\u30B3\u30FC\u30C9|ID> --user <\u30E6\u30FC\u30B6\u30FC> --period <\u8A55\u4FA1\u671F\u9593ID> [--content-file <\u30D1\u30B9> | --generate-cli-skeleton]",description:`POST /api/v2/organization/projects/{projectId}/evaluations\uFF08evaluation_type=resource\uFF09\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\u3002
73
+ \u540C\u3058\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30FB\u8A55\u4FA1\u671F\u9593\u30FB\u30E6\u30FC\u30B6\u30FC\u306E\u8A55\u4FA1\u304C\u65E2\u306B\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002\u4F5C\u3063\u305F\u8A55\u4FA1\u306F\u4EBA\u4E8B\u8A55\u4FA1\u306E\u8A55\u4FA1\u6BB5\u753B\u9762\u306E\u300C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\u300D\u306B\u51FA\u307E\u3059\u3002
74
+
75
+ \u5185\u5BB9\uFF08--content-file\uFF09\u306F\u8A55\u4FA1\u306E\u4E2D\u8EAB\uFF08evaluation_data\uFF09\u306E JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u3001\u30AD\u30FC\u306F ${PROJECT_EVALUATION_KEYS.join(" / ")} \u3067\u3059\u3002
76
+ \u8A55\u4FA1\u6BB5\u306E\u8868\u306B\u51FA\u308B\u306E\u306F role_level / evaluation_level / comment \u3067\u3059\u3002\u7701\u7565\u3059\u308B\u3068\u30B5\u30FC\u30D0\u304C\u3059\u3079\u3066 null \u306E\u4E2D\u8EAB\u3067\u4F5C\u308A\u307E\u3059\u3002
77
+ --generate-cli-skeleton \u306F\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593\u3092\u8AAD\u307F\u3001\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3057\u307E\u3059\uFF08\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593\u306E ID \u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF09\u3002
78
+
79
+ `+USER_REF_HELP,flags:[USER_REF_FLAG,PERIOD_FLAG,CONTENT_FILE_FLAG,SKELETON_FLAG],forbidden:forbiddenOnly("\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u8A55\u4FA1\u3092\u4F5C\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4F5C\u308C\u308B\u306E\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u3068\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u3067\u3059\u3002"),rejected:server=>server.includes(SERVER_ERROR_TEXT)||server.includes("\u8A55\u4FA1\u671F\u9593")?
80
+ "\u8A55\u4FA1\u671F\u9593\u306E ID \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp evaluation period list\uFF09\u3002":void 0,sensitiveBody:SENSITIVE,async prepare(input,ctx){const usage="twp project evaluation create help";if(noSkeletonWithContent(input,usage))return input;const[ref,...rest]=input.args;if(ref===void 0||ref.trim()==="")throw new UsageError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u304B ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
81
+ usage);if(rest.length>0)throw new UsageError(`project evaluation create \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usage);const userRef=singleRef({...input,args:[]},{flag:USER_REF_FLAG.name,label:"\u30E6\u30FC\u30B6\u30FC",usage});if(userRef===void 0)throw new UsageError("\u8A55\u4FA1\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u3092 --user \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const period=nonEmpty(input.flags,PERIOD_FLAG.
82
+ name)?.trim();if(period===void 0||period==="")throw new UsageError("--period\uFF08\u8A55\u4FA1\u671F\u9593\u306E ID\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593\u306F twp evaluation period current \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");const raw=await readContent(input,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A55\u4FA1\u306E\u5185\u5BB9",usage);const content=raw===void 0?void 0:parseContent(raw,contentSource(input),PROJECT_EVALUATION_KEYS,
83
+ "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A55\u4FA1\u306E\u5185\u5BB9",usage,true);const projectId=await ctx.projectId(ref);const user=await ctx.resolver.user(userRef);return withResolved(input,{projectId,userId:user.id,userName:user.name,periodId:period,...content===void 0?{}:{body:JSON.stringify(content)}})},plan:input=>input.flags.has(SKELETON_FLAG.name)?{method:"GET",path:CURRENT_PERIOD_PATH}:projectEvaluationPlan(input),plannedNotes:input=>input.flags.has(SKELETON_FLAG.name)?["\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593\u3092\u8AAD\u3093\u3067\u3072\u306A\u5F62\u3092\
84
+ \u51FA\u3059\u3060\u3051\u3067\u3001\u8A55\u4FA1\u306F\u4F5C\u308A\u307E\u305B\u3093"]:[`\u4F5C\u308B: ${input.resolved?.["userName"]??"-"} \u306E\u8981\u54E1\u8A55\u4FA1\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ${requireResolved(input,"projectId")}\u30FB\u8A55\u4FA1\u671F\u9593 ${requireResolved(input,"periodId")}\uFF09`],execute:async(input,ctx)=>input.flags.has(SKELETON_FLAG.name)?{skeleton:true,body:await ctx.send({method:"GET",path:CURRENT_PERIOD_PATH})}:{skeleton:false,body:await ctx.send(
85
+ projectEvaluationPlan(input))},summarize(value){const result=writeResult(value);return result.skeleton?projectEvaluationSkeleton():pick(created(result.body),PROJECT_EVALUATION_COLUMNS)},raw(value){const result=writeResult(value);return result.skeleton?projectEvaluationSkeleton():created(result.body)},notes(value){const result=writeResult(value);if(!result.skeleton)return serverMessage(result.body);const period=isRecord(result.body)?result.body["evaluation_period"]:void 0;return["role_level / eva\
86
+ luation_level / comment \u3092\u57CB\u3081\u3066\u304B\u3089 --content-file \u3067\u9001\u3063\u3066\u304F\u3060\u3055\u3044\uFF08\u4F7F\u308F\u306A\u3044\u30AD\u30FC\u306F\u6D88\u3057\u3066\u69CB\u3044\u307E\u305B\u3093\uFF09",isRecord(period)?`\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593: ${text(period["name"])}\uFF08--period ${text(period["id"])}\uFF09`:"\u4ECA\u65E5\u3092\u542B\u3080\u8A55\u4FA1\u671F\u9593\u306F\u3042\u308A\u307E\u305B\u3093\uFF08twp evaluation period list \u3067 ID \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\uFF09"]}};
87
+ function created(body){const row=envelope(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A55\u4FA1\u306E\u4F5C\u6210")["project_evaluation"];if(!isRecord(row)||typeof row["id"]!=="string")throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A55\u4FA1\u306E\u4F5C\u6210\u306E\u5FDC\u7B54\u306B project_evaluation \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return row}var projectEvaluationResource={name:"evalu\
88
+ ation",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u306E\u8981\u54E1\u8A55\u4FA1\uFF08\u4F5C\u6210\uFF09",operations:[projectEvaluationCreateOperation]};export{ORG,PERIODS_PATH,EVALUATIONS_PATH,GOAL_SHEETS_PATH,EVALUATION_FORBIDDEN,forbiddenOnly,SENSITIVE,GOAL_SHEET_FORBIDDEN,singleId,envelope,objectOf,goalSheetWriteOperations,stepResource,feedbackWriteOperations,projectEvaluationResource};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{parseCsvRecords}from"./chunk-7PTFN3H7.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,updateFlags}from"./chunk-WDQMYRPE.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-IWYJSQ5I.js";import{QUALIFICATIONS_PATH,SKILLS_PATH,SKILL_CATEGORIES_PATH,resolveNamed}from"./chunk-2AVQILQQ.js";import{ULID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";
3
+ import{parseCsvRecords}from"./chunk-7PTFN3H7.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,updateFlags}from"./chunk-MPGJU5A7.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import{QUALIFICATIONS_PATH,SKILLS_PATH,SKILL_CATEGORIES_PATH,resolveNamed}from"./chunk-M36DAHMH.js";import{ULID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";
4
4
  import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var GROUPED_PATH="/api/v2/organization/skills/grouped";var SKILL_MAP_PATH="/api/v2/organization/skill-map";var USERS_LIST_PATH="/api/v2/admin/users/list";var USERS_PAGE_LIMIT=100;var USERS_MAX_PAGES=50;var HR_FORBIDDEN="HR\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\uFF08twp skill map / who\uFF09\u306F\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u53C2\u7167\u3067\u304D\u307E\u3059";function groupedSkillRows(body){
5
5
  const categories=isRecord(body)?body["categories"]:void 0;if(!Array.isArray(categories)){throw new ApiResponseError("\u30B9\u30AD\u30EB\u4E00\u89A7\u306E\u5FDC\u7B54\u306B categories \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return categories.flatMap(group=>{const category=isRecord(group)&&isRecord(group["category"])?group["category"]:{};const skills=isRecord(group)&&Array.isArray(group["skills"])?group["\
6
6
  skills"]:[];return skills.filter(isRecord).map(skill=>({...skill,category_id:skill["category_id"]??category["id"]??null,category_name:category["name"]??null}))})}function groupedCategories(body){groupedSkillRows(body);return body["categories"]}function skillMatrix(body){const matrix=isRecord(body)?body["matrix"]:void 0;if(!Array.isArray(matrix)){throw new ApiResponseError("\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u306E\u5FDC\u7B54\u306B matrix \u914D\u5217\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{isModeId,isPermissionModeId}from"./chunk-2LOT54OO.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-MLRBDF44.js";import{BOOLEAN_FLAGS,dispatch,resolveRoute,rewriteQueueCommand}from"./chunk-EOXTDZTA.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var GLOBAL_FLAGS=new Set(["-h","--help","-v","--version","--profile","--output","--query","--dry-run","--debug","--yes","-y","--refresh"]);function parseArgv(rawArgv){const out={command:"tui",safe:false,daemon:false,forceRunner:false,stopForce:false,logoutForce:false,stopDrain:false,noTui:false,doctor:false,yes:false,skillAll:false,includeStopped:false,planEmpty:false,planCheck:false,noAiConfigFile:false,verbose:false,loginMethod:"browser",loginNoBrowser:false,promptFromStdin:false,domainArgv:[],
3
+ import{isModeId,isPermissionModeId}from"./chunk-2LOT54OO.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-C6U2CGX7.js";import{BOOLEAN_FLAGS,dispatch,resolveRoute,rewriteQueueCommand}from"./chunk-EOXTDZTA.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var GLOBAL_FLAGS=new Set(["-h","--help","-v","--version","--profile","--output","--query","--dry-run","--debug","--yes","-y","--refresh"]);function parseArgv(rawArgv){const out={command:"tui",safe:false,daemon:false,forceRunner:false,stopForce:false,logoutForce:false,stopDrain:false,noTui:false,doctor:false,yes:false,skillAll:false,includeStopped:false,planEmpty:false,planCheck:false,noAiConfigFile:false,verbose:false,loginMethod:"browser",loginNoBrowser:false,promptFromStdin:false,domainArgv:[],
4
4
  domainHelp:false,dryRun:false,debug:false,refresh:false,unknown:[],allowedTools:[],disallowedTools:[]};const queue=rewriteQueueCommand(rawArgv);if(queue.moved!==void 0){out.movedCommand=queue.moved;return out}const argv=queue.argv;const route=resolveRoute(dispatch(argv));const consumed=new Set;const[firstIndex,secondIndex]=route.consumed;if(route.kind==="builtin"){out.command=route.command;if(route.action!==void 0)out.taskLoopAction=route.action;for(const index of route.consumed)consumed.add(index)}else if(route.
5
5
  kind==="domain"){if(route.domain===HELP_TOKEN){if(route.operation===void 0){out.command="help";if(firstIndex!==void 0)consumed.add(firstIndex)}else if(isDomainName(route.operation)){out.command="domain";out.domain=route.operation;out.domainHelp=true;if(firstIndex!==void 0)consumed.add(firstIndex);if(secondIndex!==void 0)consumed.add(secondIndex)}else if(route.operation===API_TOKEN){out.command="api";out.domainHelp=true;if(firstIndex!==void 0)consumed.add(firstIndex);if(secondIndex!==void 0)consumed.
6
6
  add(secondIndex)}}else if(route.domain===API_TOKEN){out.command="api";if(firstIndex!==void 0)consumed.add(firstIndex)}else if(isDomainName(route.domain)){out.command="domain";out.domain=route.domain;if(route.operation!==void 0)out.operation=route.operation;for(const index of route.consumed)consumed.add(index)}}const hasSubcommandToken=route.kind==="builtin"||route.kind==="domain"&&(route.domain===HELP_TOKEN||route.domain===API_TOKEN||isDomainName(route.domain));const isDomainRoute=out.command===