@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.
- package/CHANGELOG.public.md +24 -0
- package/README.md +84 -3
- package/dist/{agent-SFDNPV24.js → agent-IVJ5DCFU.js} +1 -1
- package/dist/analysis-DIWOPBN6.js +5 -0
- package/dist/{announcement-XAIC4CNE.js → announcement-KOXBNHSN.js} +1 -1
- package/dist/{api-command-XFQUUFDV.js → api-command-OJORMKTD.js} +3 -3
- package/dist/{app-M56CCOE7.js → app-V6K6YNWR.js} +4 -4
- package/dist/{attendance-correct-CJ3FJSVI.js → attendance-correct-XM26CE65.js} +2 -2
- package/dist/{attendance-lists-RRGFCDZR.js → attendance-lists-VNAHH3R4.js} +2 -2
- package/dist/{backlog-L5VRYZGM.js → backlog-LCGG5HRB.js} +22 -20
- package/dist/budget-OYBU4JFH.js +4 -0
- package/dist/{chunk-MUIN7OUW.js → chunk-23MEOBJF.js} +3 -5
- package/dist/{chunk-VRJF6JLR.js → chunk-5STCZEOX.js} +1 -1
- package/dist/chunk-62GRAKUD.js +38 -0
- package/dist/{chunk-XJ5EKWQY.js → chunk-AVOZLZA5.js} +1 -1
- package/dist/chunk-C6U2CGX7.js +4 -0
- package/dist/{chunk-RTYJWZRA.js → chunk-EGOE26U7.js} +1 -1
- package/dist/{chunk-WWDNWWPJ.js → chunk-EQTXWU2Y.js} +1 -1
- package/dist/{chunk-QUMDKN3U.js → chunk-EQXJOEOK.js} +1 -1
- package/dist/{chunk-Y7QW7MHQ.js → chunk-FCC7JJR5.js} +1 -1
- package/dist/chunk-GLOGPK4Y.js +88 -0
- package/dist/{chunk-FBVSHQST.js → chunk-H7XVCIL7.js} +1 -1
- package/dist/{chunk-QLDKF6GK.js → chunk-IWY2SNST.js} +1 -1
- package/dist/{chunk-2AVQILQQ.js → chunk-M36DAHMH.js} +62 -57
- package/dist/{chunk-OW23MAVO.js → chunk-M37IYSEG.js} +1 -1
- package/dist/{chunk-IWYJSQ5I.js → chunk-M763HXDH.js} +1 -1
- package/dist/{chunk-H4CDX4TX.js → chunk-MMVXE2CJ.js} +4 -3
- package/dist/{chunk-WDQMYRPE.js → chunk-MPGJU5A7.js} +1 -1
- package/dist/{chunk-NMYHFVDR.js → chunk-NYQYDX7G.js} +1 -1
- package/dist/{chunk-E4FUHYC6.js → chunk-P673SKUV.js} +33 -14
- package/dist/chunk-RACLI3FA.js +8 -0
- package/dist/{chunk-GO4KFSBE.js → chunk-T3PYPLTG.js} +106 -23
- package/dist/{chunk-LGJPXLMC.js → chunk-T7MUDWUH.js} +1 -1
- package/dist/{chunk-RMU72S3D.js → chunk-U2CRCBJ3.js} +1 -1
- package/dist/{chunk-4VBSSXGA.js → chunk-U3XIH7WP.js} +1 -1
- package/dist/{chunk-M7UEPYUQ.js → chunk-U6KPYJTM.js} +1 -1
- package/dist/{chunk-AV7L2IEN.js → chunk-UCPK53K4.js} +1 -1
- package/dist/chunk-UVCJXHWN.js +5 -0
- package/dist/{chunk-FJEGS55N.js → chunk-VLBWNFQW.js} +1 -1
- package/dist/chunk-Y5XM6W3S.js +12 -0
- package/dist/{chunk-KPCVSILY.js → chunk-YPS5XHYE.js} +1 -1
- package/dist/{chunk-TJNM7PHZ.js → chunk-ZTDDOUS4.js} +5 -5
- package/dist/cli.js +77 -12
- package/dist/{commands-V7ZBTH7I.js → commands-FOEEAVJQ.js} +1 -1
- package/dist/{commands-2GRO356U.js → commands-ULMFP3LH.js} +47 -46
- package/dist/{company-TF76Z3U5.js → company-BW3U437C.js} +2 -2
- package/dist/{completion-G54M3EFF.js → completion-636S3VU3.js} +1 -1
- package/dist/{configure-3JID6MQ5.js → configure-DONZ3M6N.js} +3 -3
- package/dist/{contract-CFLPFV4I.js → contract-2MANNVJT.js} +2 -2
- package/dist/{department-T22PBYMP.js → department-LT3IM65L.js} +1 -1
- package/dist/{deposit-PLQ7WHOX.js → deposit-RYRCQ2U7.js} +1 -1
- package/dist/{domain-knowledge-YFY5H6UB.js → domain-knowledge-Q2YMI7I2.js} +1 -1
- package/dist/{estimate-DYPQ27KU.js → estimate-MMS326SE.js} +3 -3
- package/dist/evaluation-KSZPNKBM.js +122 -0
- package/dist/{expense-EA77QGLW.js → expense-J7KGZKLH.js} +1 -1
- package/dist/faq-FJUCNBEB.js +68 -0
- package/dist/{fiscal-year-YSFASZEW.js → fiscal-year-AFO5CWDN.js} +1 -1
- package/dist/{holiday-E5WEZU6J.js → holiday-KF2RVJSU.js} +3 -3
- package/dist/{inquiry-LEYPOQWZ.js → inquiry-IAAJYTXP.js} +1 -1
- package/dist/{invoice-CAYBEW65.js → invoice-A3X3JF2H.js} +2 -2
- package/dist/{job-title-RSDAHHVJ.js → job-title-PF4C6D6U.js} +1 -1
- package/dist/{knowledge-GYLFDEXS.js → knowledge-2YF7CJKA.js} +7 -7
- package/dist/{leave-IG7SWPPB.js → leave-2JNN3V3D.js} +3 -3
- package/dist/{license-I2SL53UI.js → license-MRXITCY7.js} +1 -1
- package/dist/{media-TKP7ONY4.js → media-IQ2AIN67.js} +3 -3
- package/dist/{notification-IEANIYPD.js → notification-4YXX6H3D.js} +1 -1
- package/dist/{onedrive-KWVOUGG6.js → onedrive-Z43D26SJ.js} +1 -1
- package/dist/{oneshot-3N2W247J.js → oneshot-ZCGHYKQM.js} +1 -1
- package/dist/{outlook-FQYNTXOB.js → outlook-ZRFSKSJ3.js} +1 -1
- package/dist/{position-CRVEGXPL.js → position-M2MEJBUK.js} +1 -1
- package/dist/project-EF2JKWVC.js +4 -0
- package/dist/{prospect-A2YNQ4DE.js → prospect-R6346ME5.js} +2 -2
- package/dist/{purchase-F3HUNCJE.js → purchase-XCTYVG4N.js} +3 -3
- package/dist/{receivable-K4UKS46G.js → receivable-FVLXVO2S.js} +1 -1
- package/dist/{redmine-MC3RIB7W.js → redmine-EUFN35BT.js} +1 -1
- package/dist/{registry-FAISFFZY.js → registry-TGKZPLKO.js} +1 -1
- package/dist/{report-HUP2TXTK.js → report-6Q3JV4DN.js} +1 -1
- package/dist/{run-UH7QKMO3.js → run-3UJFGBQR.js} +2 -2
- package/dist/{runner-command-YIAPRXZP.js → runner-command-GN45H7TL.js} +1 -1
- package/dist/{sales-ai-review-5BJ3HNP5.js → sales-ai-review-TTWTHKQJ.js} +2 -2
- package/dist/{sales-master-DUTB2DUX.js → sales-master-VKS2HENV.js} +2 -2
- package/dist/{sales-numbering-WTEFGPOV.js → sales-numbering-W2W57UPY.js} +1 -1
- package/dist/{search-3ZPF7X5S.js → search-N45JL2PU.js} +1 -1
- package/dist/{segment-ZKJYMOKV.js → segment-3MKCPWT2.js} +1 -1
- package/dist/{setup-2KAICJYN.js → setup-ICJPTYKW.js} +1 -1
- package/dist/{skill-5NCDQFDN.js → skill-Z3DEECEK.js} +2 -2
- package/dist/{skill-check-VNUNX6IO.js → skill-check-3RWESZ4O.js} +1 -1
- package/dist/{staffing-board-NWZLXYXJ.js → staffing-board-LWUCHN7P.js} +3 -3
- package/dist/{status-command-2FL2SVFR.js → status-command-XOELHUCV.js} +1 -1
- package/dist/{supplier-payment-QKWONHRH.js → supplier-payment-AUT2FZBR.js} +2 -2
- package/dist/{support-MLNODDQT.js → support-OUQWV5KP.js} +2 -2
- package/dist/{task-7RLVDTK2.js → task-7FOEUQJ6.js} +4 -4
- package/dist/{teams-X5WBB5YH.js → teams-FOR3O7KH.js} +1 -1
- package/dist/{user-FA2FIC47.js → user-TRXOR2Q6.js} +4 -4
- package/dist/{user-contract-type-RELV4BV7.js → user-contract-type-MPZQ7Y2P.js} +1 -1
- package/dist/{worker-agent-IPOLSJEA.js → worker-agent-4E5P75SJ.js} +1 -1
- package/dist/{workflow-VJL4FV3U.js → workflow-G7QZZPAX.js} +1 -1
- package/package.json +1 -1
- package/dist/analysis-DPQN4BFG.js +0 -5
- package/dist/budget-T5YJTALN.js +0 -4
- package/dist/chunk-C7MO3RHJ.js +0 -37
- package/dist/chunk-GYB2R6BV.js +0 -11
- package/dist/chunk-L37NS5L2.js +0 -8
- package/dist/chunk-MLRBDF44.js +0 -4
- package/dist/evaluation-NG4DIIJM.js +0 -61
- package/dist/project-JICUCXI5.js +0 -4
- /package/dist/{capacity-list-command-LKOVLAY4.js → capacity-list-command-GFHEKY47.js} +0 -0
- /package/dist/{chunk-NMERFYLD.js → chunk-RY27USNC.js} +0 -0
- /package/dist/{skill-manage-command-E7M7ZSQP.js → skill-manage-command-Z4MLSACA.js} +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{EVALUATIONS_PATH,EVALUATION_FORBIDDEN,GOAL_SHEETS_PATH,GOAL_SHEET_FORBIDDEN,ORG,PERIODS_PATH,SENSITIVE,envelope,feedbackWriteOperations,forbiddenOnly,goalSheetWriteOperations,objectOf,singleId,stepResource}from"./chunk-GLOGPK4Y.js";import"./chunk-UVCJXHWN.js";import{booleanQuery,createFlags,fieldBody,updateFlags}from"./chunk-MPGJU5A7.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";
|
|
4
|
+
import"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
|
|
5
|
+
import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";var GOAL_SHEET_STATUSES=["draft","submitted","approved"];var EVALUATION_STATUSES=["in_progress","completed","feedback_ready","feedback_sent"];var PERIOD_FLAG={name:"--period",summary:"\u8A55\u4FA1\u671F\u9593\u306E ID\uFF08twp evaluation period list / current \u3067\u78BA\u8A8D\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u8A55\u4FA1\u671F\u9593ID>"};var READ_SCOPE_HELP="\u4E00\u89A7\u306B\u51FA\u308B\u306E\u306F\u3001\u3042\u306A\u305F\u304C\u898B\u3066\u3088\u3044\u5206\u3060\u3051\u3067\u3059\uFF08\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306F\u5168\u54E1\u5206\u3001\u305D\u308C\u4EE5\u5916\u306F\u8A55\u4FA1\u671F\u9593\u6642\u70B9\u306E\u90E8\u4E0B\u306E\u5206\uFF1D\u81EA\u5206\u81EA\u8EAB\u306E\u5206\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\n\u6A29\u9650\u304C\u7121\u3044\u4EBA\u306E\u5206\u306F 403 \u3067\u306F\u306A\u304F\u300C\u51FA\u3066\u3053\u306A\u3044\u300D\u306E\u3067\u30010\u4EF6\u3067\u3082\u300C\u305D\u306E\u4EBA\u306E\u5206\u304C\u7121\u3044\u300D\u3068\u306F\u9650\u308A\u307E\u305B\u3093\
|
|
6
|
+
\u3002";var EVALUATION_PAGING_HELP=" \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\n \u30B5\u30FC\u30D0\u306F\u4E26\u3073\u9806\u3092\u56FA\u5B9A\u3057\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002";
|
|
7
|
+
function noArgs(input,command){if(input.args.length>0){throw new UsageError(`${command} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp ${command} help`)}}function periodId(input,required,command){const raw=nonEmpty(input.flags,PERIOD_FLAG.name)?.trim();if(raw===void 0||raw===""){if(required){throw new UsageError(`${command} \u306B\u306F --period\uFF08\u8A55\u4FA1\u671F\u9593\u306E ID\uFF09\u304C\u8981\u308A\u307E\u3059`,"\u8A55\u4FA1\u671F\u9593\u306E ID \u306F twp evaluatio\
|
|
8
|
+
n period current\uFF08\u4ECA\u671F\uFF09\u304B twp evaluation period list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return void 0}if(raw.length>255)throw new UsageError(`--period \u304C\u9577\u3059\u304E\u307E\u3059\uFF08255\u6587\u5B57\u307E\u3067\uFF09: ${raw.slice(0,40)}\u2026`,`twp ${command} help`);return raw}function statusFlag(input,allowed,command){const raw=nonEmpty(input.flags,"--status")?.trim();if(raw===void 0)return void 0;if(!allowed.includes(raw)){throw new UsageError(`--\
|
|
9
|
+
status \u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u5024\u3067\u3059: ${raw}`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${allowed.join(" / ")} \u3067\u3059\uFF08twp ${command} help\uFF09\u3002`)}return raw}function listOf(body,what,key="list"){const list=envelope(body,what)[key];if(!Array.isArray(list))throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B ${key} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
10
|
+
return list}function readPageCursor(body){const record=isRecord(body)?body:{};const page=record["page"];const totalPages=record["total_pages"];if(!Number.isInteger(page)||!Number.isInteger(totalPages)){return{hasMore:`page=${JSON.stringify(page)??"undefined"} / total_pages=${JSON.stringify(totalPages)??"undefined"}`,cursor:void 0}}return page<totalPages?{hasMore:true,cursor:String(page+1)}:{hasMore:false,cursor:null}}function pagePaging(label){return envelopePaging({label,itemsKey:"list",cursorParam:"\
|
|
11
|
+
page",readCursor:readPageCursor})}function pageQuery(input){const cursor=nonEmpty(input.flags,"--cursor")?.trim();if(cursor!==void 0&&!/^[1-9][0-9]*$/.test(cursor)){throw new UsageError(`--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\uFF081\u4EE5\u4E0A\u306E\u6574\u6570\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${cursor}`,"\u7D9A\u304D\u306E\u6848\u5185\u306B\u51FA\u308B\u5024\u3092\u305D\u306E\u307E\u307E\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{page:cursor,limit:positiveInteger(
|
|
12
|
+
input.flags,"--limit")}}var PERIOD_COLUMNS=["id","name","start_ym","end_ym","closed_flg_name"];var periodPaging=pagePaging("\u8A55\u4FA1\u671F\u9593\u4E00\u89A7");var periodListOperation={name:"list",summary:"\u8A55\u4FA1\u671F\u9593\u3092\u4E00\u89A7\u3059\u308B",usage:"twp evaluation period list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30DA\u30FC\u30B8\u756A\u53F7>]",description:`\u30C6\u30CA\u30F3\u30C8\u306E\u8A55\u4FA1\u671F\u9593\u3067\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308C\u3070\u8AB0\u3067\u3082\u8AAD\u3081\u307E\u3059\uFF09\u3002
|
|
13
|
+
--output json \u306F\u30B7\u30FC\u30C8\u69CB\u6210\uFF08sheet_config\uFF09\u30FB\u8A55\u4FA1\u69CB\u6210\uFF08evaluation_config\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
14
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${PERIOD_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
15
|
+
|
|
16
|
+
`+EVALUATION_PAGING_HELP,flags:PAGE_NUMBER_LIST_FLAGS,paging:periodPaging,plan(input){noArgs(input,"evaluation period list");return{method:"GET",path:PERIODS_PATH,query:pageQuery(input)}},summarize:body=>listOf(body,"\u8A55\u4FA1\u671F\u9593\u4E00\u89A7").map(row=>pick(row,PERIOD_COLUMNS)),raw:body=>listOf(body,"\u8A55\u4FA1\u671F\u9593\u4E00\u89A7")};function currentPeriod(body){const value=envelope(body,"\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593")["evaluation_period"];if(value===null)return null;
|
|
17
|
+
if(!isRecord(value)||typeof value["id"]!=="string"){throw new ApiResponseError("\u4ECA\u671F\u306E\u8A55\u4FA1\u671F\u9593\u306E\u5FDC\u7B54\u306B evaluation_period \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return value}var periodCurrentOperation={name:"current",summary:"\u4ECA\u65E5\u3092\u542B\u3080\u8A55\u4FA1\u671F\u9593\u3092\u8868\u793A\u3059\u308B",usage:"twp evaluation period current",description:"\u4ECA\u65E5\u3092\u542B\u3080\u8A55\u4FA1\u671F\u9593\u304C\
|
|
18
|
+
\u7121\u3051\u308C\u3070 null \u3092\u51FA\u3057\u3001stderr \u306B\u305D\u306E\u65E8\u3092\u66F8\u304D\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9\u306F 0\uFF09\u3002",flags:[],plan(input){noArgs(input,"evaluation period current");return{method:"GET",path:`${PERIODS_PATH}/current`}},summarize(body){const period=currentPeriod(body);return period===null?null:pick(period,PERIOD_COLUMNS)},raw:currentPeriod,notes:body=>currentPeriod(body)===null?["\u4ECA\u65E5\u3092\u542B\u3080\u8A55\u4FA1\u671F\u9593\u306F\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08twp evaluation period list \u3067\
|
|
19
|
+
\u5168\u671F\u9593\u3092\u898B\u3089\u308C\u307E\u3059\uFF09\u3002"]:[]};var PERIOD_ADMIN_FORBIDDEN="\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u8A55\u4FA1\u671F\u9593\u306E\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u30FB\u7DE0\u3081\u30FB\u518D\u958B\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059";var PERIOD_DETAIL_COLUMNS=[...PERIOD_COLUMNS,"description","closed_at","closed_by"];var YM_RE=/^\d{4}(0[1-9]|1[0-2])$/;var CONFIG_FILE_MAX_BYTES=256*
|
|
20
|
+
1024;var BOM=/^\uFEFF/;var PERIOD_TEXT_FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u8A55\u4FA1\u671F\u9593\u540D",maxChars:255,summary:"\u8A55\u4FA1\u671F\u9593\u540D\uFF08255\u6587\u5B57\u307E\u3067\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E\uFF081000\u6587\u5B57\u307E\u3067\uFF09"}];var PERIOD_WRITE_FLAGS=[...createFlags(PERIOD_TEXT_FIELDS),{name:"--start",summary:"\u958B\u59CB\u5E74\u6708\uFF08YYYYMM\u30FB\u4F8B 202604\uFF09",
|
|
21
|
+
takesValue:true,placeholder:"<YYYYMM>"},{name:"--end",summary:"\u7D42\u4E86\u5E74\u6708\uFF08YYYYMM\u30FB\u958B\u59CB\u4EE5\u964D\uFF09",takesValue:true,placeholder:"<YYYYMM>"},{name:"--config-file",summary:"\u30B7\u30FC\u30C8\u69CB\u6210\u30FB\u8A55\u4FA1\u69CB\u6210\u306E JSON\uFF08sheet_config / evaluation_config \u3092\u6301\u3064\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3002period get --output json \u306E\u5F62\uFF09",takesValue:true,placeholder:"<JSON>"}];function ymFlag(input,flag){const raw=input.
|
|
22
|
+
flags.get(flag);if(raw===void 0)return void 0;const value=raw.trim();if(!YM_RE.test(value))throw new UsageError(`${flag} \u306F YYYYMM\uFF08\u6708\u306F 01\u301C12\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`\u4F8B: ${flag} 202604`);return value}function readPeriodConfig(file,usage){const parsed=readJsonFile(file,"--config-file",usage);if(!isRecord(parsed))throw new UsageError("--config-file \u306F JSON \u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306B\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
23
|
+
usage);const out={};for(const key of["sheet_config","evaluation_config"]){if(!(key in parsed))continue;const value=parsed[key];if(value!==null&&!isRecord(value))throw new UsageError(`--config-file \u306E ${key} \u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304B null \u306B\u3057\u3066\u304F\u3060\u3055\u3044`,usage);out[key]=value}if(Object.keys(out).length===0){throw new UsageError("--config-file \u306B sheet_config / evaluation_config \u306E\u3069\u3061\u3089\u3082\u3042\u308A\u307E\u305B\u3093",
|
|
24
|
+
"twp evaluation period get <ID> --output json \u306E\u51FA\u529B\u3092\u5143\u306B\u4F5C\u3063\u3066\u304F\u3060\u3055\u3044\u3002")}return out}function periodBody(input,usage){const body=fieldBody(input,PERIOD_TEXT_FIELDS);const start=ymFlag(input,"--start");const end=ymFlag(input,"--end");if(start!==void 0)body["start_ym"]=start;if(end!==void 0)body["end_ym"]=end;const file=nonEmpty(input.flags,"--config-file");if(file!==void 0)Object.assign(body,readPeriodConfig(file,usage));return body}function periodPath(id){
|
|
25
|
+
return`${PERIODS_PATH}/${encodeURIComponent(id)}`}function periodTarget(input,command){return singleId(input,command,"\u8A55\u4FA1\u671F\u9593","\u8A55\u4FA1\u671F\u9593\u306E ID \u306F twp evaluation period list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}async function fetchPeriod(ctx,id){return objectOf(await ctx.resolver.salesJson(periodPath(id),"\u8A55\u4FA1\u671F\u9593"),"\u8A55\u4FA1\u671F\u9593","evaluation_period")}function isClosed(period){return period["closed_f\
|
|
26
|
+
lg"]===1}function periodLabel(period){return`${String(period["name"]??"")}\uFF08${String(period["start_ym"]??"?")}\u301C${String(period["end_ym"]??"?")}\u30FB${isClosed(period)?"\u7DE0\u3081\u6E08\u307F":"\u672A\u7DE0\u3081"}\uFF09`}var periodDetail=body=>objectOf(body,"\u8A55\u4FA1\u671F\u9593","evaluation_period");var periodGetOperation={name:"get",summary:"\u8A55\u4FA1\u671F\u95931\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp evaluation period get <\u8A55\u4FA1\u671F\u9593ID>",
|
|
27
|
+
description:`--output json \u306F\u30B7\u30FC\u30C8\u69CB\u6210\uFF08sheet_config\uFF09\u30FB\u8A55\u4FA1\u69CB\u6210\uFF08evaluation_config\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
28
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${PERIOD_DETAIL_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[],plan:input=>({method:"GET",path:periodPath(periodTarget(input,"evaluation period get"))}),summarize:body=>pick(periodDetail(body),PERIOD_DETAIL_COLUMNS),raw:periodDetail};var periodCreateOperation={name:"create",summary:"\u8A55\u4FA1\u671F\u9593\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp evaluation period create --name <\u540D\u524D> --st\
|
|
29
|
+
art <YYYYMM> --end <YYYYMM> [--description <\u8AAC\u660E>] [--config-file <JSON>]",description:"--name\u30FB--start\u30FB--end \u304C\u5FC5\u9808\u3067\u3059\u3002--config-file \u3092\u7701\u304F\u3068\u3001\u30B7\u30FC\u30C8\u69CB\u6210\u306F\u7A7A\u30FB\u8A55\u4FA1\u69CB\u6210\u306F\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\u306B\u306A\u308A\u307E\u3059\u3002\n\u4F5C\u6210\u3057\u305F\u671F\u9593\u306F\u672A\u7DE0\u3081\u3067\u3059\u3002",forbidden:forbiddenOnly(PERIOD_ADMIN_FORBIDDEN),flags:PERIOD_WRITE_FLAGS,
|
|
30
|
+
prepare(input){const usage="twp evaluation period create help";noArgs(input,"evaluation period create");const body=periodBody(input,usage);for(const[key,flag]of[["name","--name"],["start_ym","--start"],["end_ym","--end"]]){if(body[key]===void 0)throw new UsageError(`${flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage)}if(body["end_ym"]<body["start_ym"]){throw new UsageError(`--end \u306F --start \u4EE5\u964D\u306E\u5E74\u6708\u306B\u3057\u3066\u304F\u3060\u3055\u3044: ${String(
|
|
31
|
+
body["start_ym"])} \u2192 ${String(body["end_ym"])}`,usage)}return Promise.resolve(input)},plan:input=>({method:"POST",path:PERIODS_PATH,body:periodBody(input,"twp evaluation period create help")}),summarize:body=>pick(periodDetail(body),PERIOD_DETAIL_COLUMNS),raw:periodDetail};var periodUpdateOperation={name:"update",summary:"\u8A55\u4FA1\u671F\u9593\u3092\u5909\u66F4\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB\u7DE0\u3081\u6E08\u307F\u306E\u671F\u9593\u306F\u5909\u3048\u3089\u308C\u306A\u3044\uFF09",
|
|
32
|
+
usage:"twp evaluation period update <\u8A55\u4FA1\u671F\u9593ID> [--name <\u540D\u524D>] [--start <YYYYMM>] [--end <YYYYMM>] [--description <\u8AAC\u660E>] [--config-file <JSON>]",description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\uFF08--config-file \u306F\u66F8\u3044\u305F\u30AD\u30FC\uFF1Dsheet_config / evaluation_config \u3092\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059\uFF09\u3002\n\u9001\u308B\u524D\u306B\u4ECA\u306E\u671F\u9593\u3092\u8AAD\u307F\u3001\u7DE0\u3081\u6E08\u307F\u306A\u3089\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\uFF08\u5148\u306B twp evaluation period reopen \u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n--start \u304B --end \u306E\u7247\u65B9\u3060\u3051\u3092\u5909\u3048\u308B\u3068\u304D\u3082\u3001\u4ECA\u306E\u5024\u3068\u5408\u308F\u305B\u3066\u7D42\u4E86\u304C\u958B\u59CB\u3088\u308A\u524D\u306B\u306A\u3089\u306A\u3044\u304B\u3092\u78BA\u304B\u3081\u307E\u3059\u3002",
|
|
33
|
+
forbidden:forbiddenOnly(PERIOD_ADMIN_FORBIDDEN),flags:PERIOD_WRITE_FLAGS,async prepare(input,ctx){const usage="twp evaluation period update help";const id=periodTarget(input,"evaluation period update");const body=periodBody(input,usage);if(Object.keys(body).length===0)throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const period=await fetchPeriod(ctx,id);if(isClosed(period)){throw new UsageError(`\u7DE0\u3081\u6E08\u307F\u306E\u8A55\u4FA1\u671F\u9593\
|
|
34
|
+
\u306F\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: ${periodLabel(period)}`,`\u5148\u306B twp evaluation period reopen ${id} --yes \u3067\u7DE0\u3081\u3092\u89E3\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const start=body["start_ym"]??period["start_ym"];const end=body["end_ym"]??period["end_ym"];if(typeof start==="string"&&typeof end==="string"&&end<start){throw new UsageError(`\u7D42\u4E86\u5E74\u6708\u304C\u958B\u59CB\u5E74\u6708\u3088\u308A\u524D\u306B\u306A\u308A\u307E\u3059: ${start} \u2192\
|
|
35
|
+
${end}`,usage)}return withResolved(input,{id})},plan:input=>({method:"PUT",path:periodPath(requireResolved(input,"id")),body:periodBody(input,"twp evaluation period update help")}),summarize:body=>pick(periodDetail(body),PERIOD_DETAIL_COLUMNS),raw:periodDetail};var periodDeleteOperation={name:"delete",summary:"\u8A55\u4FA1\u671F\u9593\u3092\u524A\u9664\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\u30FB\u7DE0\u3081\u6E08\u307F\u306E\u671F\u9593\u306F\u6D88\u305B\u306A\u3044\uFF09",
|
|
36
|
+
usage:"twp evaluation period delete <\u8A55\u4FA1\u671F\u9593ID> --yes",description:"\u9001\u308B\u524D\u306B\u4ECA\u306E\u671F\u9593\u3092\u8AAD\u307F\u3001\u7DE0\u3081\u6E08\u307F\u306A\u3089\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\u3002--dry-run \u306F\u5BFE\u8C61\u306E\u671F\u9593\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\u3002",destructive:true,forbidden:forbiddenOnly(PERIOD_ADMIN_FORBIDDEN),flags:[],async prepare(input,ctx){const id=periodTarget(input,"evaluation period\
|
|
37
|
+
delete");const period=await fetchPeriod(ctx,id);if(isClosed(period)){throw new UsageError(`\u7DE0\u3081\u6E08\u307F\u306E\u8A55\u4FA1\u671F\u9593\u306F\u524A\u9664\u3067\u304D\u307E\u305B\u3093: ${periodLabel(period)}`,`\u5148\u306B twp evaluation period reopen ${id} --yes \u3067\u7DE0\u3081\u3092\u89E3\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return withResolved(input,{id,label:periodLabel(period)})},plan:input=>({method:"DELETE",path:periodPath(requireResolved(input,"id"))}),plannedNotes:input=>[
|
|
38
|
+
`\u524A\u9664\u3059\u308B\u8A55\u4FA1\u671F\u9593: ${requireResolved(input,"label")}`],summarize:body=>acknowledgement(body,"\u8A55\u4FA1\u671F\u9593\u524A\u9664"),raw:body=>acknowledgement(body,"\u8A55\u4FA1\u671F\u9593\u524A\u9664")};var CLOSE_IMPACT="\u7DE0\u3081\u308B\u3068\u3001\u3053\u306E\u671F\u9593\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u30FB\u8A55\u4FA1\u306E\u5165\u529B\u304C\u5168\u5F93\u696D\u54E1\u3067\u6B62\u307E\u308A\u307E\u3059\u3002";function periodTransition(options){const command=`\
|
|
39
|
+
evaluation period ${options.name}`;return{name:options.name,summary:options.summary,usage:`twp ${command} <\u8A55\u4FA1\u671F\u9593ID> --yes`,description:`${options.impact}
|
|
40
|
+
\u9001\u308B\u524D\u306B\u4ECA\u306E\u671F\u9593\u3092\u8AAD\u307F\u3001\u5BFE\u8C61\u306E\u671F\u9593\u3068\u72B6\u614B\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u306F\u305D\u308C\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002`,destructive:true,confirmation:"\u5168\u5F93\u696D\u54E1\u306E\u8A55\u4FA1\u5165\u529B\u306B\u52B9\u304F\u64CD\u4F5C\uFF08\u5BFE\u8C61\u306F --dry-run \u3067\u898B\u3089\u308C\u307E\u3059\uFF09",forbidden:forbiddenOnly(PERIOD_ADMIN_FORBIDDEN),
|
|
41
|
+
flags:[],async prepare(input,ctx){const id=periodTarget(input,command);const period=await fetchPeriod(ctx,id);if(isClosed(period)===options.wantClosed){throw new UsageError(`\u3053\u306E\u8A55\u4FA1\u671F\u9593\u306F\u65E2\u306B${options.wantClosed?"\u7DE0\u3081\u6E08\u307F":"\u672A\u7DE0\u3081"}\u3067\u3059: ${periodLabel(period)}`,"twp evaluation period list \u3067\u72B6\u614B\uFF08closed_flg_name\uFF09\u3092\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return withResolved(input,{id,label:periodLabel(
|
|
42
|
+
period)})},plan:input=>({method:"POST",path:`${periodPath(requireResolved(input,"id"))}/${options.name}`}),plannedNotes:input=>[`\u5BFE\u8C61\u306E\u8A55\u4FA1\u671F\u9593: ${requireResolved(input,"label")}`,options.impact],summarize:body=>pick(periodDetail(body),PERIOD_DETAIL_COLUMNS),raw:periodDetail}}var periodCloseOperation=periodTransition({name:"close",summary:"\u8A55\u4FA1\u671F\u9593\u3092\u7DE0\u3081\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\u30FB\u5168\u5F93\u696D\u54E1\u306E\u8A55\u4FA1\u5165\u529B\u304C\u6B62\u307E\u308B\uFF09",
|
|
43
|
+
wantClosed:true,impact:CLOSE_IMPACT});var periodReopenOperation=periodTransition({name:"reopen",summary:"\u8A55\u4FA1\u671F\u9593\u306E\u7DE0\u3081\u3092\u89E3\u9664\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09",wantClosed:false,impact:"\u7DE0\u3081\u3092\u89E3\u9664\u3059\u308B\u3068\u3001\u3053\u306E\u671F\u9593\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u30FB\u8A55\u4FA1\u304C\u3075\u305F\u305F\u3073\u5165\u529B\u30FB\u5909\u66F4\u3067\u304D\u308B\u72B6\u614B\u306B\u623B\u308A\u307E\u3059\u3002"});
|
|
44
|
+
var periodResource={name:"period",summary:"\u8A55\u4FA1\u671F\u9593\uFF08\u4E00\u89A7\u30FB\u4ECA\u671F\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u30FB\u7DE0\u3081\u30FB\u518D\u958B\uFF09",operations:[periodListOperation,periodCurrentOperation,periodGetOperation,periodCreateOperation,periodUpdateOperation,periodDeleteOperation,periodCloseOperation,periodReopenOperation]};var CRITERIA_PATH=`${ORG}/evaluation-rating-criteria`;var CRITERIA_SCOPES=["achievement","quanti\
|
|
45
|
+
tative_self_evaluation","behavior_principles","project_role_level","project_evaluation"];var CRITERIA_MAX_DESCRIPTION=500;var LEVEL_LABELS={5:"A",4:"B",3:"C",2:"D",1:"E"};var CRITERIA_FORBIDDEN="\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u8A55\u4FA1\u57FA\u6E96\u3092\u5909\u3048\u3089\u308C\u308B\u306E\u306F\u7BA1\u7406\u8005\u3060\u3051\u3067\u3059\uFF08\u8AAD\u3080\u306E\u306F\u8AB0\u3067\u3082\u3067\u304D\u307E\u3059\uFF09";function criteriaOf(body){const record=envelope(
|
|
46
|
+
body,"\u8A55\u4FA1\u57FA\u6E96");const criteria=record["criteria"];const map=Array.isArray(criteria)&&criteria.length===0?{}:criteria;if(!isRecord(map))throw new ApiResponseError("\u8A55\u4FA1\u57FA\u6E96\u306E\u5FDC\u7B54\u306B criteria \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");const out={};for(const[scope,levels]of Object.entries(map)){out[scope]=Array.isArray(levels)?levels.filter(isRecord).map(entry=>({level:Number(
|
|
47
|
+
entry["level"]),description:String(entry["description"]??"")})):[]}return{criteria:out,scopes:isRecord(record["scopes"])?record["scopes"]:{}}}function criteriaRows(body){const{criteria,scopes}=criteriaOf(body);return Object.entries(criteria).flatMap(([scope,levels])=>levels.map(entry=>({scope,scope_label:scopes[scope]??null,level:entry.level,grade:LEVEL_LABELS[entry.level]??null,description:entry.description})))}function parseCriteriaFile(parsed,usage){const map=isRecord(parsed)&&"criteria"in parsed?
|
|
48
|
+
parsed["criteria"]:parsed;if(!isRecord(map))throw new UsageError('--file \u306F {"criteria": {<\u30B9\u30B3\u30FC\u30D7>: [{level, description}, ...]}} \u306E JSON \u306B\u3057\u3066\u304F\u3060\u3055\u3044',usage);const out={};for(const[scope,levels]of Object.entries(map)){if(!CRITERIA_SCOPES.includes(scope)){throw new UsageError(`\u77E5\u3089\u306A\u3044\u8A55\u4FA1\u9805\u76EE\uFF08\u30B9\u30B3\u30FC\u30D7\uFF09\u3067\u3059: ${scope}`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${CRITERIA_SCOPES.
|
|
49
|
+
join(" / ")} \u3067\u3059\u3002`)}if(!Array.isArray(levels))throw new UsageError(`${scope} \u306F\u30EC\u30D9\u30EB\u306E\u914D\u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044`,usage);const seen=new Set;out[scope]=levels.map((entry,i)=>{const where=`${scope}[${i}]`;if(!isRecord(entry))throw new UsageError(`${where} \u306F {level, description} \u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306B\u3057\u3066\u304F\u3060\u3055\u3044`,usage);const level=entry["level"];if(!Number.isInteger(level)||level<
|
|
50
|
+
1||level>5){throw new UsageError(`${where}.level \u306F 1\u301C5 \u306E\u6574\u6570\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF085=A \u2026 1=E\uFF09: ${JSON.stringify(level)}`,usage)}if(seen.has(level))throw new UsageError(`${scope} \u3067\u30EC\u30D9\u30EB ${String(level)} \u304C2\u56DE\u3042\u308A\u307E\u3059`,usage);seen.add(level);const description=entry["description"];if(typeof description!=="string"||description.trim()===""){throw new UsageError(`${where}.description \u304C\u7A7A\u3067\u3059\uFF08\u7A7A\u306E\u884C\u306F\u30B5\u30FC\u30D0\u304C\u9ED9\u3063\u3066\u6368\u3066\u307E\
|
|
51
|
+
\u3059\u3002\u6D88\u3059\u306A\u3089\u305D\u306E\u884C\u3054\u3068\u9664\u3044\u3066\u304F\u3060\u3055\u3044\uFF09`,usage)}const length=[...description.trim()].length;if(length>CRITERIA_MAX_DESCRIPTION){throw new UsageError(`${where}.description \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${length} \u6587\u5B57\u30FB\u4E0A\u9650 ${CRITERIA_MAX_DESCRIPTION} \u6587\u5B57\uFF09`,usage)}return{level,description:description.trim()}})}return out}function criteriaChangeNotes(before,after){const text=(c,scope,level)=>c[scope]?.
|
|
52
|
+
find(entry=>entry.level===level)?.description.trim();const lines=[];for(const scope of CRITERIA_SCOPES){for(const level of[5,4,3,2,1]){const old=text(before,scope,level);const now=text(after,scope,level);if(old===now)continue;const grade=`${scope} ${LEVEL_LABELS[level]??level}`;lines.push(now===void 0?` ${grade}: \u524A\u9664\uFF08${old}\uFF09`:old===void 0?` ${grade}: \u8FFD\u52A0 \u2192 ${now}`:` ${grade}: ${old} \u2192 ${now}`)}}return lines.length===0?["\u4ECA\u306E\u8A55\u4FA1\u57FA\u6E96\u3068\u540C\u3058\u3067\u3059\uFF08\u9001\u3063\u3066\u3082\u4F55\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002"]:
|
|
53
|
+
[`\u5909\u308F\u308B\u884C ${lines.length} \u4EF6:`,...lines]}async function prepareCriteriaSet(input,ctx){const usage="twp evaluation criteria set help";noArgs(input,"evaluation criteria set");const file=nonEmpty(input.flags,"--file");if(file===void 0)throw new UsageError("--file <JSON> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp evaluation criteria get --output json \u306E\u51FA\u529B\u3092\u5143\u306B\u4F5C\u308C\u307E\u3059\u3002");const after=parseCriteriaFile(readJsonFile(
|
|
54
|
+
file,"--file",usage),usage);const{criteria:before}=criteriaOf(await ctx.resolver.salesJson(CRITERIA_PATH,"\u8A55\u4FA1\u57FA\u6E96"));const omitted=CRITERIA_SCOPES.filter(scope=>(before[scope]?.length??0)>0&&after[scope]===void 0);const notes=[...criteriaChangeNotes(before,after),...omitted.length>0?[`\u30D5\u30A1\u30A4\u30EB\u306B\u7121\u3044\u8A55\u4FA1\u9805\u76EE\u306F\u6D88\u3048\u307E\u3059\uFF08\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\uFF09: ${omitted.join(" / ")}`]:[]];return withResolved(
|
|
55
|
+
input,{criteria:JSON.stringify(after),notes:JSON.stringify(notes)})}var criteriaGetOperation={name:"get",summary:"\u8A55\u4FA1\u57FA\u6E96\uFF08\u8A55\u4FA1\u9805\u76EE\u3054\u3068\u306E A\u301CE \u306E\u8AAC\u660E\uFF09\u3092\u8868\u793A\u3059\u308B",usage:"twp evaluation criteria get",description:"--output table / text / tsv \u306F1\u884C1\u30EC\u30D9\u30EB\uFF08scope / scope_label / level / grade / description\uFF09\u3067\u3059\u3002\n--output json \u306F {criteria, scopes} \u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\u3002\u3053\u308C\u3092\u7DE8\u96C6\u3057\u3066 twp evaluation criteria set --file \u306B\u6E21\u305B\u307E\u3059\u3002",
|
|
56
|
+
flags:[],plan(input){noArgs(input,"evaluation criteria get");return{method:"GET",path:CRITERIA_PATH}},summarize:criteriaRows,raw:criteriaOf};var criteriaSetOperation={name:"set",summary:"\u8A55\u4FA1\u57FA\u6E96\u3092\u7F6E\u304D\u63DB\u3048\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\u30FB--dry-run \u3067\u5DEE\u5206\u3092\u898B\u3089\u308C\u308B\uFF09",usage:"twp evaluation criteria set --file <JSON> --yes",description:`PUT ${CRITERIA_PATH}\u3002\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u3067\u8A55\u4FA1\u57FA\u6E96\u3092**\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059*\
|
|
57
|
+
*\uFF08\u66F8\u304B\u306A\u304B\u3063\u305F\u8A55\u4FA1\u9805\u76EE\u306F\u6D88\u3048\u307E\u3059\uFF09\u3002
|
|
58
|
+
\u30D5\u30A1\u30A4\u30EB\u306F twp evaluation criteria get --output json \u306E\u5F62\uFF08{"criteria": {<\u8A55\u4FA1\u9805\u76EE>: [{"level": 5, "description": "\u2026"}, \u2026]}}\uFF09\u3067\u3059\u3002
|
|
59
|
+
\u8A55\u4FA1\u9805\u76EE\u306F ${CRITERIA_SCOPES.join(" / ")}\u3001level \u306F 5=A \u2026 1=E\u3001description \u306F ${CRITERIA_MAX_DESCRIPTION} \u6587\u5B57\u307E\u3067\u3067\u3059\u3002
|
|
60
|
+
\u9001\u308B\u524D\u306B\u4ECA\u306E\u5024\u3092\u8AAD\u307F\u3001\u5909\u308F\u308B\u884C\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u306F\u5DEE\u5206\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002`,destructive:true,confirmation:"\u5168\u5F93\u696D\u54E1\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u306B\u51FA\u308B\u8A55\u4FA1\u57FA\u6E96\u3092\u7F6E\u304D\u63DB\u3048\u308B\u64CD\u4F5C\uFF08\u5DEE\u5206\u306F --dry-run \u3067\u898B\u3089\u308C\u307E\u3059\uFF09",forbidden:forbiddenOnly(
|
|
61
|
+
CRITERIA_FORBIDDEN),flags:[{name:"--file",summary:"\u8A55\u4FA1\u57FA\u6E96\u306E JSON\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<JSON>"}],prepare:prepareCriteriaSet,plan:input=>({method:"PUT",path:CRITERIA_PATH,body:{criteria:JSON.parse(requireResolved(input,"criteria"))}}),plannedNotes:input=>JSON.parse(requireResolved(input,"notes")),summarize:criteriaRows,raw:criteriaOf};var criteriaResource={name:"criteria",summary:"\u8A55\u4FA1\u57FA\u6E96\uFF08\u8A55\u4FA1\u9805\u76EE\u3054\u3068\u306E A\u301CE \u306E\u8AAC\u660E\u306E\u8868\u793A\u30FB\u7F6E\u304D\u63DB\u3048\uFF09",
|
|
62
|
+
operations:[criteriaGetOperation,criteriaSetOperation]};function readJsonFile(file,flag,usage){try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`${flag} \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>CONFIG_FILE_MAX_BYTES)throw new UsageError(`${flag} \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\uFF09: ${file}`,usage);
|
|
63
|
+
return JSON.parse(fs.readFileSync(file,"utf8").replace(BOM,""))}catch(err){if(err instanceof UsageError)throw err;if(err instanceof SyntaxError)throw new UsageError(`${flag} \u3092 JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093: ${file}`,usage);throw new UsageError(`${flag} \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${err.code??err.message}\uFF09`,usage)}}var EVALUATION_LIST_COLUMNS=["id","user_name","evaluation_period_name","status_label","current_st\
|
|
64
|
+
ep","total_steps","final_level"];var evaluationPaging=pagePaging("\u8A55\u4FA1\u4E00\u89A7");var evaluationListOperation={sensitiveBody:SENSITIVE,name:"list",summary:"\u898B\u3066\u3088\u3044\u7BC4\u56F2\u306E\u8A55\u4FA1\u3092\u4E00\u89A7\u3059\u308B\uFF08--period\u30FB--status\uFF09",usage:"twp evaluation list [--period <\u8A55\u4FA1\u671F\u9593ID>] [--status <\u72B6\u614B>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30DA\u30FC\u30B8\u756A\u53F7>]",description:`${READ_SCOPE_HELP}
|
|
65
|
+
--status \u306F ${EVALUATION_STATUSES.join(" / ")}\uFF08\u8A55\u4FA1\u4E2D / \u8A55\u4FA1\u5B8C\u4E86 / \u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4F5C\u6210\u6E08 / \u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u516C\u958B\u6E08\uFF09\u3067\u3059\u3002
|
|
66
|
+
|
|
67
|
+
--output json \u306F\u8A55\u4FA1\u6BB5\uFF08steps\uFF09\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
68
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${EVALUATION_LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
69
|
+
|
|
70
|
+
`+EVALUATION_PAGING_HELP,flags:[...PAGE_NUMBER_LIST_FLAGS,PERIOD_FLAG,{name:"--status",summary:"\u8A55\u4FA1\u306E\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u72B6\u614B>"}],paging:evaluationPaging,plan(input){noArgs(input,"evaluation list");return{method:"GET",path:EVALUATIONS_PATH,query:{evaluation_period_id:periodId(input,false,"evaluation list"),status:statusFlag(input,EVALUATION_STATUSES,"evaluation list"),...pageQuery(input)}}},summarize:body=>listOf(body,"\u8A55\u4FA1\
|
|
71
|
+
\u4E00\u89A7").map(row=>pick(row,EVALUATION_LIST_COLUMNS)),raw:body=>listOf(body,"\u8A55\u4FA1\u4E00\u89A7")};function subordinateRow(row){const source=isRecord(row)?row:{};const evaluation=isRecord(source["evaluation"])?source["evaluation"]:null;return{user_id:source["user_id"]??null,user_name:source["user_name"]??null,is_direct_subordinate:source["is_direct_subordinate"]??null,has_evaluation_chain:source["has_evaluation_chain"]??null,evaluation_id:evaluation?.["id"]??null,status_label:evaluation===
|
|
72
|
+
null?"\u672A\u4F5C\u6210":evaluation["status_label"]??null,current_step:evaluation?.["current_step"]??null,total_steps:evaluation?.["total_steps"]??null,updated_at:evaluation?.["updated_at"]??null}}var subordinatesOperation={sensitiveBody:SENSITIVE,name:"subordinates",summary:"\u8A55\u4FA1\u8005\u3068\u3057\u3066\u6301\u3064\u90E8\u4E0B\u3068\u3001\u305D\u306E\u8A55\u4FA1\u306E\u72B6\u614B\u3092\u4E00\u89A7\u3059\u308B\uFF08--period \u304C\u8981\u308B\uFF09",usage:"twp evaluation subordinates --\
|
|
73
|
+
period <\u8A55\u4FA1\u671F\u9593ID>",description:"\u8A55\u4FA1\u671F\u9593\u6642\u70B9\u306E\u90E8\u4E0B\uFF08\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306F\u8868\u793A\u5BFE\u8C61\u306E\u5168\u54E1\uFF09\u3068\u3001\u305D\u308C\u305E\u308C\u306E\u8A55\u4FA1\u306E\u72B6\u614B\u3067\u3059\u3002\u8A55\u4FA1\u304C\u307E\u3060\u7121\u3044\u4EBA\u306F\u300C\u672A\u4F5C\u6210\u300D\u3068\u51FA\u307E\u3059\u3002\n\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\n\n--output json \u306F\u8A55\u4FA1\u306E\u8981\u7D04\uFF08evaluation\u30FB\u6BB5\u3054\u3068\u306E\u8A55\u8A9E step_ratings\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
74
|
+
flags:[PERIOD_FLAG],plan(input){noArgs(input,"evaluation subordinates");return{method:"GET",path:`${EVALUATIONS_PATH}/subordinates`,query:{evaluation_period_id:periodId(input,true,"evaluation subordinates")}}},summarize:body=>listOf(body,"\u90E8\u4E0B\u4E00\u89A7").map(subordinateRow),raw:body=>listOf(body,"\u90E8\u4E0B\u4E00\u89A7")};var EVALUATION_GET_COLUMNS=["id","user_name","evaluation_period_name","status_label","current_step","total_steps","visible_steps","final_level","position_level","b\
|
|
75
|
+
onus_level","feedback_status","steps","project_evaluations"];function evaluationGetPlan(input){const id=singleId(input,"evaluation get","\u8A55\u4FA1","\u8A55\u4FA1\u306E ID \u306F twp evaluation list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");return{method:"GET",path:`${EVALUATIONS_PATH}/${encodeURIComponent(id)}`}}function evaluationDetail(body){if(!isRecord(body)||!isRecord(body["evaluation"])||!Array.isArray(body["project_evaluations"])){throw new ApiResponseError("\u8A55\u4FA1\
|
|
76
|
+
\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["evaluation"],project_evaluations:body["project_evaluations"]}}var evaluationGetOperation={name:"get",summary:"\u8A55\u4FA11\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u898B\u3066\u3088\u3044\u8A55\u4FA1\u6BB5\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\u3092\u542B\u3080\uFF09",usage:"t\
|
|
77
|
+
wp evaluation get <\u8A55\u4FA1ID>",description:"\u8A55\u4FA1\u306E\u8A73\u7D30\u3068\u3001\u8A55\u4FA1\u30B9\u30C6\u30C3\u30D7\u753B\u9762\u306E\u5192\u982D\u306B\u51FA\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\uFF08project_evaluations\uFF09\u3092\u7D9A\u3051\u3066\u8AAD\u307F\u307E\u3059\uFF08GET \u30922\u56DE\u9001\u308A\u307E\u3059\uFF09\u3002\n\u8A55\u4FA1\u6BB5\uFF08steps\uFF09\u306F\u3042\u306A\u305F\u304C\u898B\u3066\u3088\u3044\u6BB5\u3060\u3051\u3067\u3059\uFF08visible_steps\uFF09\u3002\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u304C\u8AAD\u3080\u3068\u6BB5\u306F\u7A7A\u3067\u8FD4\u308A\u307E\u3059\u3002\n\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\u306E\u8A55\u8A9E\uFF08role_level / evaluation_level\uFF09\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u4EE5\u5916\u306B\u306F\u4F0F\u305B\u3089\u308C\u307E\u3059\uFF08evaluation_masked\uFF09\u3002\n\n\u8A55\u4FA1\u306E ID \u306F twp evaluation list / subordinates \u306E id\u30FBevaluation_id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF08\u8A55\u4FA1\u8005\u30FB\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u5411\u3051\uFF09\u3002\n\u81EA\u5206\u81EA\u8EAB\u306E\u8A55\u4FA1\u306E ID \u306F\u3001\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u304C\u516C\u958B\u3055\u308C\u305F\u3042\u3068 twp evaluation feedback mine \u306E evaluation_id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002",
|
|
78
|
+
flags:[],forbidden:forbiddenOnly(EVALUATION_FORBIDDEN),sensitiveBody:SENSITIVE,plan:evaluationGetPlan,plannedNotes:()=>["\u7D9A\u3051\u3066 GET .../project-evaluations\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1\uFF09\u3092\u9001\u308A\u307E\u3059\u3002"],async execute(input,ctx){const plan=evaluationGetPlan(input);const evaluation=objectOf(await ctx.send(plan),"\u8A55\u4FA1","evaluation");const projects=listOf(await ctx.send({method:"GET",path:`${plan.path}/project-evaluations`}),
|
|
79
|
+
"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5225\u8A55\u4FA1","items");return{evaluation,project_evaluations:projects}},summarize:body=>pick(evaluationDetail(body),EVALUATION_GET_COLUMNS),raw:evaluationDetail,notes(body){const detail=evaluationDetail(body);const visible=detail["visible_steps"];return Array.isArray(visible)&&visible.length===0?["\u898B\u3066\u3088\u3044\u8A55\u4FA1\u6BB5\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u8A55\u4FA1\u5BFE\u8C61\u8005\u672C\u4EBA\u306B\u306F\u8A55\u4FA1\u6BB5\u304C\u51FA\u307E\u305B\u3093\u3002\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306F twp evaluation feedback mine \u3067\u8AAD\u3081\u307E\u3059\uFF09\u3002"]:
|
|
80
|
+
[]}};var FEEDBACK_COLUMNS=["evaluation_id","evaluation_period_name","overall_rating_label","evaluator_name","feedback_sent_at"];var feedbackMineOperation={sensitiveBody:SENSITIVE,name:"mine",summary:"\u81EA\u5206\u304C\u53D7\u3051\u53D6\u3063\u305F\u8A55\u4FA1\u306E\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u4E00\u89A7\u3059\u308B\uFF08\u516C\u958B\u6E08\u307F\u306E\u3082\u306E\u3060\u3051\uFF09",usage:"twp evaluation feedback mine",description:`\u8A55\u4FA1\u8005\u304C\u516C\u958B\u3057\u305F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3060\u3051\u304C\u65B0\u3057\u3044\u9806\u306B\u51FA\u307E\u3059\uFF08\u4E0B\u66F8\u304D\u30FB\u516C\u958B\u524D\u306E\u3082\u306E\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\
|
|
81
|
+
\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
82
|
+
--output json \u306F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u672C\u6587\uFF08feedback_content\uFF09\u30FB\u4F46\u3057\u66F8\u304D\uFF08notice_remarks\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
83
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${FEEDBACK_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[],plan(input){noArgs(input,"evaluation feedback mine");return{method:"GET",path:`${ORG}/feedbacks/me`}},summarize:body=>listOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4E00\u89A7").map(row=>pick(row,FEEDBACK_COLUMNS)),raw:body=>listOf(body,"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u4E00\u89A7")};var feedbackResource={name:"feedback",summary:"\u8A55\u4FA1\u306E\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\uFF08\u81EA\u5206\u304C\u53D7\u3051\u53D6\u3063\u305F\u5206\u306E\u4E00\u89A7\
|
|
84
|
+
\u30FB\u8A55\u4FA1\u8005\u306B\u3088\u308B\u4FDD\u5B58\u30FB\u9001\u4FE1\u30FB\u516C\u958B\uFF09",operations:[feedbackMineOperation,...feedbackWriteOperations]};var evaluationDomain={name:"evaluation",summary:"\u4EBA\u4E8B\u8A55\u4FA1\uFF08\u8A55\u4FA1\u30FB\u90E8\u4E0B\u306E\u8A55\u4FA1\u72B6\u6CC1\u30FB\u8A55\u4FA1\u671F\u9593\u306E\u8AAD\u307F\u53D6\u308A\u3001\u8A55\u4FA1\u6BB5\u306E\u5165\u529B\u3001\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u306E\u4FDD\u5B58\u30FB\u9001\u4FE1\u30FB\u516C\u958B\u3001\u8A55\u4FA1\u671F\u9593\u30FB\u8A55\u4FA1\u57FA\u6E96\u306E\u7BA1\u7406\uFF09",
|
|
85
|
+
operations:[evaluationListOperation,subordinatesOperation,evaluationGetOperation],subresources:[periodResource,stepResource,criteriaResource,feedbackResource]};var GOAL_SHEET_LIST_COLUMNS=["id","user_name","evaluation_period_id","status_label","submitted_at","approved_at"];var GOAL_SHEET_MINE_COLUMNS=["id","evaluation_period_id","status_label","submitted_at","approved_at","updated_at"];var GOAL_SHEET_GET_COLUMNS=["id","user_name","evaluation_period_name","status_label","submitted_at","approved_a\
|
|
86
|
+
t","can_edit","sections"];var goalSheetPaging=pagePaging("\u76EE\u6A19\u30B7\u30FC\u30C8\u4E00\u89A7");var goalSheetListOperation={sensitiveBody:SENSITIVE,name:"list",summary:"\u898B\u3066\u3088\u3044\u7BC4\u56F2\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08--period\u30FB--status\uFF09",usage:"twp goal-sheet list [--period <\u8A55\u4FA1\u671F\u9593ID>] [--status <\u72B6\u614B>] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30DA\u30FC\u30B8\u756A\u53F7>]",description:`${READ_SCOPE_HELP}\
|
|
87
|
+
|
|
88
|
+
\u90E8\u4E0B\u306E\u5206\u306F\u30AA\u30D6\u30B6\u30FC\u30D0\u30FC\u3068\u3057\u3066\u898B\u3066\u3044\u308B\u4EBA\u30FB\u6848\u4EF6\u306E\u76F4\u5C5E\u4E0A\u9577\u3068\u3057\u3066\u898B\u3066\u3044\u308B\u4EBA\u3082\u542B\u307F\u307E\u3059\u3002
|
|
89
|
+
\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u4EE5\u5916\u304C --period \u3092\u6307\u5B9A\u3057\u3066 --status \u3092\u6307\u5B9A\u3057\u306A\u3044\u3068\u3001\u307E\u3060\u30B7\u30FC\u30C8\u3092\u4F5C\u3063\u3066\u3044\u306A\u3044\u90E8\u4E0B\u3082 id \u304C\u7A7A\u30FB\u72B6\u614B\u300C\u672A\u4F5C\u6210\u300D\u306E\u884C\u3067\u51FA\u307E\u3059\uFF08\u7BA1\u7406\u8005\u306E\u4E00\u89A7\u306B\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002
|
|
90
|
+
--status \u306F ${GOAL_SHEET_STATUSES.join(" / ")}\uFF08\u4E0B\u66F8\u304D / \u63D0\u51FA\u6E08\u307F / \u627F\u8A8D\u6E08\u307F\uFF09\u3067\u3059\u3002
|
|
91
|
+
\u30B5\u30FC\u30D0\u306B\u4EBA\u3067\u7D5E\u308B\u6761\u4EF6\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u7279\u5B9A\u306E\u4EBA\u3060\u3051\u3092\u898B\u308B\u306A\u3089 --query "[?user_id=='<\u30E6\u30FC\u30B6\u30FCID>']" \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002
|
|
92
|
+
|
|
93
|
+
--output json \u306F\u76EE\u6A19\u306E\u4E2D\u8EAB\uFF08sections\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
94
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${GOAL_SHEET_LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
95
|
+
|
|
96
|
+
`+EVALUATION_PAGING_HELP,flags:[...PAGE_NUMBER_LIST_FLAGS,PERIOD_FLAG,{name:"--status",summary:"\u76EE\u6A19\u30B7\u30FC\u30C8\u306E\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u72B6\u614B>"}],paging:goalSheetPaging,plan(input){noArgs(input,"goal-sheet list");return{method:"GET",path:GOAL_SHEETS_PATH,query:{evaluation_period_id:periodId(input,false,"goal-sheet list"),status:statusFlag(input,GOAL_SHEET_STATUSES,"goal-sheet list"),...pageQuery(input)}}},summarize:body=>listOf(
|
|
97
|
+
body,"\u76EE\u6A19\u30B7\u30FC\u30C8\u4E00\u89A7").map(row=>pick(row,GOAL_SHEET_LIST_COLUMNS)),raw:body=>listOf(body,"\u76EE\u6A19\u30B7\u30FC\u30C8\u4E00\u89A7")};var goalSheetMineOperation={sensitiveBody:SENSITIVE,name:"mine",summary:"\u81EA\u5206\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u5168\u8A55\u4FA1\u671F\u9593\uFF09",usage:"twp goal-sheet mine",description:`\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u672C\u4EBA\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u3067\u3059\u3002\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
98
|
+
\u4ECA\u671F\u306E\u30B7\u30FC\u30C8\u304C\u307E\u3060\u7121\u304F\u3066\u3082\u4F5C\u308A\u307E\u305B\u3093\uFF08\u753B\u9762\u306E\u300C\u76EE\u6A19\u8A2D\u5B9A\u300D\u3092\u958B\u304F\u3068\u4F5C\u3089\u308C\u307E\u3059\uFF09\u3002
|
|
99
|
+
--output json \u306F\u76EE\u6A19\u306E\u4E2D\u8EAB\uFF08sections\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${GOAL_SHEET_MINE_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[],plan(input){noArgs(input,"goal-sheet mine");return{method:"GET",path:`${GOAL_SHEETS_PATH}/me`}},summarize:body=>listOf(body,"\u81EA\u5206\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u4E00\u89A7").map(row=>pick(row,GOAL_SHEET_MINE_COLUMNS)),
|
|
100
|
+
raw:body=>listOf(body,"\u81EA\u5206\u306E\u76EE\u6A19\u30B7\u30FC\u30C8\u4E00\u89A7")};var goalSheetGetOperation={name:"get",summary:"\u76EE\u6A19\u30B7\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u76EE\u6A19\u306E\u4E2D\u8EAB\u3092\u542B\u3080\uFF09",usage:"twp goal-sheet get <\u76EE\u6A19\u30B7\u30FC\u30C8ID>",description:"\u76EE\u6A19\u306E\u4E2D\u8EAB\u306F sections \u306B\u3042\u308A\u307E\u3059\uFF08table \u3067\u306F\u5165\u308C\u5B50\u306E\u307E\u307E\u51FA\u308B\u306E\u3067\u3001\u8AAD\u3080\u306A\u3089 --output json \u304B --query sections \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\uFF09\u3002\n\u76EE\u6A19\u30B7\u30FC\u30C8\u306E ID \u306F twp goal-sheet mine / list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002",
|
|
101
|
+
flags:[],forbidden:forbiddenOnly(GOAL_SHEET_FORBIDDEN),sensitiveBody:SENSITIVE,plan(input){const id=singleId(input,"goal-sheet get","\u76EE\u6A19\u30B7\u30FC\u30C8","\u76EE\u6A19\u30B7\u30FC\u30C8\u306E ID \u306F twp goal-sheet mine / list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");return{method:"GET",path:`${GOAL_SHEETS_PATH}/${encodeURIComponent(id)}`}},summarize:body=>pick(objectOf(body,"\u76EE\u6A19\u30B7\u30FC\u30C8","goal_sheet"),GOAL_SHEET_GET_COLUMNS),raw:body=>objectOf(
|
|
102
|
+
body,"\u76EE\u6A19\u30B7\u30FC\u30C8","goal_sheet")};var goalSheetDomain={name:"goal-sheet",summary:"\u76EE\u6A19\u30B7\u30FC\u30C8\uFF08\u81EA\u5206\u306E\u5206\u30FB\u90E8\u4E0B\u306E\u5206\u306E\u4E00\u89A7\u3068\u8A73\u7D30\u306E\u8AAD\u307F\u53D6\u308A\u3001\u76EE\u6A19\u306E\u66F8\u304D\u63DB\u3048\u3068\u63D0\u51FA\uFF09",operations:[goalSheetListOperation,goalSheetMineOperation,goalSheetGetOperation,...goalSheetWriteOperations]};var ROLE_TEMPLATES_PATH=`${ORG}/role-templates`;var ROLE_TEMPLATE_LABEL="\
|
|
103
|
+
\u5F79\u5272\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8";var ROLE_TEMPLATE_COLUMNS=["id","name","department","is_active","sort_order","required_skill_ids","optional_skill_ids"];var ROLE_TEMPLATE_FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${ROLE_TEMPLATE_LABEL}\u306E\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;var ROLE_TEMPLATE_FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D",
|
|
104
|
+
maxChars:255,summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255\u6587\u5B57\u307E\u3067\uFF09"},{kind:"text",flag:"--department",key:"department",label:"\u90E8\u9580",maxChars:255,summary:"\u90E8\u9580\uFF08255\u6587\u5B57\u307E\u3067\u30FB\u81EA\u7531\u8A18\u8FF0\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E\uFF081000\u6587\u5B57\u307E\u3067\uFF09"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u4E26\u3073\u9806",
|
|
105
|
+
min:0,summary:"\u4E26\u3073\u9806\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"boolean",flag:"--active",key:"is_active",summary:"\u6709\u52B9\u306B\u3059\u308B\u304B\uFF08true / false\uFF09"}];var REQUIRED_SKILL_FLAG={name:"--required-skill",summary:"\u5FC5\u9808\u30B9\u30AD\u30EB\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09\u3002\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u3002update \u3067\u306F\u4ECA\u306E\u5FC5\u9808\u30B9\u30AD\u30EB\u3092\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u308B",
|
|
106
|
+
takesValue:true,placeholder:"<\u30B9\u30AD\u30EB>",repeatable:true};var OPTIONAL_SKILL_FLAG={name:"--optional-skill",summary:"\u4EFB\u610F\u30B9\u30AD\u30EB\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09\u3002\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u3002update \u3067\u306F\u4ECA\u306E\u4EFB\u610F\u30B9\u30AD\u30EB\u3092\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u308B",takesValue:true,placeholder:"<\u30B9\u30AD\u30EB>",repeatable:true};var CLEAR_OPTIONAL_FLAG={name:"--clear-optional-skills",
|
|
107
|
+
summary:"\u4EFB\u610F\u30B9\u30AD\u30EB\u3092\u5168\u90E8\u5916\u3059",takesValue:false};async function skillIds(ctx,refs,flag){const ids=[];for(const ref of refs){if(ref.trim()==="")throw new UsageError(`${flag} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u30B9\u30AD\u30EB\u306F twp skill list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");const{id}=await ctx.resolver.skill(ref.trim(),flag);if(!ids.includes(id))ids.push(id)}return ids}async function prepareRoleTemplate(input,ctx,mode){
|
|
108
|
+
const usage=`twp role-template ${mode} help`;const required=repeatedValues(input,REQUIRED_SKILL_FLAG.name);const optional=repeatedValues(input,OPTIONAL_SKILL_FLAG.name);const clearOptional=input.flags.has(CLEAR_OPTIONAL_FLAG.name);if(clearOptional&&optional.length>0){throw new UsageError(`${OPTIONAL_SKILL_FLAG.name} \u3068 ${CLEAR_OPTIONAL_FLAG.name} \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,usage)}const fields=fieldBody(input,ROLE_TEMPLATE_FIELDS);const resolved={};if(mode===
|
|
109
|
+
"create"){noArgs(input,"role-template create");if(fields["name"]===void 0)throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(required.length===0)throw new UsageError(`${REQUIRED_SKILL_FLAG.name} \u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u5FC5\u9808\u30B9\u30AD\u30EB\u306E\u7121\u3044\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09`,usage)}else{resolved["id"]=singleId(
|
|
110
|
+
input,"role-template update",ROLE_TEMPLATE_LABEL,`${ROLE_TEMPLATE_LABEL}\u306E ID \u306F twp role-template list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);if(Object.keys(fields).length===0&&required.length===0&&optional.length===0&&!clearOptional){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage)}}if(required.length>0)resolved["required_skill_ids"]=JSON.stringify(await skillIds(ctx,required,
|
|
111
|
+
REQUIRED_SKILL_FLAG.name));if(optional.length>0)resolved["optional_skill_ids"]=JSON.stringify(await skillIds(ctx,optional,OPTIONAL_SKILL_FLAG.name));if(clearOptional)resolved["optional_skill_ids"]="[]";return withResolved(input,resolved)}function roleTemplateBody(input){const body=fieldBody(input,ROLE_TEMPLATE_FIELDS);for(const key of["required_skill_ids","optional_skill_ids"]){const value=input.resolved?.[key];if(value!==void 0)body[key]=JSON.parse(value)}return body}function roleTemplateRows(body){
|
|
112
|
+
return listOf(body,`${ROLE_TEMPLATE_LABEL}\u4E00\u89A7`)}var roleTemplateDetail=body=>objectOf(body,ROLE_TEMPLATE_LABEL,"role_template");var roleTemplateDomain={name:"role-template",summary:`${ROLE_TEMPLATE_LABEL}\uFF08\u4EBA\u4E8B\u8A55\u4FA1\u3067\u4F7F\u3046\u5F79\u5272\u3054\u3068\u306E\u5FC5\u9808\u30FB\u4EFB\u610F\u30B9\u30AD\u30EB\u306E\u4E00\u89A7\u30FB\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\uFF09`,operations:[{name:"list",summary:`${ROLE_TEMPLATE_LABEL}\u3092\u4E00\u89A7\u3059\u308B\uFF08--active\u30FB--keyword\uFF09`,
|
|
113
|
+
usage:"twp role-template list [--active true|false] [--keyword <\u8A9E>]",description:`\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
114
|
+
--keyword \u306F\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\u30FB\u90E8\u9580\u30FB\u8AAC\u660E\u306E\u90E8\u5206\u4E00\u81F4\u3067\u3059\u3002
|
|
115
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${ROLE_TEMPLATE_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--active",summary:"\u6709\u52B9\uFF08true\uFF09\u30FB\u7121\u52B9\uFF08false\uFF09\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<true|false>"},{name:"--keyword",summary:"\u540D\u524D\u306A\u3069\u306E\u90E8\u5206\u4E00\u81F4",takesValue:true,placeholder:"<\u8A9E>"}],plan(input){noArgs(input,"role-template list");const active=input.flags.get("--activ\
|
|
116
|
+
e");return{method:"GET",path:ROLE_TEMPLATES_PATH,query:{is_active:active===void 0?void 0:booleanQuery("--active",active),keyword:nonEmpty(input.flags,"--keyword")?.trim()}}},summarize:body=>roleTemplateRows(body).map(row=>pick(row,ROLE_TEMPLATE_COLUMNS)),raw:roleTemplateRows},{name:"create",summary:`${ROLE_TEMPLATE_LABEL}\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09`,usage:"twp role-template create --name <\u540D\u524D> --required-skill <\u30B9\u30AD\u30EB> [--required-skill ...] [--optional-s\
|
|
117
|
+
kill <\u30B9\u30AD\u30EB> ...] [--department <\u90E8\u9580>] [--description <\u8AAC\u660E>] [--sort-order <\u6574\u6570>] [--active true|false]",description:"--name \u3068 --required-skill\uFF081\u3064\u4EE5\u4E0A\uFF09\u304C\u5FC5\u9808\u3067\u3059\u3002\u30B9\u30AD\u30EB\u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08twp skill list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002",forbidden:ROLE_TEMPLATE_FORBIDDEN,
|
|
118
|
+
flags:[...createFlags(ROLE_TEMPLATE_FIELDS),REQUIRED_SKILL_FLAG,OPTIONAL_SKILL_FLAG],prepare:(input,ctx)=>prepareRoleTemplate(input,ctx,"create"),plan:input=>({method:"POST",path:ROLE_TEMPLATES_PATH,body:roleTemplateBody(input)}),summarize:body=>pick(roleTemplateDetail(body),ROLE_TEMPLATE_COLUMNS),raw:roleTemplateDetail},{name:"update",summary:`${ROLE_TEMPLATE_LABEL}\u3092\u5909\u66F4\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09`,usage:"twp role-template update <ID> [--name <\u540D\u524D>] [--req\
|
|
119
|
+
uired-skill <\u30B9\u30AD\u30EB> ...] [--optional-skill <\u30B9\u30AD\u30EB> ... | --clear-optional-skills] [--department <\u90E8\u9580>] [--description <\u8AAC\u660E>] [--sort-order <\u6574\u6570>] [--active true|false]",description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\u3002--required-skill / --optional-skill \u306F\u3001\u6307\u5B9A\u3059\u308B\u3068\u305D\u306E\u30B9\u30AD\u30EB\u4E00\u89A7\u3092**\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059**\uFF08\u8DB3\u3059\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\u4ECA\u306E\u30B9\u30AD\u30EB\u3092\u6B8B\u3059\u306A\u3089\u3001\u6B8B\u3059\u3082\u306E\u3082\u542B\u3081\u3066\u5168\u90E8\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp role-template list --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002",
|
|
120
|
+
forbidden:ROLE_TEMPLATE_FORBIDDEN,flags:[...updateFlags(ROLE_TEMPLATE_FIELDS),REQUIRED_SKILL_FLAG,OPTIONAL_SKILL_FLAG,CLEAR_OPTIONAL_FLAG],prepare:(input,ctx)=>prepareRoleTemplate(input,ctx,"update"),plan:input=>({method:"PUT",path:`${ROLE_TEMPLATES_PATH}/${encodeURIComponent(requireResolved(input,"id"))}`,body:roleTemplateBody(input)}),summarize:body=>pick(roleTemplateDetail(body),ROLE_TEMPLATE_COLUMNS),raw:roleTemplateDetail},{name:"delete",summary:`${ROLE_TEMPLATE_LABEL}\u3092\u524A\u9664\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09`,
|
|
121
|
+
usage:"twp role-template delete <ID> --yes",description:"\u8A55\u4FA1\u3067\u4F7F\u308F\u308C\u3066\u3044\u308B\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08409\uFF09\u3002\u4F7F\u308F\u306A\u304F\u3059\u308B\u3060\u3051\u306A\u3089 update --active false \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002",destructive:true,forbidden:ROLE_TEMPLATE_FORBIDDEN,flags:[],plan(input){const id=singleId(input,"role-template delete",ROLE_TEMPLATE_LABEL,
|
|
122
|
+
`${ROLE_TEMPLATE_LABEL}\u306E ID \u306F twp role-template list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);return{method:"DELETE",path:`${ROLE_TEMPLATES_PATH}/${encodeURIComponent(id)}`}},summarize:body=>acknowledgement(body,`${ROLE_TEMPLATE_LABEL}\u524A\u9664`),raw:body=>acknowledgement(body,`${ROLE_TEMPLATE_LABEL}\u524A\u9664`)}]};export{criteriaChangeNotes,evaluationDomain,goalSheetDomain,parseCriteriaFile,readPageCursor,readPeriodConfig,roleTemplateDomain};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{featureLicenseGuidance}from"./chunk-
|
|
3
|
+
import{featureLicenseGuidance}from"./chunk-EQXJOEOK.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";
|
|
4
4
|
import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var BASE="/api/v2/expense/commuting";var WORKFLOW_CATEGORY="commuting_expenses";var LIST_LIMIT_MAX=100;var DEFAULT_LIST_LIMIT=24;var COMMENT_MAX=1e3;var CONTENT_MAX_CHARS=2e4;var STATUSES=["draft","pending","approved","rejected"];var ENTRY_VALUES=["round_trip","one_way",""];var CONTENT_KEYS=["daily_entries","comment"];var LIST_COLUMNS=["id","year_month","status","total_round_trips","total_one_ways","total_amount","updated_at"];var ADMIN_LIST_COLUMNS=["id","user_name","year_month","status","total\
|
|
5
5
|
_round_trips","total_one_ways","total_amount","updated_at"];var GET_COLUMNS=["id","year_month","status","commuting_facilities","commuting_route","commuting_cost_one_way","total_round_trips","total_one_ways","total_amount","workflow_instance_id","comment"];var LICENSE=featureLicenseGuidance("\u7D4C\u8CBB\u7BA1\u7406");var USER_FORBIDDEN=body=>body?.error==="permission_denied"?LICENSE:"\u3053\u306E\u901A\u52E4\u4EA4\u901A\u8CBB\u3092\u64CD\u4F5C\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u81EA\u5206\u306E\u5206\u304B\u3001\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09";
|
|
6
6
|
var ADMIN_FORBIDDEN=body=>body?.error==="permission_denied"?LICENSE:"\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u304B\u3001\u7D4C\u8CBB\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044";var MONTH_FLAG={name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-\
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-RMFLTSOV.js";import{composeDocument,htmlToText,metaLine}from"./chunk-62GRAKUD.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import{FAQS_PATH}from"./chunk-M36DAHMH.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";
|
|
4
|
+
import{MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";
|
|
5
|
+
import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var LABEL="FAQ";var LIST_COLUMNS=["id","category_label","question","updated_at"];var GET_COLUMNS=["id","question","category","category_label","answer_format","visibility_type","assignee_user_id","attachment_ids","updated_at"];var SEARCH_COLUMNS=["id","category_label","question"];var QUESTION_MAX_CHARS=500;var ANSWER_MAX_STORED_CHARS=6e4;var MAX_ATTACHMENTS=30;var KEYWORD_MAX_CHARS=200;var QUERY_MAX_CHARS=1e3;var TOP_K_MAX=10;var EMBED_EXTENSIONS=[".png",".jpg",".jpeg",".gif",".webp",".pdf"];var EMBED_MAX_BYTES=20*
|
|
6
|
+
1024*1024;var TARGET_TYPES=["all","admin_only","user_only","department","department_position","project","user","contract_type"];var TARGET_TYPES_WITHOUT_ID=["all","admin_only","user_only"];var TARGET_KEYS=["target_type","target_id","target_name","min_position_rank","min_position_name"];var DERIVED_TARGET_KEYS=["target_key"];var ANSWER_FORMATS={markup:"markup_v1",html:"html_v1"};var WRITE_FORBIDDEN="FAQ \u306E\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u6DFB\u4ED8\u306B\u306F\u3001\u300C\u793E\u5185FAQ\u7BA1\u7406\u300D\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
7
|
+
var ID_HELP="FAQ \u306E ID \u306F twp faq list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";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 arrayOf(body,key,what){const list=envelope(body,what)[key];if(!Array.isArray(list))throw new ApiResponseError(
|
|
8
|
+
`${what}\u306E\u5FDC\u7B54\u306B ${key} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return list}function faqItem(body,what){const row=envelope(body,what)["faq"];if(!isRecord(row)||typeof row["id"]!=="string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B faq \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return row}function faqAttachmentIds(row){
|
|
9
|
+
const ids=row["attachment_ids"];if(ids===null||ids===void 0)return[];if(!Array.isArray(ids)||!ids.every(id=>typeof id==="string")){throw new ApiResponseError("FAQ \u306E attachment_ids \u304C\u6587\u5B57\u5217\u306E\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return ids}function answerText(row){const answer=row["answer"];if(typeof answer!=="string")return"";return row["answer_format"]==="html_v1"?htmlToText(
|
|
10
|
+
answer):answer.trim()}function faqDocument(body){const row=faqItem(body,LABEL);const attachments=Array.isArray(row["attachments"])?row["attachments"].filter(isRecord):[];return composeDocument(row["question"],[...metaLine("ID",row["id"]),...metaLine("\u30AB\u30C6\u30B4\u30EA",row["category_label"]??row["category"]),...metaLine("\u516C\u958B\u7BC4\u56F2",row["visibility_type"]==="targets"?"\u5BFE\u8C61\u3092\u6307\u5B9A":"\u5168\u54E1"),...metaLine("\u62C5\u5F53\u8005",row["assignee_user_id"]),...metaLine(
|
|
11
|
+
"\u66F4\u65B0",row["updated_at"])],[{body:answerText(row)},...attachments.length>0?[{heading:`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\uFF08${attachments.length} \u4EF6\uFF09`,body:attachments.map(a=>`- ${String(a["file_name"]??a["id"]??"(\u4E0D\u660E)")}\uFF08${String(a["id"]??"")}\uFF09`).join("\n")}]:[]])}function noArgs(input,op){if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp faq ${op} help`)}var FAQ_REF_FLAG={
|
|
12
|
+
name:"--faq",summary:"\u5BFE\u8C61\u306E FAQ \u306E ID\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<FAQ\u306EID>"};function faqId(input,usage){const id=singleRef(input,{flag:FAQ_REF_FLAG.name,label:"FAQ \u306E ID",usage}).trim();if(!isSafePathSegment(id))throw new UsageError(`FAQ \u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,ID_HELP);return id}var itemPath=id=>`${FAQS_PATH}/${encodeURIComponent(
|
|
13
|
+
id)}`;function parseTargets(text,file){let parsed;try{parsed=JSON.parse(text.replace(/^\uFEFF/,""))}catch(error){throw new UsageError(`--targets-file \u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${error.message}\uFF09`,TARGETS_HELP)}if(!Array.isArray(parsed)||parsed.length===0)throw new UsageError(`--targets-file \u306F\u516C\u958B\u5BFE\u8C61\u306E\u914D\u5217\uFF081\u4EF6\u4EE5\u4E0A\uFF09\u306B\u3057\u3066\u304F\u3060\u3055\u3044: ${file}`,TARGETS_HELP);if(parsed.
|
|
14
|
+
length>200)throw new UsageError(`\u516C\u958B\u5BFE\u8C61\u306F 200 \u4EF6\u307E\u3067\u3067\u3059\uFF08${parsed.length} \u4EF6\uFF09`,TARGETS_HELP);return parsed.map((target,index)=>{if(!isRecord(target))throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u304C\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093`,TARGETS_HELP);const unknownKeys=Object.keys(target).filter(key=>!TARGET_KEYS.includes(key)&&!DERIVED_TARGET_KEYS.includes(key));if(unknownKeys.
|
|
15
|
+
length>0)throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u306B\u77E5\u3089\u306A\u3044\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059: ${unknownKeys.join(", ")}`,TARGETS_HELP);const type=target["target_type"];if(typeof type!=="string"||!TARGET_TYPES.includes(type)){throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u306E target_type \u304C\u4E0D\u6B63\u3067\u3059: ${JSON.stringify(type)}`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${TARGET_TYPES.join(" / ")} \u3067\u3059\u3002`)}
|
|
16
|
+
const id=target["target_id"];if(!TARGET_TYPES_WITHOUT_ID.includes(type)&&(typeof id!=="string"||id.trim()==="")){throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\uFF08${type}\uFF09\u306B\u306F target_id \u304C\u8981\u308A\u307E\u3059`,TARGETS_HELP)}return Object.fromEntries(Object.entries(target).filter(([key])=>!DERIVED_TARGET_KEYS.includes(key)))})}var TARGETS_HELP=`--targets-file \u306F\u516C\u958B\u5BFE\u8C61\u306E JSON \u914D\u5217\u3067\u3059\u3002\u4F8B: [{"target_type":"department","target_id":"<\u90E8\u7F72ID>"},{"target_type":"user","t\
|
|
17
|
+
arget_id":"<\u30E6\u30FC\u30B6\u30FCID>"}]
|
|
18
|
+
target_type \u306F ${TARGET_TYPES.join(" / ")}\uFF08${TARGET_TYPES_WITHOUT_ID.join(" / ")} \u4EE5\u5916\u306F target_id \u304C\u8981\u308B\uFF09\u3002\u90E8\u7F72\xD7\u8077\u4F4D\u306F min_position_rank \u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u3044\u307E\u306E\u516C\u958B\u5BFE\u8C61\u306F twp faq get <ID> --output json \u306E visibility_targets \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`;var ANSWER_SPEC={flag:"--answer",fileFlag:"--answer-file",label:"\u56DE\u7B54",maxChars:ANSWER_MAX_STORED_CHARS};
|
|
19
|
+
var BODY_FLAGS=[{name:"--question",summary:`\u8CEA\u554F\uFF08${QUESTION_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u8CEA\u554F>"},{name:"--answer",summary:"\u56DE\u7B54\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u6539\u884C\u3084\u8A18\u53F7\u3092\u542B\u3080\u306A\u3089 --answer-file\uFF09",takesValue:true,placeholder:"<\u56DE\u7B54>"},{name:"--answer-file",summary:"\u56DE\u7B54\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
|
|
20
|
+
takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--answer-format",summary:"\u56DE\u7B54\u306E\u5F62\u5F0F\uFF08markup=\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u30FB\u65E2\u5B9A / html=\u753B\u9762\u306E\u30A8\u30C7\u30A3\u30BF\u3068\u540C\u3058 HTML\uFF09\u3002\u56DE\u7B54\u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u308B",takesValue:true,placeholder:"markup|html"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u3002twp faq categories \u3067\u78BA\u8A8D\uFF09",
|
|
21
|
+
takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"},{name:"--visibility",summary:"\u516C\u958B\u7BC4\u56F2\uFF08all=\u5168\u54E1 / targets=--targets-file \u306E\u5BFE\u8C61\u3060\u3051\uFF09",takesValue:true,placeholder:"all|targets"},{name:"--targets-file",summary:"\u516C\u958B\u5BFE\u8C61\u306E JSON \u914D\u5217\uFF08--visibility targets \u306E\u3068\u304D\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--assignee",summary:"\u62C5\u5F53\u8005\uFF08\u6C0F\u540D\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FBID\u30FBme\uFF09",
|
|
22
|
+
takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"},{name:"--attachment",summary:`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306B\u4ED8\u3051\u308B\u6DFB\u4ED8ID\uFF08twp faq attachment upload \u3067\u5F97\u308B\u30FB\u7E70\u308A\u8FD4\u3057\u53EF\u30FB${MAX_ATTACHMENTS} \u4EF6\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u6DFB\u4ED8ID>",repeatable:true}];var UPDATE_ONLY_FLAGS=[{name:"--no-assignee",summary:"\u62C5\u5F53\u8005\u3092\u5916\u3059",takesValue:false},{name:"--no-attachme\
|
|
23
|
+
nts",summary:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3092\u7A7A\u306B\u3059\u308B\uFF08\u5916\u3057\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3059\u308B\uFF09",takesValue:false}];async function prepareBody(input,ctx,usage,update){const body={};const question=boundedText(input,"--question",{maxChars:QUESTION_MAX_CHARS,label:"\u8CEA\u554F"});if(question!==void 0)body["question"]=question.trim();const answer=await readBody(input,{...ANSWER_SPEC,usage});const format=input.flags.
|
|
24
|
+
get("--answer-format");if(format!==void 0){if(answer===void 0){throw new UsageError("--answer-format \u306F --answer / --answer-file \u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059","\u5F62\u5F0F\u3092\u5909\u3048\u308B\u3068\u304D\u306F\u56DE\u7B54\u672C\u6587\u3082\u9001\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const value=ANSWER_FORMATS[format.trim()];if(value===void 0)throw new UsageError(`--answer-format \u306F markup \u304B html \u3067\u3059: ${format}`,
|
|
25
|
+
usage);body["answer_format"]=value}if(answer!==void 0)body["answer"]=answer;const category=input.flags.get("--category");if(category!==void 0)body["category"]=await ctx.resolver.faqCategory(category);const visibility=input.flags.get("--visibility")?.trim();const targetsFile=input.flags.get("--targets-file");if(visibility!==void 0&&visibility!=="all"&&visibility!=="targets"){throw new UsageError(`--visibility \u306F all \u304B targets \u3067\u3059: ${visibility}`,usage)}if(targetsFile!==void 0){if(visibility===
|
|
26
|
+
"all")throw new UsageError("--visibility all \u3068 --targets-file \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",TARGETS_HELP);const file=path.resolve(targetsFile.trim());let text;try{text=fs.readFileSync(file,"utf8")}catch(error){throw new UsageError(`--targets-file \u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${error.message}\uFF09`)}body["visibility_type"]="targets";body["visibility_targets"]=parseTargets(text,file)}else if(visibility==="targets"){throw new UsageError(
|
|
27
|
+
"--visibility targets \u306B\u306F --targets-file \u304C\u8981\u308A\u307E\u3059",TARGETS_HELP)}else if(visibility==="all"){body["visibility_type"]="all";body["visibility_targets"]=[]}const assignee=input.flags.get("--assignee");if(update&&assignee!==void 0&&input.flags.has("--no-assignee")){throw new UsageError("--assignee \u3068 --no-assignee \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage)}if(assignee!==void 0)body["assignee_user_id"]=(await ctx.resolver.user(assignee,
|
|
28
|
+
"--assignee")).id;if(update&&input.flags.has("--no-assignee"))body["assignee_user_id"]=null;const attachments=[...new Set(repeatedValues(input,"--attachment").map(id=>id.trim()))];if(update&&attachments.length>0&&input.flags.has("--no-attachments")){throw new UsageError("--attachment \u3068 --no-attachments \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage)}for(const id of attachments){if(!isSafePathSegment(id))throw new UsageError(`\u6DFB\u4ED8ID \u306E\u5F62\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${id}`,
|
|
29
|
+
"\u6DFB\u4ED8ID \u306F twp faq attachment upload \u306E attachment_id \u5217\u3067\u5F97\u3089\u308C\u307E\u3059\u3002")}if(attachments.length>MAX_ATTACHMENTS)throw new UsageError(`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u306F ${MAX_ATTACHMENTS} \u4EF6\u307E\u3067\u3067\u3059\uFF08${attachments.length} \u4EF6\uFF09`,usage);if(attachments.length>0)body["attachment_ids"]=attachments;if(update&&input.flags.has("--no-attachments"))body["attachment_ids"]=[];return body}function bodyOf(input){return JSON.
|
|
30
|
+
parse(requireResolved(input,"body"))}var categoriesOperation={name:"categories",summary:"FAQ \u306E\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u3068\u8868\u793A\u540D\uFF09\u3092\u4E00\u89A7\u3059\u308B",usage:"twp faq categories",description:"create / update / list \u306E --category \u306B\u306F\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u3092\u6E21\u305B\u307E\u3059\u3002",flags:[],plan(input){noArgs(input,"categories");return{method:"GET",path:`${FAQS_PATH}/categories`}},summarize:body=>arrayOf(
|
|
31
|
+
body,"categories","FAQ \u30AB\u30C6\u30B4\u30EA\u4E00\u89A7").map(row=>pick(row,["code","label"])),raw:body=>arrayOf(body,"categories","FAQ \u30AB\u30C6\u30B4\u30EA\u4E00\u89A7")};var listOperation={name:"list",summary:"\u81EA\u5206\u306B\u516C\u958B\u3055\u308C\u3066\u3044\u308B FAQ \u3092\u4E00\u89A7\u3059\u308B\uFF08--keyword / --category \u3067\u7D5E\u308B\uFF09",usage:"twp faq list [--keyword <\u8A9E>] [--category <\u30AB\u30C6\u30B4\u30EA>]",description:`\u516C\u958B\u5BFE\u8C61\u306B\u81EA\u5206\u304C\u542B\u307E\u308C\u308B FAQ \u3060\u3051\u304C\u8FD4\u308A\u307E\u3059\uFF08FAQ\u7BA1\u7406\u8005\u30FB\u5168\u4F53\u7BA1\
|
|
32
|
+
\u7406\u8005\u306F\u5168\u4EF6\uFF09\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\u3002
|
|
33
|
+
--keyword \u306F\u8CEA\u554F\u3068\u56DE\u7B54\u306E\u4E21\u65B9\u306B\u52B9\u304D\u307E\u3059\uFF08\u8A9E\u3092\u3059\u3079\u3066\u542B\u3080\u3082\u306E\u3060\u3051\uFF09\u3002\u6587\u7AE0\u3067\u63A2\u3059\u306A\u3089 twp faq search\u3002
|
|
34
|
+
|
|
35
|
+
--output json \u306F\u56DE\u7B54\u672C\u6587\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
36
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--keyword",summary:"\u8CEA\u554F\u30FB\u56DE\u7B54\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\uFF09\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"}],async prepare(input,ctx){noArgs(input,"list");
|
|
37
|
+
boundedText(input,"--keyword",{maxChars:KEYWORD_MAX_CHARS,label:"\u691C\u7D22\u8A9E"});const category=input.flags.get("--category");if(category===void 0)return input;return withResolved(input,{category:await ctx.resolver.faqCategory(category)})},plan:input=>({method:"GET",path:FAQS_PATH,query:{keyword:input.flags.get("--keyword"),category:input.resolved?.["category"]}}),summarize:body=>arrayOf(body,"faqs","FAQ \u4E00\u89A7").map(row=>pick(row,LIST_COLUMNS)),raw:body=>arrayOf(body,"faqs","FAQ \u4E00\u89A7")};
|
|
38
|
+
var GET_USAGE="twp faq get <FAQ\u306EID>";var getOperation={name:"get",summary:"FAQ 1\u4EF6\u306E\u8CEA\u554F\u30FB\u56DE\u7B54\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE,description:"\u516C\u958B\u5BFE\u8C61\u5916\u306E FAQ \u306F\u300C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u300D\u306B\u306A\u308A\u307E\u3059\uFF08\u5B58\u5728\u3059\u308B\u304B\u3069\u3046\u304B\u3082\u5206\u304B\u308A\u307E\u305B\u3093\uFF09\u3002\n--output text \u3067\u8AAD\u3081\u308B\u5F62\uFF08\u8CEA\u554F\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u56DE\u7B54\u30FB\u6DFB\u4ED8\uFF09\u3067\u51FA\u3057\u307E\u3059\u3002HTML \u5F62\u5F0F\u306E\u56DE\u7B54\u306F\u5E73\u6587\u306B\u7573\u307F\u307E\u3059\u3002\n--output json \u306F\u516C\u958B\u5BFE\u8C61\uFF08visibility_targets\uFF09\u30FB\u6DFB\u4ED8\uFF08attachments\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3059\u3002",
|
|
39
|
+
flags:[FAQ_REF_FLAG],plan:input=>({method:"GET",path:itemPath(faqId(input,GET_USAGE))}),summarize:body=>pick(faqItem(body,LABEL),GET_COLUMNS),raw:body=>faqItem(body,LABEL),document:faqDocument};var SEARCH_USAGE='twp faq search "<\u8CEA\u554F\u6587>" [--top-k <\u4EF6\u6570>]';var searchOperation={name:"search",summary:"\u8CEA\u554F\u6587\u304B\u3089\u6839\u62E0\u306B\u306A\u308B FAQ \u3092\u63A2\u3059\uFF08\u753B\u9762\u306E\u300CAI\u306B\u8CEA\u554F\u300D\u306E\u691C\u7D22\u90E8\u5206\uFF09",usage:SEARCH_USAGE,
|
|
40
|
+
description:`\u6587\u7AE0\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08list --keyword \u3068\u9055\u3044\u3001\u8A9E\u3092\u3059\u3079\u3066\u542B\u3080\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u81EA\u5206\u306B\u516C\u958B\u3055\u308C\u3066\u3044\u308B FAQ \u3060\u3051\u304C\u5BFE\u8C61\u3067\u3059\u3002
|
|
41
|
+
\u56DE\u7B54\u6587\u306E\u751F\u6210\u306F\u3057\u307E\u305B\u3093\uFF08\u753B\u9762\u306E\u300CAI\u306B\u8CEA\u554F\u300D\u304C\u8FD4\u3059\u6587\u7AE0\u306F\u4F5C\u308A\u307E\u305B\u3093\uFF09\u3002\u6839\u62E0\u306E FAQ \u3068\u3001\u305D\u306E\u56DE\u7B54\u672C\u6587\uFF08\u5E73\u6587\uFF09\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
42
|
+
1\u4EF6\u3082\u5F53\u305F\u3089\u306A\u3051\u308C\u3070\u3001\u554F\u3044\u5408\u308F\u305B\u5148\u306E FAQ\uFF08fallback_faq\uFF09\u304C\u3042\u308C\u3070\u305D\u308C\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
43
|
+
|
|
44
|
+
--output json \u306F {faqs, fallback_faq} \u3067\u3059\u3002--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${SEARCH_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--top-k",summary:`\u8FD4\u3059\u4EF6\u6570\u306E\u4E0A\u9650\uFF081\u301C${TOP_K_MAX}\u30FB\u65E2\u5B9A 5\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"}],plan(input){const query=input.args.join(" ").trim();if(query==="")throw new UsageError("\u63A2\u3057\u305F\u3044\u8CEA\u554F\u6587\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
45
|
+
SEARCH_USAGE);if([...query].length>QUERY_MAX_CHARS)throw new UsageError(`\u8CEA\u554F\u6587\u304C\u9577\u3059\u304E\u307E\u3059\uFF08\u4E0A\u9650 ${QUERY_MAX_CHARS} \u6587\u5B57\uFF09`,SEARCH_USAGE);const topK=positiveInteger(input.flags,"--top-k");if(topK!==void 0&&topK>TOP_K_MAX)throw new UsageError(`--top-k \u306F 1\u301C${TOP_K_MAX} \u3067\u3059: ${topK}`,SEARCH_USAGE);return{method:"GET",path:`${FAQS_PATH}/ai-context`,query:{query,top_k:topK===void 0?void 0:String(topK)}}},summarize(body){const rows=arrayOf(
|
|
46
|
+
body,"faqs","FAQ \u691C\u7D22").map(row=>pick(row,SEARCH_COLUMNS));const fallback=body["fallback_faq"];return rows.length===0&&isRecord(fallback)?[{...pick(fallback,SEARCH_COLUMNS),fallback:true}]:rows},raw:body=>({faqs:arrayOf(body,"faqs","FAQ \u691C\u7D22"),fallback_faq:body["fallback_faq"]??null}),notes(body){if(!isRecord(body)||!Array.isArray(body["faqs"])||body["faqs"].length>0)return[];return isRecord(body["fallback_faq"])?["\u5F53\u305F\u308B FAQ \u304C\u7121\u304B\u3063\u305F\u305F\u3081\u3001\u554F\u3044\u5408\u308F\u305B\u5148\u306E FAQ\uFF08fallback\uFF09\u3092\u8FD4\u3057\u307E\u3057\u305F\u3002"]:
|
|
47
|
+
["\u5F53\u305F\u308B FAQ \u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002"]}};var CREATE_USAGE="twp faq create --question <\u8CEA\u554F> --answer-file <\u30D1\u30B9> --category <\u30AB\u30C6\u30B4\u30EA> [\u9805\u76EE\u2026]";var createOperation={name:"create",summary:"FAQ \u3092\u767B\u9332\u3059\u308B\uFF08\u793E\u5185FAQ\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",usage:CREATE_USAGE,description:"--question / \u56DE\u7B54\uFF08--answer \u304B --answer-file\uFF09/ --category \u304C\u5FC5\u9808\u3067\u3059\u3002\u516C\u958B\u7BC4\u56F2\u306E\u65E2\u5B9A\u306F\u5168\u54E1\u3067\u3059\u3002\n\u56DE\u7B54\u306F\u65E2\u5B9A\u3067\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\uFF08\
|
|
48
|
+
\u5E73\u6587\uFF0B:::image \u7B49\u306E\u884C\uFF09\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002\u753B\u9762\u3067\u4F5C\u3063\u305F HTML \u306E\u56DE\u7B54\u3092\u6E21\u3059\u306A\u3089 --answer-format html\u3002\n\u672C\u6587\u306B\u753B\u50CF\u30FBPDF \u3092\u5DEE\u3057\u8FBC\u3080\u306A\u3089 twp faq attachment embed \u3067\u5F97\u305F\u30DE\u30FC\u30AB\u30FC\u884C\u3092\u56DE\u7B54\u306B\u5165\u308C\u307E\u3059\u3002\n\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3078\u4ED8\u3051\u308B\u306A\u3089 twp faq attachment upload \u3067\u5F97\u305F\u6DFB\u4ED8ID \u3092 --attachment \u3067\u6E21\u3057\u307E\u3059\uFF0830\u5206\u4EE5\u5185\uFF09\u3002\n\n"+
|
|
49
|
+
TARGETS_HELP,forbidden:WRITE_FORBIDDEN,flags:BODY_FLAGS,async prepare(input,ctx){noArgs(input,"create");const body=await prepareBody(input,ctx,CREATE_USAGE,false);const missing=[["question","--question"],["answer","--answer / --answer-file"],["category","--category"]].filter(([key])=>body[key]===void 0);if(missing.length>0)throw new UsageError(`${missing.map(([,flag])=>flag).join("\u30FB")} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,CREATE_USAGE);return withResolved(input,{body:JSON.
|
|
50
|
+
stringify(body)})},plan:input=>({method:"POST",path:FAQS_PATH,body:bodyOf(input)}),summarize:body=>pick(faqItem(body,"FAQ \u306E\u767B\u9332"),GET_COLUMNS),raw:body=>faqItem(body,"FAQ \u306E\u767B\u9332")};var UPDATE_USAGE="twp faq update <FAQ\u306EID> [\u9805\u76EE\u2026]";var updateOperation={name:"update",summary:"FAQ \u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE,description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u9001\u308A\u307E\u3059\uFF08\u62C5\u5F53\u8005\u306A\u3069\u3001\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\
|
|
51
|
+
\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\u5909\u3048\u308B\u9805\u76EE\u304C1\u3064\u3082\u7121\u3044\u3068\u30A8\u30E9\u30FC\u3067\u3059\u3002\n--answer-format \u306F\u56DE\u7B54\u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u5F62\u5F0F\u3060\u3051\u3092\u5909\u3048\u308B\u3068\u672C\u6587\u3068\u98DF\u3044\u9055\u3046\u305F\u3081\uFF09\u3002\u56DE\u7B54\u3092\u9001\u3063\u3066\u5F62\u5F0F\u3092\u7701\u304F\u3068\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u3067\u4FDD\u5B58\u3055\u308C\u307E\u3059\n\uFF08\u3044\u307E\u306E\u56DE\u7B54\u304C HTML \u5F62\u5F0F\u306A\u3089\u9001\u308B\u524D\u306B\u8B66\u544A\u3057\u3001--yes \u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n--attachment \u306F\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3092\u6307\u5B9A\u3057\u305F\u6DFB\u4ED8ID \u3067\u7F6E\u304D\u63DB\u3048\u307E\u3059\u3002\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8\u306F\u3001\u6B8B\u3059\u306A\u3089\u305D\u306E ID \u3082\u4E26\u3079\u3066\u304F\u3060\u3055\u3044\n\uFF08\u5916\u308C\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059\u3002\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8\u304C\u5916\u308C\u308B\u3068\u304D\u306F\u9001\u308B\u524D\u306B\u8B66\u544A\u3057\u3001--yes \u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n\n"+
|
|
52
|
+
TARGETS_HELP,forbidden:WRITE_FORBIDDEN,flags:[...BODY_FLAGS,...UPDATE_ONLY_FLAGS,FAQ_REF_FLAG],async prepare(input,ctx){const id=faqId(input,UPDATE_USAGE);const body=await prepareBody(input,ctx,UPDATE_USAGE,true);if(Object.keys(body).length===0)throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp faq update help");return withResolved(input,{id,body:JSON.stringify(body)})},plan:input=>({method:"PUT",path:itemPath(requireResolved(
|
|
53
|
+
input,"id")),body:bodyOf(input)}),async preview(input,ctx){const body=bodyOf(input);const next=body["attachment_ids"];const formatReset=body["answer"]!==void 0&&body["answer_format"]===void 0;if(!Array.isArray(next)&&!formatReset)return{notes:[],warnings:[]};const current=faqItem(await ctx.send({method:"GET",path:itemPath(requireResolved(input,"id"))}),LABEL);const warnings=[];if(Array.isArray(next)){const dropped=faqAttachmentIds(current).filter(id=>!next.includes(id));if(dropped.length>0)warnings.
|
|
54
|
+
push(`\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8 ${dropped.length} \u4EF6\u304C\u5916\u308C\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059: ${dropped.join(" ")}\uFF08\u6B8B\u3059\u306A\u3089 --attachment \u306B\u4E26\u3079\u3066\u304F\u3060\u3055\u3044\uFF09`)}if(formatReset&¤t["answer_format"]==="html_v1"){warnings.push("\u3044\u307E\u306E\u56DE\u7B54\u306F HTML \u5F62\u5F0F\u3067\u3059\u3002--answer-format \u3092\u7701\u304F\u3068\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF08HTML \u306E\u307E\u307E\u306A\u3089 --answer-format html \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF09\u3002")}
|
|
55
|
+
return{notes:[],warnings}},summarize:body=>pick(faqItem(body,"FAQ \u306E\u66F4\u65B0"),GET_COLUMNS),raw:body=>faqItem(body,"FAQ \u306E\u66F4\u65B0")};var DELETE_USAGE="twp faq delete <FAQ\u306EID> --yes";var deleteOperation={name:"delete",summary:"FAQ \u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",usage:DELETE_USAGE,description:"\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306E\u6DFB\u4ED8\u3082\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059\u3002\u9001\u308B\u524D\u306B\u3001\u6D88\u3048\u308B FAQ \u306E\u8CEA\u554F\u3092\u8868\u793A\u3057\u307E\u3059\u3002",
|
|
56
|
+
destructive:true,forbidden:WRITE_FORBIDDEN,flags:[FAQ_REF_FLAG],plan:input=>({method:"DELETE",path:itemPath(faqId(input,DELETE_USAGE))}),async preview(input,ctx){const row=faqItem(await ctx.send({method:"GET",path:itemPath(faqId(input,DELETE_USAGE))}),LABEL);const attachments=faqAttachmentIds(row).length;return{notes:[`\u524A\u9664\u3059\u308B FAQ: ${String(row["question"])}${attachments>0?`\uFF08\u6DFB\u4ED8 ${attachments} \u4EF6\u3082\u524A\u9664\u3055\u308C\u307E\u3059\uFF09`:""}`],warnings:[]}},
|
|
57
|
+
summarize:body=>acknowledgement(body,"FAQ \u306E\u524A\u9664"),raw:body=>acknowledgement(body,"FAQ \u306E\u524A\u9664")};var UPLOAD_USAGE="twp faq attachment upload --file <\u30D1\u30B9> [--name <\u30D5\u30A1\u30A4\u30EB\u540D>]";var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var NAME_FLAG={name:"--name",summary:"\u30B5\u30FC\u30D0\u306B\u4FDD\u5B58\u3059\u308B\
|
|
58
|
+
\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u540D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"};function localFile(input,usage){const{file,size}=inspectLocalFile(input.flags.get("--file"),"--file",usage);const nameFlag=input.flags.get("--name")?.trim();const name=nameFlag!==void 0&&nameFlag!==""?nameFlag:path.basename(file);return{file,name,size,contentType:contentTypeFor(name)}}function uploadUrlPlan(input){
|
|
59
|
+
const{name,size,contentType}=localFile(input,UPLOAD_USAGE);return{method:"POST",path:"/api/v2/attachments/upload-url",body:{file_name:name,content_type:contentType,file_size:size,source:"faq"}}}var uploadOperation={name:"upload",summary:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306B\u4ED8\u3051\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u3052\u3001\u6DFB\u4ED8ID \u3092\u5F97\u308B",usage:UPLOAD_USAGE,description:"\u753B\u9762\u306E FAQ \u7DE8\u96C6\u306E\u300C\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u300D\u6B04\u3068\u540C\u3058\u3067\u3059\u3002\u4E0A\u3052\u305F\u3060\u3051\u3067\u306F FAQ \u306B\u4ED8\u304D\u307E\u305B\u3093\u3002\n\u8FD4\u3063\u305F attachment_id \u3092 twp faq create \
|
|
60
|
+
/ update \u306E --attachment \u3078\u6E21\u3059\u3068\u4ED8\u304D\u307E\u3059\u3002\n30\u5206\u4EE5\u5185\u306B\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08\u4ED8\u3051\u306A\u304B\u3063\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u81EA\u52D5\u3067\u524A\u9664\u3057\u307E\u3059\uFF09\u3002\u6A29\u9650\uFF08\u793E\u5185FAQ\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09\u306F\u4ED8\u3051\u308B\u3068\u304D\u306B\u691C\u67FB\u3055\u308C\u307E\u3059\u3002\n\u56DE\u7B54\u672C\u6587\u306E\u4E2D\u306B\u753B\u50CF\u30FBPDF \u3092\u5DEE\u3057\u8FBC\u307F\u305F\u3044\u3068\u304D\u306F twp faq attachment embed \u3092\u4F7F\u3044\u307E\u3059\u3002",
|
|
61
|
+
flags:[FILE_FLAG,NAME_FLAG],plan:input=>{noArgs(input,"attachment upload");return uploadUrlPlan(input)},async execute(input,ctx){const{file,name,size,contentType}=localFile(input,UPLOAD_USAGE);await checkUploadQuota(ctx,size);const{id,uploadUrl}=issued(await ctx.send(uploadUrlPlan(input)));const bytes=new Uint8Array(fs.readFileSync(file));if(bytes.byteLength!==size)throw new UsageError(`\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size}\
|
|
62
|
+
\u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`);await ctx.putSigned(uploadUrl,bytes,contentType);return{result:true,attachment_id:id,file_name:name,content_type:contentType,file_size:size}},summarize:uploaded,raw:uploaded,notes:body=>isRecord(body)?[`30\u5206\u4EE5\u5185\u306B twp faq create / update --attachment ${String(body["attachment_id"])} \u3067 FAQ \u306B\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`]:[]};function uploaded(body){const row=envelope(body,"\u6DFB\u4ED8\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9");
|
|
63
|
+
return pick(row,["attachment_id","file_name","content_type","file_size"])}var EMBED_USAGE="twp faq attachment embed --file <\u30D1\u30B9>";var embedOperation={name:"embed",summary:"\u56DE\u7B54\u672C\u6587\u3078\u5DEE\u3057\u8FBC\u3080\u753B\u50CF\u30FBPDF \u3092\u4E0A\u3052\u3001\u672C\u6587\u306B\u7F6E\u304F\u30DE\u30FC\u30AB\u30FC\u884C\u3092\u5F97\u308B",usage:EMBED_USAGE,description:"\u753B\u9762\u306E\u56DE\u7B54\u30A8\u30C7\u30A3\u30BF\u306E\u300C\u753B\u50CF\u30FBPDF\u3092\u633F\u5165\u300D\u3068\u540C\u3058\u3067\u3059\uFF08\u753B\u50CF\u306F png / jpg / gif / webp\u3001\u307B\u304B\u306F PDF\u30FB20MB \u307E\u3067\uFF09\u3002\n\u8FD4\u3063\u305F marker\uFF08:::image \u2026 / :::file \u2026 \u306E\u884C\
|
|
64
|
+
\uFF09\u3092\u56DE\u7B54\u672C\u6587\uFF08--answer-file\uFF09\u306B\u5165\u308C\u3066 create / update \u3057\u307E\u3059\uFF08\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u306E\u56DE\u7B54\u306E\u3068\u304D\uFF09\u3002\ndisplay_marker \u306F\u7F72\u540D\u4ED8\u304DURL\u306E\u5165\u3063\u305F\u8868\u793A\u7528\u306E\u884C\u3067\u3001\u4FDD\u5B58\u6642\u306B\u30B5\u30FC\u30D0\u304C marker \u3068\u540C\u3058\u5F62\u3078\u623B\u3057\u307E\u3059\u3002",forbidden:WRITE_FORBIDDEN,flags:[FILE_FLAG],async prepare(input){
|
|
65
|
+
noArgs(input,"attachment embed");const{file,size}=inspectLocalFile(input.flags.get("--file"),"--file",EMBED_USAGE);const ext=path.extname(file).toLowerCase();if(!EMBED_EXTENSIONS.includes(ext))throw new UsageError(`\u5DEE\u3057\u8FBC\u3081\u308B\u306E\u306F\u753B\u50CF\uFF08png / jpg / gif / webp\uFF09\u304B PDF \u3067\u3059: ${file}`,EMBED_USAGE);if(size>EMBED_MAX_BYTES)throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${size} \u30D0\u30A4\u30C8\u30FB\u4E0A\u9650 20MB\uFF09: ${file}`,
|
|
66
|
+
EMBED_USAGE);return withResolved(input,{fileName:path.basename(file),fileBase64:fs.readFileSync(file).toString("base64")})},plan:input=>{const fileName=requireResolved(input,"fileName");return{method:"POST",path:`${FAQS_PATH}/attachments`,body:new MultipartBody({},[{field:"file",filename:fileName,contentType:contentTypeFor(fileName),bytes:new Uint8Array(Buffer.from(requireResolved(input,"fileBase64"),"base64"))}])}},summarize:embedded,raw:embedded};function embedded(body){const row=envelope(body,
|
|
67
|
+
"\u753B\u50CF\u30FBPDF \u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9");if(typeof row["marker"]!=="string")throw new ApiResponseError("\u753B\u50CF\u30FBPDF \u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306E\u5FDC\u7B54\u306B marker \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return pick(row,["type","marker","display_marker"])}var attachmentResource={name:"attachment",summary:"FAQ \u306E\u6DFB\u4ED8\uFF08\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u30FB\u672C\u6587\u3078\u5DEE\u3057\u8FBC\u3080\u753B\u50CF/PDF\uFF09",
|
|
68
|
+
operations:[uploadOperation,embedOperation]};var faqDomain={name:"faq",summary:"\u793E\u5185FAQ\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u30FB\u691C\u7D22\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u6DFB\u4ED8\uFF09",operations:[listOperation,getOperation,searchOperation,categoriesOperation,createOperation,updateOperation,deleteOperation],subresources:[attachmentResource]};export{answerText,faqDomain,faqItem,parseTargets};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-
|
|
3
|
+
import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MPGJU5A7.js";import"./chunk-JJSBBWJ5.js";import{FISCAL_YEAR_SETTINGS_PATH}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{singleRef}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
|
|
4
4
|
import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var NAME="fiscal-year";var LABEL="\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A";var YEAR_RE=/^\d{4}$/;var FIELDS=[{kind:"number",flag:"--indirect-cost-rate",key:"default_indirect_cost_rate",label:"\u9593\u63A5\u8CBB\u7387",min:0,max:100,summary:"\u9593\u63A5\u8CBB\u7387\u306E\u65E2\u5B9A\uFF08%\u30FB0\u301C100\u30FB\u5C0F\u6570\u53EF\uFF09"},{kind:"number",flag:"--target-profit-rate",key:"default_target_profit_rate",label:"\u76EE\u6A19\u5229\u76CA\u7387",min:0,max:100,summary:"\u76EE\u6A19\u5229\u76CA\u7387\u306E\u65E2\u5B9A\uFF08%\u30FB0\u301C100\u30FB\u5C0F\u6570\u53EF\uFF09"},
|
|
5
5
|
{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"}];var COLUMNS=["fiscal_year","default_indirect_cost_rate","default_target_profit_rate","description"];var YEAR_FLAG={name:"--fiscal-year",summary:"\u5BFE\u8C61\u306E\u5E74\u5EA6\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<YYYY>"};var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\
|
|
6
6
|
\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;function fiscalYear(input,usage){const year=singleRef(input,{flag:YEAR_FLAG.name,label:"\u5E74\u5EA6",usage});if(!YEAR_RE.test(year)){throw new UsageError(`\u5E74\u5EA6\u306F4\u6841\u306E\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${year}`,`\u4F8B: twp ${NAME} get 2026`)}return year}function rows(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.
|
|
@@ -1,8 +1,8 @@
|
|
|
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{importRejection}from"./chunk-
|
|
4
|
-
import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-
|
|
5
|
-
import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var NAME="holiday";var LABEL="\u795D\u65E5";var READ_PATH="/api/v2/holidays";var ADMIN_PATH="/api/v2/admin/tenant/holidays";var DATE_RE=/^\d{4}-\d{2}-\d{2}$/;var YEAR_RE=/^\d{4}$/;var NAME_MAX=100;var IMPORT_MAX_BYTES=1024*1024;var SHOWN_DIFF=30;var COLUMNS=["date","name"];var IMPACT="\u795D\u65E5\u306F\u52E4\u6020\u306E\u96C6\u8A08\uFF08\u4F11\u65E5\u52B4\u50CD\u30FB\u6240\u5B9A\u65E5\u6570\uFF09\u3068\u55B6\u696D\u65E5\u6570\u306E\u8A08\u7B97\u306B\u52B9\u304D\u307E\u3059\u3002\u7DE0\u3081\u6E08\u307F\u306E\u6708\u306E\u795D\u65E5\u3092\u5909\u3048\u3066\u3082\u3001\u7DE0\u3081\u305F\u96C6\u8A08\u306F\u81EA\u52D5\u3067\u306F\u76F4\u308A\u307E\u305B\u3093\u3002";
|
|
3
|
+
import{parseCsvRecords}from"./chunk-7PTFN3H7.js";import{importRejection}from"./chunk-EGOE26U7.js";import{decodeCsvText}from"./chunk-QLENN5DD.js";import"./chunk-U6KPYJTM.js";import"./chunk-23MEOBJF.js";import"./chunk-UVCJXHWN.js";import"./chunk-EXT4AIDF.js";import"./chunk-MPGJU5A7.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";
|
|
4
|
+
import"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";
|
|
5
|
+
import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var NAME="holiday";var LABEL="\u795D\u65E5";var READ_PATH="/api/v2/holidays";var ADMIN_PATH="/api/v2/admin/tenant/holidays";var DATE_RE=/^\d{4}-\d{2}-\d{2}$/;var YEAR_RE=/^\d{4}$/;var NAME_MAX=100;var IMPORT_MAX_BYTES=1024*1024;var SHOWN_DIFF=30;var COLUMNS=["date","name"];var IMPACT="\u795D\u65E5\u306F\u52E4\u6020\u306E\u96C6\u8A08\uFF08\u4F11\u65E5\u52B4\u50CD\u30FB\u6240\u5B9A\u65E5\u6570\uFF09\u3068\u55B6\u696D\u65E5\u6570\u306E\u8A08\u7B97\u306B\u52B9\u304D\u307E\u3059\u3002\u7DE0\u3081\u6E08\u307F\u306E\u6708\u306E\u795D\u65E5\u3092\u5909\u3048\u3066\u3082\u3001\u7DE0\u3081\u305F\u96C6\u8A08\u306F\u81EA\u52D5\u3067\u306F\u76F4\u308A\u307E\u305B\u3093\u3002";
|
|
6
6
|
var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FBCSV \u306E\u51FA\u3057\u5165\u308C\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;var DATE_FLAG={name:"--date",summary:"\u5BFE\u8C61\u306E\u65E5\u4ED8\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var NAME_FLAG={name:"--name",summary:`\u795D\u65E5\u540D\uFF08${NAME_MAX}\
|
|
7
7
|
\u6587\u5B57\u4EE5\u5185\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u795D\u65E5\u540D>"};var YEAR_FLAG={name:"--year",summary:"\u5BFE\u8C61\u306E\u5E74\uFF08YYYY\uFF09",takesValue:true,placeholder:"<YYYY>"};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",
|
|
8
8
|
takesValue:false};function usageOf(op){return`twp ${NAME} ${op} help`}function noArgs(input,op){if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usageOf(op))}function isCalendarDate(value){if(!DATE_RE.test(value))return false;const[y,m,d]=value.split("-").map(Number);const date=new Date(Date.UTC(y,m-1,d));return date.getUTCFullYear()===y&&date.getUTCMonth()===m-1&&date.getUTCDate()===d}function holidayDate(input,op){
|
|
@@ -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{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-
|
|
3
|
+
import{repeatedValues}from"./chunk-RX5HWI4L.js";import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-M36DAHMH.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,
|
|
4
4
|
UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u554F\u3044\u5408\u308F\u305B\u30AB\u30C6\u30B4\u30EA";var LIST_COLUMNS=["id","category_code","title","sort","is_active","notification_user_count"];var GET_COLUMNS=["id","category_code","title","description","sort","is_active","notification_users"];var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u306F\u554F\u3044\u5408\u308F\u305B\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;
|
|
5
5
|
var SORT_LAST="last";var CODE_RE=/^[a-zA-Z0-9_-]+$/;var REF_HELP="<\u30AB\u30C6\u30B4\u30EA> \u306F\u30AB\u30C6\u30B4\u30EA\u30B3\u30FC\u30C9\u30FB\u540D\u524D\uFF08title\uFF09\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
|
|
6
6
|
var NOTIFY_HELP="--notify \u306F\u901A\u77E5\u5148\u306E\u30E6\u30FC\u30B6\u30FC\u3067\u3001\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08ID \u4EE5\u5916\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{invoiceNoRuleResource}from"./chunk-
|
|
4
|
-
import"./chunk-W4NLJ2YK.js";import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-
|
|
3
|
+
import{invoiceNoRuleResource}from"./chunk-U3XIH7WP.js";import"./chunk-NYQYDX7G.js";import"./chunk-QLENN5DD.js";import{invoiceAiReviewResources}from"./chunk-FCC7JJR5.js";import{invoicePdfOperation}from"./chunk-5STCZEOX.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-EQXJOEOK.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{booleanText,isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";
|
|
4
|
+
import"./chunk-W4NLJ2YK.js";import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.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"./chunk-II5RVJQN.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-QQRJLH6B.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\
|
|
7
7
|
_id","detail","memo","template_memo","notification_user_ids","estimate_manage_content","invoice_manage_content","is_active"];var DETAIL_KEYS=["list"];var DETAIL_ROW_KEYS=["title","price","quantity","unit","tax","delivery_date"];var NOT_SAVED_KEYS=["period_start_months","period_start_day","period_end_months","period_end_day"];var FIELD_NOTES=[["template_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["estimate_format\
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{STATUS_VALUES,flatMasterDomain}from"./chunk-
|
|
3
|
+
import{STATUS_VALUES,flatMasterDomain}from"./chunk-MPGJU5A7.js";import"./chunk-JJSBBWJ5.js";import{JOB_TITLES_PATH}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";
|
|
4
4
|
import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var jobTitleDomain=flatMasterDomain({name:"job-title",label:"\u8077\u4F4D",path:JOB_TITLES_PATH,itemKey:"job_title",summary:"\u8077\u4F4D\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","sort_order","status","position_id","base_selling_price","base_cost_price"],getColumns:["id","code","name","name_short","sort_order","status","position_id","base_selling_price","base_cost_price","description"],fields:[
|
|
5
5
|
{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"},
|
|
6
6
|
{kind:"integer",flag:"--base-selling-price",key:"base_selling_price",label:"\u57FA\u6E96\u58F2\u4FA1",min:0,summary:"\u57FA\u6E96\u58F2\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"integer",flag:"--base-cost-price",key:"base_cost_price",label:"\u57FA\u6E96\u539F\u4FA1",min:0,summary:"\u57FA\u6E96\u539F\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"text",flag:"--skill-requirements",key:"skill_requirements",label:"\u30B9\u30AD\u30EB\u8981\u4EF6",maxChars:5e3,summary:"\u30B9\u30AD\u30EB\u8981\u4EF6"},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{buildDiffLines,diffStat}from"./chunk-VRBI2NPI.js";import{composeDocument,meetingContentToText,metaLine,noteContentToText,oneLine,textOutline,textSection,wikiContentToText}from"./chunk-
|
|
4
|
-
ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-
|
|
3
|
+
import{buildDiffLines,diffStat}from"./chunk-VRBI2NPI.js";import{composeDocument,meetingContentToText,metaLine,noteContentToText,oneLine,textOutline,textSection,wikiContentToText}from"./chunk-62GRAKUD.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";import{
|
|
4
|
+
ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
|
|
5
5
|
import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import path from"path";var WIKI_PATH="/api/v2/wiki";var WIKI_SUMMARY_FIELDS="summary";function withoutContent(page){const rest={...page};delete rest["content"];return rest}var NOTES_PATH="/api/v2/notes";var MEETINGS_PATH="/api/v2/meetings";var ROOT_PARENT="root";var WIKI_STATUSES=["draft","published"];var WIKI_CONTENT_FORMATS=["html","markdown"];var NOTE_STATUSES=["draft","published"];var NOTE_VISIBILITIES=["private","tenant","external","public"];var NOTE_SORTS=["manual","created_at","updated_at","view_count","comment\
|
|
6
6
|
_count","reaction_count"];var MEETING_STATUSES=["draft","published","archived"];var MEETING_TYPES=["regular","client","internal","retrospective","decision","one_on_one"];var MEETING_SORTS=["meeting_date","created_at","updated_at","title"];var SORT_ORDERS=["asc","desc"];var MEETING_TAGS_MAX=20;var MEETING_TAG_MAX_CHARS=50;var DATE_FLOOR="0000-01-01";var DATE_CEIL="9999-12-31";var WIKI_LIST_COLUMNS=["id","title","status","parent_page_id","updated_at","updated_by_name"];var WIKI_STALE_COLUMNS=["id",
|
|
7
7
|
"title","status","verified_at","knowledge_kind","evidence_task_keys","updated_at"];var WIKI_CHILD_COLUMNS=["id","title","status","child_count","updated_at","updated_by_name"];var WIKI_SEARCH_COLUMNS=["id","title","status","search_excerpt","updated_at","updated_by_name"];var WIKI_GET_COLUMNS=["id","title","status","content_format","parent_page_id","version","tags","verified_at","evidence_task_keys","knowledge_kind","updated_at","updated_by_name"];var NOTE_LIST_COLUMNS=["id","title","status","visi\
|
|
@@ -93,9 +93,9 @@ ID \u3092\u8907\u6570\u4E26\u3079\u308B\u30681\u4EF6\u305A\u3064\u53D6\u5F97\u30
|
|
|
93
93
|
twp wiki get --path "\u904B\u7528/\u30EA\u30EA\u30FC\u30B9\u624B\u9806" --section "\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF"`,flags:[{name:"--path",summary:"\u4EF6\u540D\u306E\u968E\u5C64\uFF08\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D\uFF09\u3067\u30DA\u30FC\u30B8\u3092\u6307\u3059",takesValue:true,placeholder:"<\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D>"},{name:"--project",summary:"--path \u3067\u5F15\u304F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u3002\u7701\u7565\u6642\u306F\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09",
|
|
94
94
|
takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--outline",summary:"\u898B\u51FA\u3057\u306E\u4E00\u89A7\uFF08\u968E\u5C64\u30FB\u7BC0\u306E\u6587\u5B57\u6570\uFF09\u3060\u3051\u3092\u51FA\u3059",takesValue:false},{name:"--section",summary:"\u305D\u306E\u898B\u51FA\u3057\u306E\u7BC0\u3060\u3051\u3092\u51FA\u3059",takesValue:true,placeholder:"<\u898B\u51FA\u3057>"}],async prepare(input,ctx){wikiGetMode(input);if(wikiPathRef(input)===void 0)return input;return withResolved(input,{project:await ctx.
|
|
95
95
|
projectId(input.flags.get("--project"))})},plan:input=>{wikiGetMode(input);return wikiGetPlan(input)},plannedNotes:input=>{if(wikiPathRef(input)!==void 0)return[`\u3053\u306E\u3042\u3068\u3001\u4EF6\u540D\u306E\u968E\u5C64\u304B\u3089\u6C7A\u3081\u305F\u30DA\u30FC\u30B8\u3092 GET ${WIKI_PATH}/<\u30DA\u30FC\u30B8ID> \u3067\u53D6\u5F97\u3057\u307E\u3059\u3002`];const ids=wikiGetIds(input);return ids.length>1?[`\u3053\u306E\u3042\u3068\u3001\u6B8B\u308A\u306E ${ids.length-1} \u4EF6\u3082 GET ${WIKI_PATH}\
|
|
96
|
-
/<\u30DA\u30FC\u30B8ID> \u30671\u4EF6\u305A\u3064\u53D6\u5F97\u3057\u307E\u3059\u3002`]:[]},execute:wikiGetExecute,summarize:body=>{if(isWikiPages(body))return body.pages.map(page=>pick(page,WIKI_GET_COLUMNS));const view=wikiGetView(body);if(view===void 0)return pick(record(body,"page",WIKI_LABEL),WIKI_GET_COLUMNS);if(view.kind==="outline")
|
|
97
|
-
content}},raw:body=>{if(isWikiPages(body))return body.pages;const view=wikiGetView(body);return view===void 0?record(body,"page",WIKI_LABEL):wikiViewRaw(view)},notes:body=>{const view=wikiGetView(body);if(view?.kind!=="section"||view.section.matches<2)return[];return[`\u898B\u51FA\u3057\u300C${oneLine(view.section.title)}\u300D\u306F\u30DA\u30FC\u30B8\u5185\u306B ${view.section.matches} \u500B\u3042\u308A\u307E\u3059\u3002\u6700\u521D\u306E\
|
|
98
|
-
document:body=>{if(!isWikiPages(body))return wikiDocument(body);const total=body.pages.length;return body.pages.map((page,index)=>{const title=typeof page["title"]==="string"&&page["title"].trim()!==""?oneLine(page["title"]):"(\u7121\u984C)";return`=== ${index+1}/${total} ${title}\uFF08ID: ${String(page["id"]??"")}\uFF09 ===
|
|
96
|
+
/<\u30DA\u30FC\u30B8ID> \u30671\u4EF6\u305A\u3064\u53D6\u5F97\u3057\u307E\u3059\u3002`]:[]},execute:wikiGetExecute,summarize:body=>{if(isWikiPages(body))return body.pages.map(page=>pick(page,WIKI_GET_COLUMNS));const view=wikiGetView(body);if(view===void 0)return pick(record(body,"page",WIKI_LABEL),WIKI_GET_COLUMNS);if(view.kind==="outline"){if(view.outline.length===0)return[{version:view.page["version"],level:null,title:null,chars:null}];return view.outline.map(h=>({version:view.page["version"],
|
|
97
|
+
...h}))}return{...view.page,section:view.section.title,level:view.section.level,content:view.section.content}},raw:body=>{if(isWikiPages(body))return body.pages;const view=wikiGetView(body);return view===void 0?record(body,"page",WIKI_LABEL):wikiViewRaw(view)},notes:body=>{const view=wikiGetView(body);if(view?.kind!=="section"||view.section.matches<2)return[];return[`\u898B\u51FA\u3057\u300C${oneLine(view.section.title)}\u300D\u306F\u30DA\u30FC\u30B8\u5185\u306B ${view.section.matches} \u500B\u3042\u308A\u307E\u3059\u3002\u6700\u521D\u306E\
|
|
98
|
+
\u3082\u306E\u3092\u51FA\u3057\u307E\u3057\u305F\u3002`]},document:body=>{if(!isWikiPages(body))return wikiDocument(body);const total=body.pages.length;return body.pages.map((page,index)=>{const title=typeof page["title"]==="string"&&page["title"].trim()!==""?oneLine(page["title"]):"(\u7121\u984C)";return`=== ${index+1}/${total} ${title}\uFF08ID: ${String(page["id"]??"")}\uFF09 ===
|
|
99
99
|
|
|
100
100
|
${wikiDocument({result:true,page})}`}).join("\n")},failures:body=>isWikiPages(body)?body.failed:[]};var WIKI_VERSIONS_MAX=100;var WIKI_TAGS_MAX=50;var WIKI_TREE_COLUMNS=["depth","id","title","status","child_count","parent_page_id","updated_at"];var WIKI_VERSION_COLUMNS=["version","title","content_format","changed_by_name","changed_at"];var WIKI_BACKLINK_COLUMNS=["id","title","status","link_context","updated_at","updated_by_name"];var WIKI_LINKED_TASK_COLUMNS=["key","subject","status_id","task_id",
|
|
101
101
|
"project_id","created_by_name","created_at"];function pageIdAndRest(input,usage){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError("\u30DA\u30FC\u30B8\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(!isSafePathSegment(id))throw new UsageError(`\u30DA\u30FC\u30B8\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,"\u30DA\u30FC\u30B8\u306E ID \u306F twp wiki list / twp wiki tree \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");
|
|
@@ -144,8 +144,8 @@ var WIKI_DIFF_USAGE="twp wiki diff <\u30DA\u30FC\u30B8ID> <\u72481> [<\u72482>]"
|
|
|
144
144
|
void 0:versionNumber(rest[1],WIKI_DIFF_USAGE);return{id,from,to}}function diffSide(row,changedAt,changedBy){return{version:row["version"]??null,title:row["title"]??null,changed_at:row[changedAt]??null,changed_by_name:row[changedBy]??null,text:comparableText(row["content"],row["content_format"])}}var SIGNED_IMAGE=/(!\[[^\]\n]*\]\()([^)\s?]*)\?[^)\s]*\)/g;function comparableText(content,format){const text2=wikiContentToText(content,format).replace(SIGNED_IMAGE,"$1$2)");return`${text2.trimEnd()}
|
|
145
145
|
`}var DIFF_CONTEXT=3;function collapseUnchanged(lines){const out=[];let run=[];const flush=(atStart,atEnd)=>{const head=atStart?0:DIFF_CONTEXT;const tail=atEnd?0:DIFF_CONTEXT;if(run.length>head+tail+1){for(const l of run.slice(0,head))out.push(` ${String(l["text"])}`);out.push(` \u22EF ${run.length-head-tail} \u884C\u7701\u7565`);for(const l of run.slice(run.length-tail))out.push(` ${String(l["text"])}`)}else{for(const l of run)out.push(` ${String(l["text"])}`)}run=[]};let seenChange=false;for(const line of lines){
|
|
146
146
|
if(line["sign"]===" "){run.push(line);continue}flush(!seenChange,false);seenChange=true;out.push(`${String(line["sign"])} ${String(line["text"])}`)}flush(!seenChange,true);return out}function diffBody(body){if(!isRecord(body)||!Array.isArray(body["lines"]))throw new ApiResponseError(`${WIKI_LABEL}\u306E\u5DEE\u5206\u3092\u7D44\u307F\u7ACB\u3066\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002`);return body}function sideLabel(side){const s=isRecord(side)?side:{};return`\u7248 ${String(s["ver\
|
|
147
|
-
sion"]??"?")}\uFF08${String(s["changed_at"]??"\u65E5\u6642\u4E0D\u660E")}${typeof s["changed_by_name"]==="string"?`\u30FB${s["changed_by_name"]}`:""}\uFF09`}var wikiDiff={name:"diff",summary:`${WIKI_LABEL}\u306E2\u3064\u306E\u7248\u306E\u672C\u6587\u306E\u5DEE\u5206\u3092\u51FA\u3059\uFF08\u72482\u3092\u7701\u304F\u3068\u3044\u307E\u306E\u7248\u3068\u6BD4\u3079\u308B\uFF09`,usage:WIKI_DIFF_USAGE,description:"2\u3064\u306E\u7248\u3092\u53D6\u5F97\u3057\u3001\u672C\u6587\u3092\u5E73\u6587\u306B\u3057\u3066\u304B\u3089\u884C\u5358\u4F4D\u3067\u6BD4\u3079\u307E\u3059\uFF08HTML \u306E\u30BF\u30B0\u3060\u3051\u306E\u9055\u3044\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\u4EF6\u540D\u304C\u9055\u3048\u3070\u4EF6\u540D\u306E\u9055\u3044\u3082\u51FA\u3057\u307E\u3059\u3002\n
|
|
148
|
-
|
|
147
|
+
sion"]??"?")}\uFF08${String(s["changed_at"]??"\u65E5\u6642\u4E0D\u660E")}${typeof s["changed_by_name"]==="string"?`\u30FB${s["changed_by_name"]}`:""}\uFF09`}var wikiDiff={name:"diff",summary:`${WIKI_LABEL}\u306E2\u3064\u306E\u7248\u306E\u672C\u6587\u306E\u5DEE\u5206\u3092\u51FA\u3059\uFF08\u72482\u3092\u7701\u304F\u3068\u3044\u307E\u306E\u7248\u3068\u6BD4\u3079\u308B\uFF09`,usage:WIKI_DIFF_USAGE,description:"2\u3064\u306E\u7248\u3092\u53D6\u5F97\u3057\u3001\u672C\u6587\u3092\u5E73\u6587\u306B\u3057\u3066\u304B\u3089\u884C\u5358\u4F4D\u3067\u6BD4\u3079\u307E\u3059\uFF08HTML \u306E\u30BF\u30B0\u3060\u3051\u306E\u9055\u3044\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\u4EF6\u540D\u304C\u9055\u3048\u3070\u4EF6\u540D\u306E\u9055\u3044\u3082\u51FA\u3057\u307E\u3059\u3002\n\u5E73\u6587\u3078\u306E\u5909\u63DB\u306F twp wiki get -\
|
|
148
|
+
-output text \u3068\u540C\u3058\u3067\u3001\u5171\u540C\u7DE8\u96C6\u30A8\u30C7\u30A3\u30BF\u306E JSON \u306E\u672C\u6587\u3082\u5E73\u6587\u306B\u3057\u3066\u304B\u3089\u6BD4\u3079\u307E\u3059\u3002\n<\u72482> \u3092\u7701\u304F\u3068\u3001\u3044\u307E\u306E\u30DA\u30FC\u30B8\uFF08twp wiki get \u306E version\uFF09\u3068\u6BD4\u3079\u307E\u3059\u3002\n\n--output text \u306F `- ` \u304C\u72481\u306B\u3060\u3051\u3042\u308B\u884C\u3001`+ ` \u304C\u72482\u306B\u3060\u3051\u3042\u308B\u884C\u306E\u5DEE\u5206\u3067\u3059\uFF08\u5909\u308F\u3089\u306A\u3044\u90E8\u5206\u306F\u524D\u5F8C3\u884C\u3092\u6B8B\u3057\u3066\u7701\u7565\uFF09\u3002--output json / table / tsv \u306F\u7701\u7565\u305B\u305A\u5168\u884C\u3092\u51FA\u3057\u307E\u3059\u3002\n\u753B\u50CF\u306E URL \u306F\u53D6\u5F97\u306E\u305F\u3073\u306B\u7F72\u540D\u3057\u76F4\u3055\u308C\u308B\u306E\u3067\u3001\u30AF\u30A8\u30EA\u3092\u843D\u3068\u3057\u3066\u304B\u3089\u6BD4\u3079\u307E\u3059\u3002\n--output json \u306F {page_id, from, to, title_changed, added, removed, lines: [{sign, text}]} \u3067\u3059\uFF08from / to \u306F\u7248\u30FB\u4EF6\u540D\u30FB\u5909\u66F4\u65E5\u6642\u30FB\u5909\u66F4\u8005\uFF09\u3002",
|
|
149
149
|
flags:[],plan(input){const{id,from}=diffArgs(input);return versionPlan(id,from)},plannedNotes(input){const{id,to}=diffArgs(input);return[`\u7D9A\u3051\u3066${to===void 0?`\u3044\u307E\u306E\u30DA\u30FC\u30B8\uFF08GET ${WIKI_PATH}/${id}\uFF09`:`\u7248 ${to}\uFF08GET ${WIKI_PATH}/${id}/versions/${to}\uFF09`}\u3092\u53D6\u5F97\u3057\u3001CLI \u3067\u5DEE\u5206\u3092\u51FA\u3057\u307E\u3059\u3002`]},async execute(input,ctx){const{id,from,to}=diffArgs(input);const a=diffSide(versionRecord(await ctx.send(
|
|
150
150
|
versionPlan(id,from))),"changed_at","changed_by_name");const b=to===void 0?diffSide(record(await ctx.send({method:"GET",path:`${WIKI_PATH}/${encodeURIComponent(id)}`}),"page",WIKI_LABEL),"updated_at","updated_by_name"):diffSide(versionRecord(await ctx.send(versionPlan(id,to))),"changed_at","changed_by_name");const lines=a.text===b.text?[]:buildDiffLines(a.text,b.text,Number.POSITIVE_INFINITY);const{added,removed}=diffStat(lines);const meta=side=>({version:side.version,title:side.title,changed_at:side.
|
|
151
151
|
changed_at,changed_by_name:side.changed_by_name});return{page_id:id,from:meta(a),to:meta(b),title_changed:a.title!==b.title,added,removed,lines}},summarize:body=>diffBody(body)["lines"],raw:diffBody,document(body){const d=diffBody(body);const from=isRecord(d["from"])?d["from"]:{};const to=isRecord(d["to"])?d["to"]:{};const out=[`--- ${sideLabel(from)}`,`+++ ${sideLabel(to)}`];if(d["title_changed"]===true)out.push(`\u4EF6\u540D: ${oneLine(String(from["title"]??""))} \u2192 ${oneLine(String(to["ti\
|
|
@@ -1,8 +1,8 @@
|
|
|
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-
|
|
4
|
-
import"./chunk-
|
|
5
|
-
SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.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.
|
|
3
|
+
import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-P673SKUV.js";import"./chunk-FCC7JJR5.js";import"./chunk-5STCZEOX.js";import"./chunk-EQXJOEOK.js";import{assertMonthsOpen}from"./chunk-23MEOBJF.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import"./chunk-MPGJU5A7.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-M763HXDH.js";
|
|
4
|
+
import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";import{UUID_RE}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.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
|
+
import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.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")}
|
|
7
7
|
return body}function grantsBody(body){if(!isRecord(body)||!Array.isArray(body["grants"])){throw new ApiResponseError("\u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\u306E\u5FDC\u7B54\u306B grants \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function listBody(body){const combined=isRecord(body)?body:{};return{summary:summaryBody(combined["summary"]),usages:usagesBody(combined["usages"])}}async function list(input,ctx){
|
|
8
8
|
const summary=summaryBody(await ctx.send(listPlan(input)));const usages=await ctx.send({method:"GET",path:"/api/v1/paid-leave/me/usages"});return{summary,usages}}function listPlan(input){noArgs(input,"list");return{method:"GET",path:"/api/v1/paid-leave/me"}}function listNotes(body){const{summary:sheet}=listBody(body);const summary=sheet["summary"];const hours=typeof summary["total_remaining_hours"]==="number"&&summary["total_remaining_hours"]>0?` ${String(summary["total_remaining_hours"])} \u6642\u9593`:
|