@tocca-systems/twp-cli 0.74.1 → 0.76.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 +12 -0
- package/README.md +18 -2
- package/dist/{agent-QPAXYSJP.js → agent-63DPLVPG.js} +1 -1
- package/dist/{agent-loop-UTS4MYW6.js → agent-loop-ZNQJSXQV.js} +2 -2
- package/dist/{ai-dispatch-OAT752RN.js → ai-dispatch-NFFEUL6K.js} +3 -3
- package/dist/{analysis-PMGNH3TJ.js → analysis-SDYGHILR.js} +2 -2
- package/dist/{announcement-A5XPVBAG.js → announcement-4RI2COFS.js} +1 -1
- package/dist/{api-command-HEUUFIK4.js → api-command-OKQHSCD4.js} +4 -4
- package/dist/{app-SFKZTJYX.js → app-OAJTDDSR.js} +3 -3
- package/dist/{attendance-correct-ZHHHORBP.js → attendance-correct-NJACXW3S.js} +1 -1
- package/dist/{attendance-lists-7OWTOLFU.js → attendance-lists-AUEECNJL.js} +1 -1
- package/dist/{backlog-ZMXUHYE2.js → backlog-NQUZQSCY.js} +1 -1
- package/dist/{budget-FQERSD4Y.js → budget-ILEQGQOA.js} +1 -1
- package/dist/{chunk-ZWPF6UXE.js → chunk-3GYJG6DA.js} +1 -1
- package/dist/{chunk-GTRKN2YS.js → chunk-4VAWX7TW.js} +1 -1
- package/dist/{chunk-22FXTKWN.js → chunk-5VZSHYKX.js} +1 -1
- package/dist/{chunk-UAVL2GLZ.js → chunk-7APLKLQL.js} +49 -48
- package/dist/{chunk-5NXO4FRO.js → chunk-7FJFBIVB.js} +2 -2
- package/dist/{chunk-CXYDOAUY.js → chunk-BATCC7M5.js} +2 -2
- package/dist/{chunk-RVEOVJTT.js → chunk-CKYCRD2J.js} +1 -1
- package/dist/{chunk-V7WNVT2J.js → chunk-CKZDTAMN.js} +1 -1
- package/dist/{chunk-RKREN2F6.js → chunk-CZUXTKMR.js} +1 -1
- package/dist/{chunk-HOLKWMS2.js → chunk-F6LEGFID.js} +4 -3
- package/dist/{chunk-3N6GRIXQ.js → chunk-ICGIHXBA.js} +1 -1
- package/dist/{chunk-332Y5OGZ.js → chunk-IMXXECCD.js} +1 -1
- package/dist/chunk-JUJSF5ZG.js +19 -0
- package/dist/{chunk-VKIFQOWX.js → chunk-LWJI22LF.js} +1 -1
- package/dist/{chunk-MCQZDXIA.js → chunk-MNFO6G2H.js} +1 -1
- package/dist/{chunk-7RTGZALQ.js → chunk-NFTLHE4Z.js} +1 -1
- package/dist/{chunk-5ZPI5YQC.js → chunk-NNDUIAGN.js} +1 -1
- package/dist/chunk-OG7FD7SR.js +16 -0
- package/dist/{chunk-MPU5QXYR.js → chunk-PCE6OI4L.js} +56 -7
- package/dist/{chunk-ZMVHGXTO.js → chunk-QO2QPN3M.js} +1 -1
- package/dist/{chunk-AVMM7NAP.js → chunk-URI3URUA.js} +2 -2
- package/dist/{chunk-EFYFNGBR.js → chunk-UVU7JXCG.js} +1 -1
- package/dist/chunk-YIH36ZDI.js +11 -0
- package/dist/{chunk-JSKNOSN4.js → chunk-YX6ONBPK.js} +1 -1
- package/dist/cli.js +25 -6
- package/dist/{commands-ZCXAJXHW.js → commands-UMSNPM4D.js} +11 -11
- package/dist/{company-56JA5MUM.js → company-QFIHJ4OY.js} +2 -2
- package/dist/{contract-P65ENPX3.js → contract-IGH7GFOM.js} +2 -2
- package/dist/{department-PBRRHYCR.js → department-TIW5YISO.js} +1 -1
- package/dist/{deposit-ZOYD5SUR.js → deposit-2YPPFQVR.js} +1 -1
- package/dist/{domain-knowledge-7OXIH7ES.js → domain-knowledge-F3GKX2VI.js} +1 -1
- package/dist/{estimate-POXYAGM2.js → estimate-JBQSEUJY.js} +3 -3
- package/dist/{evaluation-HCF3OQB3.js → evaluation-4QE4L3OG.js} +1 -1
- package/dist/{expense-3JKVCFPK.js → expense-CFHOIO3I.js} +1 -1
- package/dist/{fiscal-year-K2NEKCRR.js → fiscal-year-N7POJ77K.js} +1 -1
- package/dist/{holiday-DM4WIJ2N.js → holiday-WRSUBPT3.js} +1 -1
- package/dist/{inquiry-IJ5CN23R.js → inquiry-6ANZ6HKD.js} +1 -1
- package/dist/{invoice-VZHODF7M.js → invoice-INIF6BUD.js} +2 -2
- package/dist/{job-title-ST5A45Z2.js → job-title-KOFDOB65.js} +1 -1
- package/dist/{knowledge-IM6ZDVME.js → knowledge-W3ONOGV2.js} +69 -51
- package/dist/{leave-ZTT3L4WN.js → leave-LE3CIRPT.js} +2 -2
- package/dist/{license-5C6R3BER.js → license-ME2GUNJQ.js} +1 -1
- package/dist/{media-VH64KNQT.js → media-FDOAC5ZH.js} +2 -2
- package/dist/{notification-FTCMINYA.js → notification-N4FVLOPW.js} +1 -1
- package/dist/{oneshot-3MFPNFIE.js → oneshot-ALYKVJW2.js} +1 -1
- package/dist/plan-submit-2FSRRNIV.js +4 -0
- package/dist/{position-XP7EWXSX.js → position-4C37LALY.js} +1 -1
- package/dist/{project-AHVY3PDZ.js → project-DUHSOINK.js} +1 -1
- package/dist/{prospect-BKOGWVUA.js → prospect-QRTQA2R6.js} +2 -2
- package/dist/{purchase-MILRQW5U.js → purchase-LWRNGP3T.js} +3 -3
- package/dist/{receivable-BH3EZHLN.js → receivable-A4T74HZK.js} +1 -1
- package/dist/{redmine-P3R2TP3R.js → redmine-X2GTGXHG.js} +1 -1
- package/dist/{registry-ZTH2SZO3.js → registry-NQZQRUDI.js} +1 -1
- package/dist/{report-UM6SYICS.js → report-UNEQSKNU.js} +1 -1
- package/dist/{run-3NTJP6DX.js → run-UYJP4Z5U.js} +1 -1
- package/dist/{sales-ai-review-ES7YXGQI.js → sales-ai-review-IT6X4YQB.js} +1 -1
- package/dist/{sales-master-F7A46LZS.js → sales-master-QYNSMAP4.js} +2 -2
- package/dist/{sales-numbering-EC5H7UJY.js → sales-numbering-LZQCKDUM.js} +1 -1
- package/dist/{search-CRWXNR32.js → search-GZIEQYLJ.js} +1 -1
- package/dist/{segment-6XCC5S5I.js → segment-NNWN5KJB.js} +1 -1
- package/dist/skill-MWETUX56.js +4 -0
- package/dist/{supplier-payment-GNCQUUQ5.js → supplier-payment-4UKRQZHS.js} +2 -2
- package/dist/{support-PIEDXQL2.js → support-JJ7ZCJFX.js} +1 -1
- package/dist/{task-45ALOWLP.js → task-HAVEGLQC.js} +2 -2
- package/dist/{user-BJUWEL3X.js → user-VRMLWGQ2.js} +2 -2
- package/dist/{user-contract-type-EO4Z7PWA.js → user-contract-type-ZCUMSGVP.js} +1 -1
- package/dist/{worker-agent-MTSMWW2T.js → worker-agent-VCJUJDBO.js} +1 -1
- package/dist/{workflow-VMFSVENL.js → workflow-I7L476KK.js} +1 -1
- package/package.json +1 -1
- package/dist/chunk-DXUFECE7.js +0 -13
- package/dist/chunk-FDLKXEF5.js +0 -11
- package/dist/chunk-QS5VWTI3.js +0 -16
- package/dist/plan-submit-CZRVVZZB.js +0 -4
- package/dist/skill-IHWKNBN7.js +0 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{parseCsvRecords}from"./chunk-DYNNGNXR.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,updateFlags}from"./chunk-
|
|
4
|
-
ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var GROUPED_PATH="/api/v2/organization/skills/grouped";var SKILL_MAP_PATH="/api/v2/organization/skill-map";var
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import{parseCsvRecords}from"./chunk-DYNNGNXR.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,updateFlags}from"./chunk-NNDUIAGN.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{QUALIFICATIONS_PATH,SKILLS_PATH,SKILL_CATEGORIES_PATH,resolveNamed}from"./chunk-7APLKLQL.js";
|
|
4
|
+
import{ULID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";var GROUPED_PATH="/api/v2/organization/skills/grouped";var SKILL_MAP_PATH="/api/v2/organization/skill-map";var USERS_LIST_PATH="/api/v2/admin/users/list";var USERS_PAGE_LIMIT=100;var USERS_MAX_PAGES=50;var HR_FORBIDDEN="HR\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\uFF08twp skill map / who\uFF09\u306F\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u53C2\u7167\u3067\u304D\u307E\u3059";function groupedSkillRows(body){
|
|
5
|
+
const categories=isRecord(body)?body["categories"]:void 0;if(!Array.isArray(categories)){throw new ApiResponseError("\u30B9\u30AD\u30EB\u4E00\u89A7\u306E\u5FDC\u7B54\u306B categories \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return categories.flatMap(group=>{const category=isRecord(group)&&isRecord(group["category"])?group["category"]:{};const skills=isRecord(group)&&Array.isArray(group["skills"])?group["\
|
|
6
|
+
skills"]:[];return skills.filter(isRecord).map(skill=>({...skill,category_id:skill["category_id"]??category["id"]??null,category_name:category["name"]??null}))})}function groupedCategories(body){groupedSkillRows(body);return body["categories"]}function skillMatrix(body){const matrix=isRecord(body)?body["matrix"]:void 0;if(!Array.isArray(matrix)){throw new ApiResponseError("\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u306E\u5FDC\u7B54\u306B matrix \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
7
7
|
return matrix.filter(isRecord)}function qualificationRows(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}async function skillNames(ctx,ids=[]){const map={};try{for(const row of groupedSkillRows(await ctx.send({method:"GET",path:GROUPED_PATH}))){
|
|
8
8
|
if(typeof row["id"]==="string"&&typeof row["name"]==="string")map[row["id"]]=row["name"]}}catch(err){ctx.warn(`\u30B9\u30AD\u30EB\u540D\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001skill_name \u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.message}\uFF09\u3002skill_id \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);return{}}const missing=[...new Set(ids)].filter(id=>!Object.hasOwn(map,id));if(missing.length===0)return map;try{const body=await ctx.
|
|
9
9
|
send({method:"GET",path:SKILLS_PATH});const list=isRecord(body)&&Array.isArray(body["list"])?body["list"]:[];for(const row of list){if(isRecord(row)&&typeof row["id"]==="string"&&typeof row["name"]==="string")map[row["id"]]=row["name"]}}catch{}const unresolved=missing.filter(id=>!Object.hasOwn(map,id)).length;if(unresolved>0){ctx.warn(`${unresolved} \u4EF6\u306E\u30B9\u30AD\u30EB\u306F\u540D\u524D\u3092\u5F15\u3051\u306A\u304B\u3063\u305F\u305F\u3081\u3001skill_name \u306E\u5217\u304C\u7A7A\u6B04\u3067\u3059\uFF08\u524A\u9664\u3055\u308C\u305F\u30B9\u30AD\u30EB\u306E\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09\u3002skill_id \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}
|
|
@@ -111,7 +111,56 @@ ${CATEGORY_DELETE_GUIDANCE}
|
|
|
111
111
|
|
|
112
112
|
${CATEGORY_REF_HELP}`,destructive:true,forbidden:ADMIN_FORBIDDEN(CATEGORY_LABEL),rejected:()=>CATEGORY_DELETE_GUIDANCE,flags:[CATEGORY_REF_FLAG],prepare:(input,ctx)=>prepareCategoryTarget(input,ctx,"twp skill category delete help"),plan:input=>({method:"DELETE",path:categoryPath(input)}),summarize:body=>acknowledgement(body,"\u30B9\u30AD\u30EB\u30AB\u30C6\u30B4\u30EA\u524A\u9664"),raw:body=>acknowledgement(body,"\u30B9\u30AD\u30EB\u30AB\u30C6\u30B4\u30EA\u524A\u9664"),notes:()=>[cacheNote(CATEGORY_LABEL)]}]};
|
|
113
113
|
var skillDomain={name:"skill",summary:"\u30B9\u30AD\u30EB\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\u7BA1\u7406\u30FB\u4E26\u3073\u66FF\u3048\u3001\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u30FB\u30B9\u30AD\u30EB\u4FDD\u6709\u8005\u306E\u6A2A\u65AD\u691C\u7D22\u30FB\u81EA\u5DF1\u8A55\u4FA1\u306E\u63D0\u51FA",operations:[listOperation,skillGetOperation,skillCreateOperation,skillUpdateOperation,skillDeleteOperation,skillReorderOperation,mapOperation,whoOperation,selfEvaluateOperation],subresources:[categoryResource]};
|
|
114
|
-
var QUALIFICATION_COLUMNS=["id","name","abbreviation","category","difficulty","is_recommended","is_active"];var
|
|
115
|
-
|
|
114
|
+
var QUALIFICATION_LABEL="\u8CC7\u683C";var QUALIFICATION_COLUMNS=["id","name","abbreviation","category","difficulty","is_recommended","is_active"];var QUALIFICATION_DETAIL_COLUMNS=[...QUALIFICATION_COLUMNS,"congratulation_bonus","monthly_allowance","sort_order","note"];var QUALIFICATION_FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${QUALIFICATION_LABEL}\u30DE\u30B9\u30BF\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u53D6\u308A\u8FBC\u307F\u3068\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u306E\u66F4\u65B0\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;
|
|
115
|
+
var AMOUNT_MAX=99999999;var QUALIFICATION_FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u8CC7\u683C\u540D",maxChars:255,summary:"\u8CC7\u683C\u540D"},{kind:"text",flag:"--abbreviation",key:"abbreviation",label:"\u7565\u53F7",maxChars:20,summary:"\u7565\u53F7\uFF08\u4EFB\u610F\u30FB20\u6587\u5B57\u307E\u3067\uFF09"},{kind:"enum",flag:"--category",key:"category",values:["technical","clerical"],summary:"\u533A\u5206\uFF08technical\uFF1D\u6280\u8853\u7CFB / clerical\uFF1D\u4E8B\u52D9\u7CFB\uFF09"},
|
|
116
|
+
{kind:"enum",flag:"--difficulty",key:"difficulty",values:["S","A","B","C","D"],summary:"\u96E3\u6613\u5EA6\uFF08S \u304C\u6700\u4E0A\u4F4D\u30FBS / A / B / C / D\uFF09"},{kind:"integer",flag:"--congratulation-bonus",key:"congratulation_bonus",label:"\u5408\u683C\u304A\u795D\u3044\u91D1",min:0,max:AMOUNT_MAX,summary:"\u5408\u683C\u304A\u795D\u3044\u91D1\uFF08\u5186\u30FB0\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"integer",flag:"--monthly-allowance",key:"monthly_allowance",label:"\u8CC7\u683C\u624B\u5F53",
|
|
117
|
+
min:0,max:AMOUNT_MAX,summary:"\u8CC7\u683C\u624B\u5F53\uFF08\u5186\uFF0F\u6708\u30FB0\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"boolean",flag:"--recommended",key:"is_recommended",summary:"\u63A8\u5968\u8CC7\u683C\u306B\u3059\u308B\u304B\uFF08true / false\uFF09"},{kind:"text",flag:"--note",key:"note",label:"\u5099\u8003",maxChars:1e3,summary:"\u5099\u8003"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"}];
|
|
118
|
+
var QUALIFICATION_REF_FLAG={name:"--qualification",summary:"\u5BFE\u8C61\u306E\u8CC7\u683C\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u8CC7\u683C>"};var QUALIFICATION_REF_HELP="<\u8CC7\u683C> \u306F\u540D\u524D\u30FB\u7565\u53F7\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u524A\u9664\u3057\u305F\u8CC7\u683C\u306F\u5BFE\u8C61\u5916\u3067\u3059\u3002\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\u8CC7\u683C\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";
|
|
119
|
+
var qualificationItem=body=>masterItem(body,"qualification",QUALIFICATION_LABEL);var qualificationPath=input=>`${QUALIFICATIONS_PATH}/${idSegment(input,QUALIFICATION_LABEL)}`;async function prepareQualificationTarget(input,ctx,usage){return withResolved(input,{id:await targetId(input,{flag:QUALIFICATION_REF_FLAG.name,label:QUALIFICATION_LABEL,usage,resolve:ref=>ctx.resolver.qualification(ref)})})}var qualificationListOperation={name:"list",summary:"\u8CC7\u683C\u30DE\u30B9\u30BF\u3092\u4E00\u89A7\u3059\u308B",
|
|
120
|
+
usage:"twp qualification list [--keyword <\u8A9E>] [--recommended] [--category <\u5206\u985E>] [--difficulty <\u96E3\u6613\u5EA6>]",description:"GET /api/v2/organization/qualifications\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5E38\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\n--recommended \u306F\u63A8\u5968\u8CC7\u683C\u3060\u3051\u306B\u7D5E\u308A\u307E\u3059\u3002--category / --difficulty \u306F\u30B5\u30FC\u30D0\u306E\u5024\u3092\u305D\u306E\u307E\u307E\u6E21\u3057\u307E\u3059\n\uFF08\u4F8B: --category technical / --difficulty C\uFF09\u3002\u5024\u306E\u4E00\u89A7\u306F --output json \u306E category / difficulty \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002\n\u30E6\u30FC\u30B6\u30FC\u3054\u3068\u306E\u4FDD\u6709\u8CC7\u683C\u306F twp user qualifications <\u30E6\u30FC\u30B6\u30FC> \u3067\u3059\u3002",
|
|
116
121
|
flags:[{name:"--keyword",summary:"\u8CC7\u683C\u540D\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--recommended",summary:"\u63A8\u5968\u8CC7\u683C\u3060\u3051\u3092\u51FA\u3059",takesValue:false},{name:"--category",summary:"\u5206\u985E\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30B5\u30FC\u30D0\u306E\u5024\u30FB\u4F8B: technical\uFF09",takesValue:true,placeholder:"<\u5206\u985E>"},{name:"--difficulty",summary:"\u96E3\u6613\u5EA6\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30B5\u30FC\u30D0\u306E\u5024\u30FB\u4F8B: C\uFF09",
|
|
117
|
-
takesValue:true,placeholder:"<\u96E3\u6613\u5EA6>"}],plan(input){noArgs(input,"twp qualification list help");return{method:"GET",path:QUALIFICATIONS_PATH,query:{keyword:nonEmpty(input.flags,"--keyword"),is_recommended:input.flags.has("--recommended")?"true":void 0,category:nonEmpty(input.flags,"--category"),difficulty:nonEmpty(input.flags,"--difficulty")}}},summarize:body=>qualificationRows(body).map(row=>pick(row,QUALIFICATION_COLUMNS)),raw:body=>qualificationRows(body)}
|
|
122
|
+
takesValue:true,placeholder:"<\u96E3\u6613\u5EA6>"}],plan(input){noArgs(input,"twp qualification list help");return{method:"GET",path:QUALIFICATIONS_PATH,query:{keyword:nonEmpty(input.flags,"--keyword"),is_recommended:input.flags.has("--recommended")?"true":void 0,category:nonEmpty(input.flags,"--category"),difficulty:nonEmpty(input.flags,"--difficulty")}}},summarize:body=>qualificationRows(body).map(row=>pick(row,QUALIFICATION_COLUMNS)),raw:body=>qualificationRows(body)};var qualificationGetOperation={
|
|
123
|
+
name:"get",summary:"\u8CC7\u683C1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp qualification get <\u8CC7\u683C>",description:`GET /api/v2/organization/qualifications/{id}\u3002
|
|
124
|
+
|
|
125
|
+
${QUALIFICATION_REF_HELP}`,flags:[QUALIFICATION_REF_FLAG],prepare:(input,ctx)=>prepareQualificationTarget(input,ctx,"twp qualification get help"),plan:input=>({method:"GET",path:qualificationPath(input)}),summarize:body=>pick(qualificationItem(body),QUALIFICATION_DETAIL_COLUMNS),raw:body=>qualificationItem(body)};var qualificationCreateOperation={name:"create",summary:"\u8CC7\u683C\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp qualification create --name <\u8CC7\u683C\
|
|
126
|
+
\u540D> [\u9805\u76EE\u2026]",description:"POST /api/v2/organization/qualifications\u3002--name \u304C\u5FC5\u9808\u3067\u3059\u3002\u305D\u306E\u307B\u304B\u306E\u9805\u76EE\u306F\u7701\u304F\u3068\u672A\u8A2D\u5B9A\uFF08\u63A8\u5968\u306F false\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002\n\u540C\u540D\u306E\u8CC7\u683C\u304C\u3042\u3063\u3066\u3082\u30B5\u30FC\u30D0\u306F\u65AD\u308A\u307E\u305B\u3093\uFF08CSV \u53D6\u308A\u8FBC\u307F\u306F\u540C\u540D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059\uFF09\u3002\n\n\u4F5C\u6210\u3057\u305F\u8CC7\u683C\u306E ID \u304C\u8FD4\u308A\u307E\u3059\u3002",
|
|
127
|
+
forbidden:QUALIFICATION_FORBIDDEN,flags:createFlags(QUALIFICATION_FIELDS),async prepare(input){noArgs(input,"twp qualification create help");if(fieldBody(input,QUALIFICATION_FIELDS)["name"]===void 0)throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp qualification create help");return input},plan:input=>({method:"POST",path:QUALIFICATIONS_PATH,body:fieldBody(input,QUALIFICATION_FIELDS)}),summarize:body=>pick(qualificationItem(body),QUALIFICATION_DETAIL_COLUMNS),
|
|
128
|
+
raw:body=>qualificationItem(body),notes:()=>[cacheNote(QUALIFICATION_LABEL)]};var QUALIFICATION_CLEARABLE={abbreviation:"abbreviation",category:"category",difficulty:"difficulty","congratulation-bonus":"congratulation_bonus","monthly-allowance":"monthly_allowance",note:"note"};var QUALIFICATION_CLEAR_FLAG={name:"--clear",summary:`\u9805\u76EE\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3059\uFF08${Object.keys(QUALIFICATION_CLEARABLE).join(" / ")}\u3002\u8907\u6570\u56DE\u6307\u5B9A\u53EF\uFF09`,takesValue:true,
|
|
129
|
+
placeholder:"<\u9805\u76EE>",repeatable:true};function qualificationUpdateBody(input){const body=fieldBody(input,QUALIFICATION_FIELDS);for(const raw of repeatedValues(input,QUALIFICATION_CLEAR_FLAG.name)){const name=raw.trim().replace(/^--/,"").toLowerCase();const key=Object.hasOwn(QUALIFICATION_CLEARABLE,name)?QUALIFICATION_CLEARABLE[name]:void 0;if(key===void 0){throw new UsageError(`--clear \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u672A\u8A2D\u5B9A\u306B\u623B\u305B\u308B\u306E\u306F ${Object.
|
|
130
|
+
keys(QUALIFICATION_CLEARABLE).join(" / ")} \u3067\u3059\u3002`)}if(Object.hasOwn(body,key)&&body[key]!==null){throw new UsageError(`--${name} \u3068 --clear ${name} \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}body[key]=null}return body}var qualificationUpdateOperation={name:"update",summary:"\u8CC7\u683C\u3092\u66F4\u65B0\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",
|
|
131
|
+
usage:"twp qualification update <\u8CC7\u683C> [\u9805\u76EE\u2026] [--clear <\u9805\u76EE>]",description:`PUT /api/v2/organization/qualifications/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
132
|
+
--clear <\u9805\u76EE> \u3067\u305D\u306E\u9805\u76EE\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3057\u307E\u3059\uFF08${Object.keys(QUALIFICATION_CLEARABLE).join(" / ")}\u30FB\u8907\u6570\u56DE\u6307\u5B9A\u53EF\uFF09\u3002
|
|
133
|
+
\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
134
|
+
|
|
135
|
+
`+QUALIFICATION_REF_HELP,forbidden:QUALIFICATION_FORBIDDEN,flags:[...updateFlags(QUALIFICATION_FIELDS),QUALIFICATION_CLEAR_FLAG,QUALIFICATION_REF_FLAG],async prepare(input,ctx){if(!hasAnyField(input,QUALIFICATION_FIELDS)&&repeatedValues(input,QUALIFICATION_CLEAR_FLAG.name).length===0){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp qualification update help")}qualificationUpdateBody(input);return prepareQualificationTarget(
|
|
136
|
+
input,ctx,"twp qualification update help")},plan:input=>({method:"PUT",path:qualificationPath(input),body:qualificationUpdateBody(input)}),summarize:body=>pick(qualificationItem(body),QUALIFICATION_DETAIL_COLUMNS),raw:body=>qualificationItem(body),notes:()=>[cacheNote(QUALIFICATION_LABEL)]};var qualificationDeleteOperation={name:"delete",summary:"\u8CC7\u683C\u3092\u524A\u9664\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp qualification delete <\u8CC7\u683C\
|
|
137
|
+
> --yes",description:"DELETE /api/v2/organization/qualifications/{id}\u3002\u30B5\u30FC\u30D0\u306F\u8AD6\u7406\u524A\u9664\u3057\u3001\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u540D\u524D\u3067\u306E\u6307\u5B9A\u304B\u3089\u6D88\u3048\u307E\u3059\u3002\n**\u30E6\u30FC\u30B6\u30FC\u306B\u767B\u9332\u6E08\u307F\u306E\u4FDD\u6709\u8CC7\u683C\u306F\u6D88\u3048\u305A\u3001\u8868\u793A\u3055\u308C\u7D9A\u3051\u307E\u3059**\uFF08\u30B5\u30FC\u30D0\u306F\u4FDD\u6709\u8005\u304C\u3044\u3066\u3082\u65AD\u308A\u307E\u305B\u3093\uFF09\u3002\nCLI \u306B\u3082\u753B\u9762\u306B\u3082\u524A\u9664\u3092\u53D6\u308A\u6D88\u3059\u64CD\u4F5C\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u540C\u540D\u3067\u4F5C\u308A\u76F4\u3059\u3068\u3001CSV \u53D6\u308A\u8FBC\u307F\u306F\u524A\u9664\u6E08\u307F\u306E\u540C\u540D\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059\u3002\n\n"+
|
|
138
|
+
QUALIFICATION_REF_HELP,destructive:true,confirmation:"\u8CC7\u683C\u30DE\u30B9\u30BF\u304B\u3089\u8CC7\u683C\u3092\u6D88\u3059\uFF08\u53D6\u308A\u6D88\u3059\u64CD\u4F5C\u304C\u7121\u3044\uFF09\u64CD\u4F5C",forbidden:QUALIFICATION_FORBIDDEN,flags:[QUALIFICATION_REF_FLAG],prepare:(input,ctx)=>prepareQualificationTarget(input,ctx,"twp qualification delete help"),plannedNotes:()=>["\u524A\u9664\u3057\u3066\u3082\u3001\u30E6\u30FC\u30B6\u30FC\u306B\u767B\u9332\u6E08\u307F\u306E\u4FDD\u6709\u8CC7\u683C\u306F\u6B8B\u308A\u307E\u3059\uFF08\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\u9078\u629E\u80A2\u304B\u3089\u6D88\u3048\u308B\u3060\u3051\u3067\u3059\uFF09\u3002"],
|
|
139
|
+
plan:input=>({method:"DELETE",path:qualificationPath(input)}),summarize:body=>acknowledgement(body,"\u8CC7\u683C\u524A\u9664"),raw:body=>acknowledgement(body,"\u8CC7\u683C\u524A\u9664"),notes:()=>[cacheNote(QUALIFICATION_LABEL)]};var QUALIFICATION_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 QUALIFICATION_FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",
|
|
140
|
+
takesValue:false};var qualificationTemplateOperation={name:"import-template",summary:"\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u53D6\u308A\u8FBC\u307F\u7528 CSV \u306E\u96DB\u5F62\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp qualification import-template --out <\u30D1\u30B9.csv> [--force]",description:"GET /api/v2/organization/qualifications/import-template\u3002\u898B\u51FA\u3057\u884C\u3068\u8A18\u5165\u4F8B1\u884C\u306E CSV\uFF08UTF-8\u30FBBOM \u4ED8\u304D\uFF09\u3067\u3059\u3002\n\u8A18\u5165\u4F8B\u306E\u884C\u306F\u6D88\u3057\u3066\u304B\u3089\u5024\u3092\u57CB\u3081\u3001twp qualification import \u3067\u53D6\u308A\u8FBC\u307F\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\
|
|
141
|
+
\u307E\u305B\u3093\uFF08\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force\uFF09\u3002",flags:[QUALIFICATION_OUT_FLAG,QUALIFICATION_FORCE_FLAG],download:{outFlag:QUALIFICATION_OUT_FLAG.name,forceFlag:QUALIFICATION_FORCE_FLAG.name},forbidden:QUALIFICATION_FORBIDDEN,plan(input){noArgs(input,"twp qualification import-template help");return{method:"GET",path:`${QUALIFICATIONS_PATH}/import-template`}},summarize:body=>body,raw:body=>body};var IMPORT_MAX_BYTES=2048*1024;var IMPORT_USAGE="twp qualificat\
|
|
142
|
+
ion import --file <CSV> --yes";var IMPORT_FILE_FLAG={name:"--file",summary:"\u53D6\u308A\u8FBC\u3080 CSV\uFF08\u5FC5\u9808\u30FB1\u884C\u76EE\u304C\u898B\u51FA\u3057\uFF09",takesValue:true,placeholder:"<CSV>"};function importFileBytes(input){const file=nonEmpty(input.flags,IMPORT_FILE_FLAG.name);if(file===void 0)throw new UsageError("--file <CSV> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",IMPORT_USAGE);try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`--file \u306B\
|
|
143
|
+
\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,IMPORT_USAGE);if(stat.size>IMPORT_MAX_BYTES){throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\u30FB\u30B5\u30FC\u30D0\u306E\u4E0A\u9650 ${IMPORT_MAX_BYTES} \u30D0\u30A4\u30C8\uFF09: ${file}`,"\u30D5\u30A1\u30A4\u30EB\u3092\u5206\u3051\u3066\u53D6\u308A\u8FBC\u3093\u3067\u304F\u3060\u3055\u3044\u3002")}
|
|
144
|
+
return{name:path.basename(file),bytes:fs.readFileSync(file)}}catch(err){if(err instanceof UsageError)throw err;throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${err.code??err.message}\uFF09`,IMPORT_USAGE)}}function prepareQualificationImport(input){noArgs(input,IMPORT_USAGE);const{name,bytes}=importFileBytes(input);return withResolved(input,{fileName:name,fileBase64:bytes.toString("base64")})}function qualificationImportPlan(input,dryRun){
|
|
145
|
+
return{method:"POST",path:`${QUALIFICATIONS_PATH}/bulk-import`,body:new MultipartBody({dry_run:dryRun?"1":"0"},[{field:"file",filename:requireResolved(input,"fileName"),contentType:"text/csv",bytes:new Uint8Array(Buffer.from(requireResolved(input,"fileBase64"),"base64"))}])}}function qualificationImportRows(body,what){const rows=isRecord(body)?body["rows"]:void 0;if(!Array.isArray(rows))throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B rows \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
146
|
+
return rows.map(row=>{if(!isRecord(row)||!Number.isInteger(row["line"])||!["importable","skipped","error"].includes(String(row["status"]))){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E rows \u306E\u5F62\u304C\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return{line:row["line"],status:row["status"],label:String(row["label"]??""),message:String(row["message"]??"")}})}var importRowLine=row=>`${row.line} \u884C\u76EE${row.
|
|
147
|
+
label===""?"":` ${row.label}`}${row.message===""?"":`: ${row.message}`}`;function qualificationImportPreview(rows){const of=status=>rows.filter(row=>row.status===status);const[importable,skipped,errors]=[of("importable"),of("skipped"),of("error")];if(errors.length>0){throw new UsageError(`CSV \u306B\u767B\u9332\u3067\u304D\u306A\u3044\u884C\u304C ${errors.length} \u884C\u3042\u308B\u305F\u3081\u30011\u4EF6\u3082\u767B\u9332\u3057\u3066\u3044\u307E\u305B\u3093:
|
|
148
|
+
${errors.map(importRowLine).join("\n ")}`,`\u767B\u9332\u3067\u304D\u308B\u884C\u306F ${importable.length} \u884C\u3067\u3059\u3002\u305D\u306E\u884C\u3092\u76F4\u3059\u304B\u524A\u9664\u3057\u3066\u304B\u3089\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--dry-run \u3067\u5224\u5B9A\u3060\u3051\u3092\u898B\u3089\u308C\u307E\u3059\uFF09\u3002`)}return{notes:[`\u30B5\u30FC\u30D0\u306E\u5224\u5B9A\uFF08dry_run=1\u30FB\u767B\u9332\u3057\u3066\u3044\u307E\u305B\u3093\uFF09: \u767B\u9332 ${importable.
|
|
149
|
+
length} \u884C\u30FB\u30B9\u30AD\u30C3\u30D7 ${skipped.length} \u884C\u30FB\u30A8\u30E9\u30FC 0 \u884C\u3002`,...importable.length>0?[" \u767B\u9332\u3059\u308B\u884C:",...importable.map(row=>` ${importRowLine(row)}`)]:[],...skipped.length>0?[" \u30B9\u30AD\u30C3\u30D7\u3059\u308B\u884C\uFF08\u65E2\u5B58\u306E\u8CC7\u683C\u306F\u66F4\u65B0\u3057\u307E\u305B\u3093\uFF09:",...skipped.map(row=>` ${importRowLine(row)}`)]:[]],warnings:[]}}var qualificationImportOperation={name:"import",summary:"\
|
|
150
|
+
\u8CC7\u683C\u30DE\u30B9\u30BF\u3092 CSV \u3067\u4E00\u62EC\u767B\u9332\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\u30FB--dry-run \u3067\u5224\u5B9A\u3060\u3051\uFF09",usage:IMPORT_USAGE,description:"POST /api/v2/organization/qualifications/bulk-import\u3002\u96DB\u5F62\uFF08twp qualification import-template\uFF09\u306E\u5F62\u306E CSV \u3092\u53D6\u308A\u8FBC\u307F\u307E\u3059\u3002\n\u5217\u306F\u898B\u51FA\u3057\u306E\u540D\u524D\u3067\u5BFE\u5FDC\u3065\u3051\u307E\u3059\uFF08\u65E5\u672C\u8A9E\u30FB\u82F1\u8A9E\u306E\u898B\u51FA\u3057\u306E\u3069\u3061\u3089\u3067\u3082\u53EF\uFF09\u3002\u6587\u5B57\u30B3\u30FC\u30C9\u306E\u5224\u5B9A\u306F\u30B5\u30FC\u30D0\u304C\u884C\u3044\u307E\u3059\u3002\n**\u53D6\u308A\u8FBC\u307F\u306F\u8FFD\u52A0\u3060\u3051\u3067\u3059\u3002** \u540C\u3058\u540D\u524D\u306E\u8CC7\u683C\uFF08\u524A\u9664\u6E08\u307F\u3092\u542B\u3080\uFF09\u3068\u30D5\u30A1\u30A4\u30EB\u5185\u306E\u91CD\u8907\u306F\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u3001\u65E2\u5B58\u306E\u8CC7\u683C\u306F\u66F4\u65B0\u3055\u308C\u307E\u305B\u3093\u3002\n1\u56DE\u306B\u53D6\u308A\u8FBC\u3081\u308B\u884C\u6570\u306E\u4E0A\u9650\u306F\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF08\u8D85\u3048\u308B\u3068\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09\u3002\n\n\
|
|
151
|
+
\u9001\u308B\u524D\u306B\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u3092 dry_run=1 \u3067\u9001\u3063\u3066\u30B5\u30FC\u30D0\u306B\u5168\u884C\u3092\u5224\u5B9A\u3055\u305B\u3001\u767B\u9332\u30FB\u30B9\u30AD\u30C3\u30D7\u3059\u308B\u884C\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002\n\u30A8\u30E9\u30FC\u884C\u304C1\u3064\u3067\u3082\u3042\u308C\u30701\u4EF6\u3082\u767B\u9332\u305B\u305A\u3001\u884C\u756A\u53F7\u3068\u7406\u7531\u3092\u3059\u3079\u3066\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002\n\u767B\u9332\u3057\u305F\u8CC7\u683C\u3092 CSV \u3067\u6D88\u3059\u624B\u6BB5\u306F\u3042\u308A\u307E\u305B\u3093\uFF081\u4EF6\u305A\u3064 twp qualification delete <\u8CC7\u683C> --yes \u3067\u6D88\u3057\u307E\u3059\uFF09\u3002",
|
|
152
|
+
destructive:true,confirmation:"\u8CC7\u683C\u30DE\u30B9\u30BF\u3078\u884C\u3092\u8FFD\u52A0\u3059\u308B\uFF08CSV \u3067\u306F\u53D6\u308A\u6D88\u305B\u306A\u3044\uFF09\u64CD\u4F5C",forbidden:QUALIFICATION_FORBIDDEN,flags:[IMPORT_FILE_FLAG],prepare:async input=>prepareQualificationImport(input),plan:input=>qualificationImportPlan(input,false),plannedNotes:()=>["\u3053\u306E\u524D\u306B\u3001\u540C\u3058\u30D5\u30A1\u30A4\u30EB\u3092 dry_run=1 \u3067\u9001\u3063\u3066\u30B5\u30FC\u30D0\u306B\u5168\u884C\u3092\u5224\u5B9A\u3055\u305B\u307E\u3059\uFF08\u767B\u9332\u306F\u3057\u307E\u305B\u3093\uFF09\u3002\u30A8\u30E9\u30FC\u884C\u304C\u3042\u308C\u3070\u3053\u306E\u767B\u9332\u306F\u9001\u308A\u307E\u305B\u3093\u3002"],
|
|
153
|
+
async preview(input,ctx){return qualificationImportPreview(qualificationImportRows(await ctx.send(qualificationImportPlan(input,true)),"CSV \u306E\u5224\u5B9A"))},summarize:body=>qualificationImportRows(body,"CSV \u306E\u767B\u9332").map(row=>({line:row.line,status:row.status,name:row.label,message:row.message})),raw:body=>body,notes(body){const message=isRecord(body)&&typeof body["message"]==="string"?body["message"]:void 0;return[...message===void 0?[]:[message],cacheNote(QUALIFICATION_LABEL)]}};
|
|
154
|
+
var PROGRAM_PATH=`${QUALIFICATIONS_PATH}/program-description`;var PROGRAM_MAX_CHARS=1e4;var PROGRAM_SET_USAGE="twp qualification program set (--body <\u672C\u6587> | --body-file <\u30D1\u30B9|-> | --clear)";var PROGRAM_BODY_SPEC={flag:"--body",fileFlag:"--body-file",label:"\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587",maxChars:PROGRAM_MAX_CHARS,usage:PROGRAM_SET_USAGE};var PROGRAM_CLEAR_FLAG={name:"--clear",summary:"\u8AAC\u660E\u6587\u3092\u6D88\u3057\u3066\u672A\u8A2D\u5B9A\u306B\u623B\u3059\uFF08--body / --body-file \u3068\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\uFF09",
|
|
155
|
+
takesValue:false};function programDescription(body){if(!isRecord(body)||body["result"]!==true||!Object.hasOwn(body,"program_description")){throw new ApiResponseError("\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u306E\u5FDC\u7B54\u306B program_description \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const value=body["program_description"];return typeof value==="string"?value:null}var programResource={name:"program",
|
|
156
|
+
summary:"\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\uFF08\u5168\u8CC7\u683C\u306B\u5171\u901A\u3059\u308B\u30EB\u30FC\u30EB\uFF09\u306E\u53C2\u7167\u30FB\u66F4\u65B0",operations:[{name:"get",summary:"\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u3092\u8868\u793A\u3059\u308B",usage:"twp qualification program get",description:"GET /api/v2/organization/qualifications/program-description\u3002\u8CC7\u683C\u5236\u5EA6\u30DA\u30FC\u30B8\u306B\u51FA\u308B\u3001\u5168\u8CC7\u683C\u306B\u5171\u901A\u3059\u308B\u30EB\u30FC\u30EB\u306E\u81EA\u7531\u6587\u3067\u3059\u3002\n\u672A\u8A2D\u5B9A\u306A\u3089\u7A7A\u3067\u3059\uFF08--output json \u306F null\uFF09\u3002\u53C2\u7167\u306F\u5168\u793E\u54E1\u304C\u3067\u304D\u307E\u3059\u3002\n--output text / tsv \u306F\u6539\u884C\u3092 \\n \u306B\
|
|
157
|
+
\u30A8\u30B9\u30B1\u30FC\u30D7\u3057\u307E\u3059\u3002\u6539\u884C\u3092\u542B\u3080\u672C\u6587\u3092\u305D\u306E\u307E\u307E\u8AAD\u3080\u306A\u3089 --output json \u306E program_description \u3067\u3059\u3002",flags:[],plan(input){noArgs(input,"twp qualification program get help");return{method:"GET",path:PROGRAM_PATH}},summarize:body=>programDescription(body)??"",raw:body=>({program_description:programDescription(body)}),notes:body=>programDescription(body)===null?["\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u306F\u672A\u8A2D\u5B9A\u3067\u3059\u3002"]:
|
|
158
|
+
[]},{name:"set",summary:"\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u3092\u7F6E\u304D\u63DB\u3048\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:PROGRAM_SET_USAGE,description:`PUT /api/v2/organization/qualifications/program-description\u3002\u8AAC\u660E\u6587\u3092\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059\uFF08\u8FFD\u8A18\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u524D\u306E\u6587\u306F\u6B8B\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
159
|
+
\u672C\u6587\u306F ${PROGRAM_MAX_CHARS} \u6587\u5B57\u307E\u3067\u3002--body-file - \u3067\u6A19\u6E96\u5165\u529B\u304B\u3089\u8AAD\u307F\u307E\u3059\u3002--clear \u3067\u6D88\u3057\u3066\u672A\u8A2D\u5B9A\u306B\u623B\u3057\u307E\u3059\u3002
|
|
160
|
+
\u9001\u308B\u524D\u306B\u4ECA\u306E\u8AAC\u660E\u6587\u306E\u6587\u5B57\u6570\u3092 GET \u3057\u3066 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002
|
|
161
|
+
\u4ECA\u306E\u8AAC\u660E\u6587\u304C\u3042\u308B\u3068\u304D\u306F\u7F6E\u304D\u63DB\u3048\u308B\u3068\u623B\u305B\u306A\u3044\u305F\u3081\u3001--yes \u304C\u7121\u3051\u308C\u3070\u9001\u308A\u307E\u305B\u3093\uFF08\u672A\u8A2D\u5B9A\u304B\u3089\u66F8\u304F\u3068\u304D\u306F\u4E0D\u8981\u3067\u3059\uFF09\u3002`,forbidden:QUALIFICATION_FORBIDDEN,flags:[{name:"--body",summary:"\u8AAC\u660E\u6587\uFF08\u6587\u5B57\u5217\u3067\u76F4\u63A5\u6E21\u3059\uFF09",takesValue:true,placeholder:"<\u672C\u6587>"},
|
|
162
|
+
{name:"--body-file",summary:"\u8AAC\u660E\u6587\u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"},PROGRAM_CLEAR_FLAG],async prepare(input){noArgs(input,PROGRAM_SET_USAGE);const clear=input.flags.has(PROGRAM_CLEAR_FLAG.name);if(clear&&(input.flags.has("--body")||input.flags.has("--body-file"))){throw new UsageError("--clear \u3068 --body / --body-file \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",PROGRAM_SET_USAGE)}
|
|
163
|
+
if(clear)return withResolved(input,{program:JSON.stringify(null)});const text=await readBody(input,PROGRAM_BODY_SPEC);if(text===void 0)throw new UsageError("--body / --body-file / --clear \u306E\u3069\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",PROGRAM_SET_USAGE);return withResolved(input,{program:JSON.stringify(text)})},plan:input=>({method:"PUT",path:PROGRAM_PATH,body:{program_description:JSON.parse(requireResolved(input,"program"))}}),async preview(input,ctx){const current=programDescription(
|
|
164
|
+
await ctx.send({method:"GET",path:PROGRAM_PATH}));const next=JSON.parse(requireResolved(input,"program"));const describe=text=>text===null?"\u672A\u8A2D\u5B9A":`${charCount(text)} \u6587\u5B57`;if(current===next)return{notes:["\u4ECA\u306E\u8AAC\u660E\u6587\u3068\u540C\u3058\u3067\u3059\uFF08\u9001\u3063\u3066\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002"],warnings:[]};return{notes:[`\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587: \u4ECA ${describe(current)} \u2192 ${describe(next)}\uFF08\u7F6E\
|
|
165
|
+
\u304D\u63DB\u3048\uFF09\u3002`],warnings:current===null?[]:[`\u4ECA\u306E\u8AAC\u660E\u6587\uFF08${describe(current)}\uFF09\u306F\u7F6E\u304D\u63DB\u3048\u308B\u3068\u623B\u305B\u307E\u305B\u3093\u3002\u63A7\u3048\u304C\u8981\u308B\u306A\u3089\u5148\u306B twp qualification program get --output json \u3067\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\u3002`]}},summarize:body=>programDescription(body)??"",raw:body=>({program_description:programDescription(body)})}]};var qualificationDomain={name:"\
|
|
166
|
+
qualification",summary:"\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\u7BA1\u7406\u30FBCSV \u53D6\u308A\u8FBC\u307F\u3001\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587",operations:[qualificationListOperation,qualificationGetOperation,qualificationCreateOperation,qualificationUpdateOperation,qualificationDeleteOperation,qualificationTemplateOperation,qualificationImportOperation],subresources:[programResource]};export{groupedSkillRows,skillMatrix,skillNames,FISCAL_YEAR_FLAG,fiscalYear,matchSkill,parseSelfEvaluation,parseReorderFile,reorderPreview,skillDomain,qualificationImportRows,qualificationImportPreview,qualificationDomain};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{salesFeatureDenied}from"./chunk-
|
|
3
|
+
import{salesFeatureDenied}from"./chunk-CZUXTKMR.js";import{featureLicenseGuidance}from"./chunk-ICGIHXBA.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{isExactNumericId}from"./chunk-7APLKLQL.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
|
|
4
4
|
import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";var SALES_PATH="/api/v2/sales";var REASONS_PATH=`${SALES_PATH}/ai-review-reasons`;function documentForbidden(body){if(salesFeatureDenied(body))return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");const reason=body?.error;if(typeof reason==="string"&&reason.endsWith("\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09`}
|
|
5
5
|
return void 0}function reasonsForbidden(body){if(body?.error==="permission_denied")return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406");return"\u7406\u7531\u306E\u6A2A\u65AD\u4E00\u89A7\u30FB\u6587\u6848\u751F\u6210\u30FBPR \u4F5C\u6210\u306F\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u66F8\u985E\u3092\u8DE8\u3044\u3067\u7406\u7531\u3092\u8AAD\u3080\u305F\u3081\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u8CA9\u58F2\u7BA1\u7406\u3092\u5951\u7D04\u3057\u3066\u3044\u308B\u304B\u30FB\u3042\u306A\u305F\u306E\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u304B\u3092\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
|
|
6
6
|
var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",segment:"estimates"};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",segment:"invoices"};var CONTRACT={name:"contract",label:"\u53D6\u5F15\u5951\u7D04",segment:"contracts"};var JUDGMENTS={no_issue:"\u78BA\u8A8D\u3057\u305F\u304C\u554F\u984C\u306A\u3044\u3068\u5224\u65AD\u3057\u305F",corrected:"\u6307\u6458\u3092\u53D7\u3051\u3066\u66F8\u985E\u3092\u4FEE\u6B63\u3057\u305F",not_applicable:"\u3053\u306E\u6848\u4EF6\u306B\u306F\u5F53\u3066\u306F\u307E\u3089\u306A\u3044\u6307\u6458\u3060\u3068\u5224\u65AD\u3057\u305F"};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-
|
|
4
|
-
LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-
|
|
3
|
+
import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-LWJI22LF.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVU7JXCG.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-NNDUIAGN.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{
|
|
4
|
+
LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-7APLKLQL.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
|
|
5
5
|
--start-date",summary:"\u53C2\u753B\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var END_DATE_FLAG={name:"--end-date",summary:"\u53C2\u753B\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var PERIOD_FILE_FLAG={name:"--period-file",summary:"\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306E JSON \u914D\u5217\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};
|
|
6
6
|
var MEMO_FLAG={name:"--memo",summary:"\u30E1\u30E2\uFF0810,000 \u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var CLEAR_FLAG={name:"--clear",summary:"\u5225\u540D\u3092\u6D88\u3059",takesValue:false};var MEMO_MAX_CHARS=1e4;var PERIOD_FILE_MAX_CHARS=2e5;var ALIAS_MAX_CHARS=255;var PERIOD_KEYS=["id","start_date","end_date","daily_hours","total_hours","input_mode"];var PERIOD_REQUIRED=["start_date","end_date","daily_hours"];var ROLE_HELP="--role \u306E\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3057\u307E\u3059\uFF08CLI\
|
|
7
7
|
\u306F\u691C\u67FB\u3057\u307E\u305B\u3093\uFF09\u30022026-10-01 \u6642\u70B9\u306E\u5024\u306F\n member\uFF08\u30E1\u30F3\u30D0\u30FC\uFF09/ manager\uFF08\u7BA1\u7406\u8005\uFF09/ approver\uFF08\u7BA1\u7406\u8005\uFF08\u627F\u8A8D\u8005\uFF09\uFF09/ manager_no_punch\uFF08\u7BA1\u7406\u8005\uFF08\u6253\u523B\u7121\uFF09\uFF09\u3067\u3059\u3002\n \u5024\u306F\u5897\u3048\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u4ECA\u306E\u30E1\u30F3\u30D0\u30FC\u306E\u5024\u306F twp project members \u306E role \u5217\u3067\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\u3002";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{STATUS_VALUES,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,truncationNotes,updateFlags}from"./chunk-
|
|
3
|
+
import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{STATUS_VALUES,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,truncationNotes,updateFlags}from"./chunk-NNDUIAGN.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ATTENDANCE_REPORTS_PATH,ATTENDANCE_REPORT_MASTER_LABELS,ATTENDANCE_REPORT_MASTER_PATHS,ORG_MASTER_LIMIT,resolveNamed}from"./chunk-7APLKLQL.js";
|
|
4
4
|
import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
5
5
|
function userPath(input,suffix=""){const userId=requireResolved(input,"userId");if(!isSafePathSegment(userId)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`${encodeURIComponent(userId)}${suffix}`}var USER_REF_FLAG={name:"--user",summary:"\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
|
|
6
6
|
takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"};async function prepareUser(input,ctx,usage){const ref=singleRef(input,{flag:"--user",label:"\u30E6\u30FC\u30B6\u30FC",usage});const user=await ctx.resolver.user(ref);return withResolved(input,{userId:user.id})}var COMMAND="twp attendance";function label(kind){return ATTENDANCE_REPORT_MASTER_LABELS[kind]}function commonFields(name){return[{kind:"text",flag:"--code",key:"code",label:`${name}\u30B3\u30FC\u30C9`,maxChars:50,summary:`${name}\u30B3\u30FC\u30C9\uFF08\u30C6\u30CA\u30F3\u30C8\u5185\u3067\u4E00\u610F\uFF09`},{kind:"text",flag:"--name",key:"name",label:`${name}\u540D`,maxChars:255,summary:`${name}\u540D`}]}function tailFields(){return[{kind:"integer",flag:"--sort",key:"sort",label:"\u8868\u793A\u9806",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
var LOADERS={agent:async()=>(await import("./agent-63DPLVPG.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-ZNQJSXQV.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-IT6X4YQB.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-SDYGHILR.js")).analysisDomain,announcement:async()=>(await import("./announcement-4RI2COFS.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-NJACXW3S.js")).attendanceDomainWithRecords,
|
|
4
|
+
backlog:async()=>(await import("./backlog-NQUZQSCY.js")).backlogDomain,budget:async()=>(await import("./budget-ILEQGQOA.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-I4X6YQS3.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-QYNSMAP4.js")).businessPlaceDomain,company:async()=>(await import("./company-QFIHJ4OY.js")).companyDomain,contract:async()=>(await import("./contract-IGH7GFOM.js")).contractDomain,customer:async()=>(await import("./company-QFIHJ4OY.js")).
|
|
5
|
+
customerDomain,department:async()=>(await import("./department-TIW5YISO.js")).departmentDomain,deposit:async()=>(await import("./deposit-2YPPFQVR.js")).depositDomain,estimate:async()=>(await import("./estimate-JBQSEUJY.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-4QE4L3OG.js")).evaluationDomain,expense:async()=>(await import("./expense-CFHOIO3I.js")).expenseDomain,"fiscal-year":async()=>(await import("./fiscal-year-N7POJ77K.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-WRSUBPT3.js")).
|
|
6
|
+
holidayDomain,"goal-sheet":async()=>(await import("./evaluation-4QE4L3OG.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-6ANZ6HKD.js")).inquiryDomain,invoice:async()=>(await import("./invoice-INIF6BUD.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-KOFDOB65.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-F3GKX2VI.js")).knowledgeDomain,leave:async()=>(await import("./leave-LE3CIRPT.js")).leaveDomain,license:async()=>(await import("./license-ME2GUNJQ.js")).
|
|
7
|
+
licenseDomain,media:async()=>(await import("./media-FDOAC5ZH.js")).mediaDomain,meeting:async()=>(await import("./knowledge-W3ONOGV2.js")).meetingDomain,note:async()=>(await import("./knowledge-W3ONOGV2.js")).noteDomain,notification:async()=>(await import("./notification-N4FVLOPW.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-ZY3GTU26.js")).onedriveDomain,outlook:async()=>(await import("./outlook-YG7GFF44.js")).outlookDomain,payee:async()=>(await import("./sales-master-QYNSMAP4.js")).
|
|
8
|
+
payeeDomain,position:async()=>(await import("./position-4C37LALY.js")).positionDomain,project:async()=>(await import("./project-DUHSOINK.js")).projectDomain,prospect:async()=>(await import("./prospect-QRTQA2R6.js")).prospectDomain,purchase:async()=>(await import("./purchase-LWRNGP3T.js")).purchaseDomain,qualification:async()=>(await import("./skill-MWETUX56.js")).qualificationDomain,receivable:async()=>(await import("./receivable-A4T74HZK.js")).receivableDomain,redmine:async()=>(await import("./redmine-X2GTGXHG.js")).
|
|
9
|
+
redmineDomain,report:async()=>(await import("./report-UNEQSKNU.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-LZQCKDUM.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-QYNSMAP4.js")).sealImpressionDomain,search:async()=>(await import("./search-GZIEQYLJ.js")).searchDomain,segment:async()=>(await import("./segment-NNWN5KJB.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-AUEECNJL.js")).shiftDomain,skill:async()=>(await import("./skill-MWETUX56.js")).
|
|
10
|
+
skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-4UKRQZHS.js")).supplierPaymentDomain,support:async()=>(await import("./support-JJ7ZCJFX.js")).supportDomain,task:async()=>(await import("./task-HAVEGLQC.js")).taskDomain,teams:async()=>(await import("./teams-RLMFGND2.js")).teamsDomain,user:async()=>(await import("./user-VRMLWGQ2.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-ZCUMSGVP.js")).
|
|
11
|
+
userContractTypeDomain,wiki:async()=>(await import("./knowledge-W3ONOGV2.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-AUEECNJL.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-VCJUJDBO.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-I7L476KK.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{WORKER_AGENTS_PATH}from"./chunk-
|
|
3
|
+
import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{WORKER_AGENTS_PATH}from"./chunk-7APLKLQL.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
|
|
4
4
|
import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";var LABEL="\u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8";var LIST_COLUMNS=["agent_id","name","is_enabled","schedule","next_run_at","last_run_status","last_run_at","owner_user_name"];var GET_COLUMNS=["agent_id","name","description","owner_user_name","is_enabled","schedule","next_run_at","is_running","last_run_status","last_run_at","last_run_id","allowed_tool_count","write_enabled","ai_model","consecutive_failure_count","auto_disabled_reason"];var TOOL_COLUMNS=["name","category","d\
|
|
5
5
|
isplay_name","is_mutating","is_available"];var TOOL_GET_COLUMNS=["name","category","display_name","description","is_mutating","is_destructive","is_available","required_feature","required_level","required_api_scopes"];var RUN_COLUMNS=["run_id","status","trigger","started_at","duration_ms","tool_call_count","consumed_credits","summary"];var RUN_GET_COLUMNS=["summary","status","skip_reason","error_code","error_message","run_id","agent_id","trigger","is_dry_run","started_at","finished_at","duration_\
|
|
6
6
|
ms","iteration_count","tool_call_count","mutation_count","consumed_credits","ai_model"];var STEP_COLUMNS=["step_no","type","tool_name","is_mutation","duration_ms","content","error_message"];var STEP_TYPES=["thinking","tool_call","tool_result","error","budget_warning","final_summary"];var FORBIDDEN="AI\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u6A5F\u80FD\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\uFF08agent\uFF09\u304C\u3042\u306A\u305F\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u4F7F\u3048\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u308A\u5F53\u3066\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
3
3
|
const require = __twpCreateRequire(import.meta.url);
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-QQCWGMZN.js";import"./chunk-2LOT54OO.js";import"./chunk-W4E4F2ZA.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-QQCWGMZN.js";import"./chunk-2LOT54OO.js";import"./chunk-W4E4F2ZA.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.76.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
|
|
5
5
|
|
|
6
6
|
\u4F7F\u3044\u65B9:
|
|
7
7
|
twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
|
|
@@ -714,6 +714,22 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
714
714
|
twp skill self-evaluate <\u30D7\u30ED\u30D5\u30A1\u30A4\u30EBID>
|
|
715
715
|
\u81EA\u5206\u306E\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u81EA\u5DF1\u8A55\u4FA1\u3092\u5165\u308C\u3066\u63D0\u51FA\u3059\u308B\uFF08--content-file \u3068 --yes \u304C\u8981\u308B\uFF09
|
|
716
716
|
twp qualification list \u8CC7\u683C\u30DE\u30B9\u30BF\u3092\u4E00\u89A7\u3059\u308B
|
|
717
|
+
twp qualification get <\u8CC7\u683C>
|
|
718
|
+
\u8CC7\u683C1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
719
|
+
twp qualification create --name <\u8CC7\u683C\u540D>
|
|
720
|
+
\u8CC7\u683C\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
721
|
+
twp qualification update <\u8CC7\u683C>
|
|
722
|
+
\u8CC7\u683C\u3092\u66F4\u65B0\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
723
|
+
twp qualification delete <\u8CC7\u683C>
|
|
724
|
+
\u8CC7\u683C\u3092\u524A\u9664\u3059\u308B\uFF08\u4FDD\u6709\u8CC7\u683C\u306F\u6B8B\u308B\u30FB--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
725
|
+
twp qualification import-template --out <\u30D1\u30B9>
|
|
726
|
+
\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u53D6\u308A\u8FBC\u307F\u7528 CSV \u306E\u96DB\u5F62\u3092\u66F8\u304D\u51FA\u3059\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
727
|
+
twp qualification import --file <CSV>
|
|
728
|
+
\u8CC7\u683C\u30DE\u30B9\u30BF\u3092 CSV \u3067\u4E00\u62EC\u767B\u9332\u3059\u308B\uFF08\u8FFD\u52A0\u306E\u307F\u30FB--dry-run \u3067\u5224\u5B9A\u3060\u3051\u30FB--yes \u304C\u8981\u308B\uFF09
|
|
729
|
+
twp qualification program get
|
|
730
|
+
\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u3092\u8868\u793A\u3059\u308B
|
|
731
|
+
twp qualification program set --body-file <\u30D1\u30B9>
|
|
732
|
+
\u8CC7\u683C\u5236\u5EA6\u306E\u8AAC\u660E\u6587\u3092\u7F6E\u304D\u63DB\u3048\u308B\uFF08--clear \u3067\u6D88\u3059\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
717
733
|
twp department list \u90E8\u7F72\u3092\u4E00\u89A7\u3059\u308B
|
|
718
734
|
twp department tree \u90E8\u7F72\u30C4\u30EA\u30FC\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u5728\u6709\u52B9\u306A\u90E8\u7F72\u3060\u3051\uFF09
|
|
719
735
|
twp department members <\u90E8\u7F72>
|
|
@@ -889,6 +905,9 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
889
905
|
twp wiki create wiki \u30DA\u30FC\u30B8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u672C\u6587\u306F --content-file \u306E\u30D5\u30A1\u30A4\u30EB\u304B\u3089\uFF09
|
|
890
906
|
twp wiki update <\u30DA\u30FC\u30B8ID>
|
|
891
907
|
wiki \u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3059\u308B\uFF08--if-version \u3067\u7248\u3092\u7167\u5408\uFF09
|
|
908
|
+
--section <\u898B\u51FA\u3057> \u3067\u305D\u306E\u7BC0\u306E\u672C\u6587\u3060\u3051\u3092\u5DEE\u3057\u66FF\u3048\u308B
|
|
909
|
+
twp wiki append <\u30DA\u30FC\u30B8ID>
|
|
910
|
+
wiki \u30DA\u30FC\u30B8\u306E\u672C\u6587\u306E\u672B\u5C3E\u3078\u8FFD\u8A18\u3059\u308B\uFF08\u5168\u6587\u3092\u9001\u308A\u76F4\u3055\u306A\u3044\uFF09
|
|
892
911
|
twp wiki move <\u30DA\u30FC\u30B8ID>
|
|
893
912
|
wiki \u30DA\u30FC\u30B8\u306E\u89AA\u30DA\u30FC\u30B8\u3092\u4ED8\u3051\u66FF\u3048\u308B\uFF08root \u3067\u6700\u4E0A\u4F4D\u3078\uFF09
|
|
894
913
|
twp wiki delete <\u30DA\u30FC\u30B8ID>
|
|
@@ -1329,15 +1348,15 @@ TUI \u5185:
|
|
|
1329
1348
|
\u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
|
|
1330
1349
|
`;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
|
|
1331
1350
|
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-YBKZ3GXD.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
|
|
1332
|
-
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-
|
|
1351
|
+
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-NQZQRUDI.js"),import("./config-3CNEQ7KN.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-3H3CGGBI.js");process.exitCode=
|
|
1333
1352
|
await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
1334
1353
|
`);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
|
|
1335
1354
|
|
|
1336
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-
|
|
1337
|
-
{},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-
|
|
1355
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-UYJP4Z5U.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
|
|
1356
|
+
{},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-OKQHSCD4.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
|
|
1338
1357
|
profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-NCAVUXSX.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-U52UBWSU.js");
|
|
1339
|
-
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-
|
|
1358
|
+
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-UMSNPM4D.js");process.exitCode=await runTaskLoop(
|
|
1340
1359
|
{action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,scheduleOp:args.scheduleOp,scheduleConfigOp:args.scheduleConfigOp,scheduleId:args.scheduleId,charterOp:args.charterOp,charterInput:args.
|
|
1341
1360
|
charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,skillConfig:args.skillConfig,output:args.output,query:args.query,revisionFrom:args.revisionFrom,revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.
|
|
1342
|
-
noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-
|
|
1361
|
+
noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-ALYKVJW2.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-OAJTDDSR.js");
|
|
1343
1362
|
await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
|
|
@@ -2,10 +2,11 @@ import { createRequire as __twpCreateRequire } from 'node:module';
|
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
3
|
import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-5SONMN6K.js";import{ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-BYUV3D5Z.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-J2NRDFCR.js";
|
|
4
4
|
import{ServerSkillCatalog,formatSkillOrigins}from"./chunk-DPIJF3EN.js";import"./chunk-MYBIPHZ7.js";import"./chunk-A4LFG7MW.js";import{NO_PLAN_SESSION,RECENT_ADVANCE_WINDOW_HOURS,ReleaseOutcomeLog,buildDynamicBlocks,buildRecentCandidateIndex,createItem,enqueueBlockerRecovery,enqueueDevVerifyForMerged,enqueueReleasePartialMergeRerun,enqueueReleasePhase5Recovery,fileSkillNames,findRecentCandidate,formatInflightEntry,formatPlanResultLine,formatRecentAdvance,inflightEntries,inflightStaleHours,
|
|
5
|
-
openPlanSession,parseOutcomeCode,parseReleaseResult,parseTaskStatusSnapshot,pendingTaskKeys,resolveRecentAdvance,shouldSuppressForStatus,staleFloorHours,unavailableChecks,windowStartMicros}from"./chunk-
|
|
6
|
-
import
|
|
7
|
-
import{setSkillPrefix,skillCommand,skillFromPrompt,stripSkillCommand}from"./chunk-6CS5L24D.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-5KAWCLYN.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-GY7KI5E5.js";import{ULID_RE,loopProjectIdPolicy,resolveProjectRef}from"./chunk-HVZUXLQ4.js";
|
|
8
|
-
import"./chunk-VFPY2A23.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import"./chunk-5WGOHFAS.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";
|
|
5
|
+
openPlanSession,parseOutcomeCode,parseReleaseResult,parseTaskStatusSnapshot,pendingTaskKeys,resolveRecentAdvance,shouldSuppressForStatus,staleFloorHours,unavailableChecks,windowStartMicros}from"./chunk-F6LEGFID.js";import"./chunk-VRBI2NPI.js";import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-OG7FD7SR.js";import{redactLoopOutput}from"./chunk-JUJSF5ZG.js";
|
|
6
|
+
import{buildLoopConfig,evaluateOwnership,exportStateDirEnv,localConfigPath,loopStateDir}from"./chunk-GAXJPIKO.js";import{CapacityReporter}from"./chunk-VYDPW2YO.js";import{exclusiveInflightEntries,formatExclusiveEntry,normalizeSkillName,spawnSyncResolved}from"./chunk-FABDZBDZ.js";import{describeOperations,evaluatePlanGate,planGateStatePath,recordPlanned}from"./chunk-XMPHGOW4.js";import{formatHookIds,formatHookWiring,runHook,runPrefetch,runPreflight}from"./chunk-TTST7UDR.js";
|
|
7
|
+
import{setSkillPrefix,skillCommand,skillFromPrompt,stripSkillCommand}from"./chunk-6CS5L24D.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-5KAWCLYN.js";import"./chunk-LDBYJPRD.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-GY7KI5E5.js";import{ULID_RE,loopProjectIdPolicy,resolveProjectRef}from"./chunk-HVZUXLQ4.js";
|
|
8
|
+
import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import"./chunk-5WGOHFAS.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";
|
|
9
|
+
import"./chunk-VSJBJXZO.js";import fs9 from"fs";import path7 from"path";import fs from"fs";import path from"path";var LoopLogger=class{constructor(runnerId,logFile,out=process.stdout,now=()=>new Date){this.runnerId=runnerId;this.out=out;this.now=now;if(logFile){fs.mkdirSync(path.dirname(logFile),{recursive:true});this.stream=fs.createWriteStream(logFile,{flags:"a"})}}runnerId;out;now;stream=null;log(message){const d=this.now();const ts=`${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;const line=`[${ts}] [${this.runnerId}] ${stripTerminalControls(
|
|
9
10
|
message)}
|
|
10
11
|
`;this.out.write(line);this.stream?.write(line)}separator(){this.log("=".repeat(60))}close(){this.stream?.end();this.stream=null}};function pad(n){return String(n).padStart(2,"0")}function rotateLogs(dir,retentionDays,now=Date.now()){if(retentionDays<=0)return;const cutoff=now-retentionDays*864e5;let entries;try{entries=fs.readdirSync(dir)}catch{return}for(const name of entries){if(!/^(agent-loop|task-loop|step|plan|schedule-enqueued)-.*\.(log|txt)$/.test(name))continue;const file=path.join(dir,
|
|
11
12
|
name);try{if(fs.statSync(file).mtimeMs<cutoff)fs.rmSync(file,{force:true})}catch{}}}import fs6 from"fs";import os2 from"os";import path4 from"path";var MAX_OUTCOME_DETAIL_LENGTH=1e3;function parseOutcomeDetail(logText){const matches=[...logText.matchAll(/\b[A-Z][A-Z0-9_]*_RESULT:[^\n]*/g)];const line=matches.at(-1)?.[0];if(line===void 0)return null;const sep=line.indexOf("|");if(sep<0)return null;const detail=line.slice(sep+1).split("|").map(s=>s.trim()).filter(s=>s!=="").join(" | ");return detail===""?null:detail.slice(0,MAX_OUTCOME_DETAIL_LENGTH)}var str=v=>typeof v==="string"&&v!==""?v:null;function toRun(v){if(v===null||typeof v!=="obje\
|
|
@@ -18,8 +19,7 @@ r.outcomeDetail)}`;const runner=r.runnerId===null?"\u4E0D\u660E":sanitizeForProm
|
|
|
18
19
|
`- ${r.skill}: \u6700\u7D42\u6210\u529F ${s.lastSuccessAt??"\u306A\u3057\uFF08\u9061\u308C\u305F\u7BC4\u56F2\u5185\uFF09"} \uFF0F \u9023\u7D9A\u5931\u6557 ${s.failureStreak}${s.streakIsLowerBound?"\u56DE\u4EE5\u4E0A":"\u56DE"}${s.streakAlert!==null?`\uFF08\u8B66\u544A\u3057\u304D\u3044\u5024 ${s.streakAlert}\uFF09`:""} \uFF0F \u6700\u7D42\u6210\u529F\u4EE5\u964D\u306E\u5951\u7D04\u884C\u306A\u3057 ${s.noContractSinceSuccess}\u4EF6${s.alerting?" \u26A0\uFE0F \u8B66\u544A\u4E2D":""}${r.truncated?"\
|
|
19
20
|
\uFF08\u8D70\u67FB\u6253\u3061\u5207\u308A: \u8B66\u544A\u306A\u3057\u3092\u300C\u7570\u5E38\u306A\u3057\u300D\u3068\u8AAD\u307E\u306A\u3044\u3053\u3068\uFF09":""}`;lines.push(head);if(s!==null&&s.streakReasons.length>0){const shown=s.streakReasons.slice(0,MAX_STREAK_REASONS_IN_PROMPT);const rest=s.streakReasons.length-shown.length;lines.push(` \u9023\u7D9A\u5931\u6557\u306E\u5185\u8A33\uFF08\u65B0\u3057\u3044\u9806${rest>0?`\u30FB\u5148\u982D${shown.length}\u4EF6`:""}\uFF09:`);lines.push(...shown.
|
|
20
21
|
map(runLine));if(rest>0)lines.push(` - \u2026\u307B\u304B ${rest} \u4EF6\uFF08\u7701\u7565\uFF09`)}lines.push(r.recent.length>0?" \u76F4\u8FD1\u306E\u5B9F\u884C\uFF08\u65B0\u3057\u3044\u9806\uFF09:":" \u76F4\u8FD1\u306E\u5B9F\u884C: \u671F\u9593\u5185\u306B\u306A\u3057");lines.push(...r.recent.map(runLine))}return lines.join("\n")}function outcomeStreakWarnings(reports){return reports.filter(r=>r.summary?.alerting===true).map(r=>{const s=r.summary;const last=s.streakReasons[0];return`${sanitizeForPrompt(
|
|
21
|
-
r.skill)} \u304C ${s.failureStreak}${s.streakIsLowerBound?"\u56DE\u4EE5\u4E0A":"\u56DE"}\u9023\u7D9A\u3067\u5931\u6557\u3057\u3066\u3044\u307E\u3059\uFF08\u5168\u6A5F\u4F53\u901A\u7B97\u30FB\u30B5\u30FC\u30D0\u96C6\u8A08\uFF09${last?.outcomeDetail?`\u3002\u76F4\u8FD1: ${sanitizeForPrompt(last.outcomeDetail)}`:""}\u3002\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u30D6\u30ED\u30C3\u30AB\u30FC\u89E3\u6D88\u3092\u6700\u512A\u5148\u3059\u308B\u3053\u3068`})}
|
|
22
|
-
var URL_USERINFO=/(\b[a-z][a-z0-9+.-]*:\/\/)[^\s/@:"'`]+:[^\s/@"'`]+@/gi;function redactLoopOutput(text){if(text==="")return text;let out=redactSecrets(text).replace(URL_USERINFO,`$1${REDACTED}@`).replace(ENV_SECRET_ASSIGNMENT,(match,name)=>{const value=match.slice(name.length);const quote=/^\\?["']/.exec(value)?.[0]??"";return`${name}${quote}${REDACTED}${quote}`});for(const pattern of KNOWN_TOKEN_PATTERNS)out=out.replace(pattern,REDACTED);return out}import{spawnSync}from"child_process";import fs2 from"fs";import path2 from"path";var GIT_IDENTITY_ENV_KEYS=["GIT_AUTHOR_NAME","GIT_AUTHOR_EMAIL","GIT_COMMITTER_NAME","GIT_COMMITTER_EMAIL"];function resolveDeps(deps){return{run:deps.run??spawnSync,readdirSync:deps.readdirSync??(dir=>fs2.readdirSync(dir,{withFileTypes:true})),existsSync:deps.existsSync??fs2.existsSync,env:deps.env??process.env}}function expectedIdentity(configured,env=process.env){const pick2=(envKey,fromConfig)=>{const fromEnv=(env[envKey]??"").trim();if(fromEnv!=="")return fromEnv;return(fromConfig??"").trim()};
|
|
22
|
+
r.skill)} \u304C ${s.failureStreak}${s.streakIsLowerBound?"\u56DE\u4EE5\u4E0A":"\u56DE"}\u9023\u7D9A\u3067\u5931\u6557\u3057\u3066\u3044\u307E\u3059\uFF08\u5168\u6A5F\u4F53\u901A\u7B97\u30FB\u30B5\u30FC\u30D0\u96C6\u8A08\uFF09${last?.outcomeDetail?`\u3002\u76F4\u8FD1: ${sanitizeForPrompt(last.outcomeDetail)}`:""}\u3002\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u30D6\u30ED\u30C3\u30AB\u30FC\u89E3\u6D88\u3092\u6700\u512A\u5148\u3059\u308B\u3053\u3068`})}import{spawnSync}from"child_process";import fs2 from"fs";import path2 from"path";var GIT_IDENTITY_ENV_KEYS=["GIT_AUTHOR_NAME","GIT_AUTHOR_EMAIL","GIT_COMMITTER_NAME","GIT_COMMITTER_EMAIL"];function resolveDeps(deps){return{run:deps.run??spawnSync,readdirSync:deps.readdirSync??(dir=>fs2.readdirSync(dir,{withFileTypes:true})),existsSync:deps.existsSync??fs2.existsSync,env:deps.env??process.env}}function expectedIdentity(configured,env=process.env){const pick2=(envKey,fromConfig)=>{const fromEnv=(env[envKey]??"").trim();if(fromEnv!=="")return fromEnv;return(fromConfig??"").trim()};
|
|
23
23
|
const name=pick2("TWP_GIT_IDENTITY_NAME",configured?.name);const email=pick2("TWP_GIT_IDENTITY_EMAIL",configured?.email);if(name===""||email==="")return null;return{name,email}}var GIT_IDENTITY_UNSET_LOG=' git identity \u306E\u671F\u5F85\u5024\u304C\u672A\u8A2D\u5B9A\u306E\u305F\u3081\u63C3\u3048\u307E\u305B\u3093\u3067\u3057\u305F\uFF08~/.twp/loops/<project>.json \u306E "git_identity": {"name","email"}\u3001\u307E\u305F\u306F TWP_GIT_IDENTITY_NAME / TWP_GIT_IDENTITY_EMAIL\uFF09\u3002GitHub \u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u7D10\u3065\u304B\u306A\u3044 author \u306E commit \u306F Vercel Preview \u304C BLOCKED \u306B\u306A\u308A\u307E\u3059';
|
|
24
24
|
var SKIP_DIRS=new Set(["node_modules","vendor","dist","build","target"]);function isScannable(name){return!name.startsWith(".")&&!SKIP_DIRS.has(name)}function workspaceRepos(workspace,deps={}){const d=resolveDeps(deps);if(!d.existsSync(path2.join(workspace,".git")))return[];const repos=[workspace];for(const child of childDirs(workspace,d)){if(d.existsSync(path2.join(child,".git"))){repos.push(child);continue}for(const grandchild of childDirs(child,d)){if(d.existsSync(path2.join(grandchild,".git")))
|
|
25
25
|
repos.push(grandchild)}}return repos}function childDirs(dir,d){let entries;try{entries=d.readdirSync(dir)}catch{return[]}return[...entries].filter(e=>e.isDirectory()&&isScannable(e.name)).sort((a,b)=>a.name.localeCompare(b.name)).map(e=>path2.join(dir,e.name))}function git(args,d){const options={encoding:"utf8",timeout:1e4};return spawnSyncResolved("git",args,options,{},d.run)}function gitConfigGet(repo,key,d,local){const scope=local?["--local"]:[];const r=git(["-C",repo,"config",...scope,"--get",
|
|
@@ -101,9 +101,9 @@ continue}const{run_id:runId,...rest}=redactStashedPayload(payload);const res=awa
|
|
|
101
101
|
\u884C\u3057\u307E\u3059`)}}return recorded}};var PLAN_SUPPRESS_REASONS={"step \u306E\u5F62\u304C\u4E0D\u6B63":"invalid_step","\u30BF\u30B9\u30AF\u30AD\u30FC\u304C\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0":"placeholder_key","release-deploy \u306E\u7A7A\u632F\u308A\u9632\u6B62":"release_deploy_guard","\u5BFE\u8C610\u4EF6":"zero_target","\u4ED6\u30E9\u30F3\u30CA\u30FC\u304C\u51E6\u7406\u4E2D":"inflight","\u65E2\u306B\u30AD\u30E5\u30FC\u5F85\u3061":"already_pending","\u540C\u4E00\u8A08\u753B\u5185\u306E\u91CD\u8907\u30AD\u30FC":"duplicate_in_\
|
|
102
102
|
plan","\u4EBA\u306B\u30DC\u30FC\u30EB\u304C\u3042\u308B":"human_ball","\u524D\u56DE\u304C\u72B6\u614B\u3092\u9032\u3081\u305F":"recently_advanced","\u6642\u9593\u5E2F\u30B2\u30FC\u30C8":"schedule_gate","\u8A08\u753B\u30ED\u30C3\u30AF\u55AA\u5931\u3067\u672A\u51E6\u7406":"lock_lost","\u5916\u90E8\u6295\u7A3F\u30B9\u30AD\u30EB\u306E\u540C\u6642\u5B9F\u884C":"exclusive_skill"};var ENQUEUE_ERROR_PREFIX="\u6295\u5165\u30A8\u30E9\u30FC: ";var MAX_STEPS=100;var MAX_SCHEDULED=100;var MAX_CONTRACT_LINES=20;
|
|
103
103
|
var MAX_CONTRACT_LINE_CHARS=1e3;var MAX_LABEL_CHARS=300;var MAX_DETAIL_CHARS=500;var MAX_TASK_KEY_CHARS=64;function clip(value,max){const s=(value??"").trim();return s===""?null:s.slice(0,max)}function dropToStep(drop){const base={task_key:clip(drop.task_key,MAX_TASK_KEY_CHARS),label:clip(drop.skill,MAX_LABEL_CHARS),item_id:null};if(drop.reason.startsWith(ENQUEUE_ERROR_PREFIX)){return{...base,outcome:"error",reason:"enqueue_error",detail:clip(redactLoopOutput(drop.reason.slice(ENQUEUE_ERROR_PREFIX.
|
|
104
|
-
length)),MAX_DETAIL_CHARS)}}const code=PLAN_SUPPRESS_REASONS[drop.reason];return{...base,outcome:"suppressed",reason:code??"other",detail:code===void 0?clip(drop.reason,MAX_DETAIL_CHARS):null}}function extractContractLines(output){const lines=[...output.matchAll(/^.*\b[A-Z][A-Z0-9_]*_RESULT:.*$/gm)].map(m=>m[0].trim().slice(0,MAX_CONTRACT_LINE_CHARS)).filter(l=>l!=="");return lines.slice(-MAX_CONTRACT_LINES)}function standaloneRecord(result,scheduled){return{result,ai_type:null,
|
|
105
|
-
tokens_in:null,tokens_out:null,turns:null,duration_ms:null,final_report:null,contract_lines:[],steps:[],scheduled:scheduled.slice(0,MAX_SCHEDULED)}}function planRecord(input){const{engine,summary}=input;const metrics=engine?.metrics;const steps=[...input.enqueuedSteps.map(s=>({outcome:"enqueued",task_key:clip(s.task_key,MAX_TASK_KEY_CHARS),label:clip(s.label,MAX_LABEL_CHARS),item_id:s.item_id,reason:null,detail:null})),...(summary?.dropped??[]).map(dropToStep)];const output=redactLoopOutput(
|
|
106
|
-
output??"");return{result:input.result,ai_type:engine?.serverAiType??null,ai_model:null,cost_usd:metrics?.costUsd??null,tokens_in:metrics?.tokensIn??null,tokens_out:metrics?.tokensOut??null,turns:metrics?.turns??null,duration_ms:input.durationMs===null?null:Math.max(0,Math.trunc(input.durationMs)),final_report:output.trim()===""?null:truncateResult(output),contract_lines:extractContractLines(output),steps:steps.slice(0,MAX_STEPS),scheduled:input.scheduled.slice(0,MAX_SCHEDULED)}}var USER_ID_RE=/^[A-Za-z0-9._-]{1,64}$/;var ProjectApi=class{constructor(apiUrl,session,fetchImpl=httpFetch){this.apiUrl=apiUrl;this.session=session;this.fetchImpl=fetchImpl}apiUrl;session;fetchImpl;async resolve(ref){if(isPrivateProjectRef(ref))return this.resolvePrivate();return resolveProjectRef(ref,path8=>this.get(path8),loopProjectIdPolicy)}async resolvePrivate(){const res=await this.get("/api/v2/user");if(!res.ok){throw new Error(`\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.
|
|
104
|
+
length)),MAX_DETAIL_CHARS)}}const code=PLAN_SUPPRESS_REASONS[drop.reason];return{...base,outcome:"suppressed",reason:code??"other",detail:code===void 0?clip(redactLoopOutput(drop.reason),MAX_DETAIL_CHARS):null}}function extractContractLines(output){const lines=[...output.matchAll(/^.*\b[A-Z][A-Z0-9_]*_RESULT:.*$/gm)].map(m=>m[0].trim().slice(0,MAX_CONTRACT_LINE_CHARS)).filter(l=>l!=="");return lines.slice(-MAX_CONTRACT_LINES)}function standaloneRecord(result,scheduled){return{result,ai_type:null,
|
|
105
|
+
ai_model:null,cost_usd:null,tokens_in:null,tokens_out:null,turns:null,duration_ms:null,final_report:null,contract_lines:[],steps:[],scheduled:scheduled.slice(0,MAX_SCHEDULED)}}function planRecord(input){const{engine,summary}=input;const metrics=engine?.metrics;const steps=[...input.enqueuedSteps.map(s=>({outcome:"enqueued",task_key:clip(s.task_key,MAX_TASK_KEY_CHARS),label:clip(s.label,MAX_LABEL_CHARS),item_id:s.item_id,reason:null,detail:null})),...(summary?.dropped??[]).map(dropToStep)];const output=redactLoopOutput(
|
|
106
|
+
engine?.output??"");return{result:input.result,ai_type:engine?.serverAiType??null,ai_model:null,cost_usd:metrics?.costUsd??null,tokens_in:metrics?.tokensIn??null,tokens_out:metrics?.tokensOut??null,turns:metrics?.turns??null,duration_ms:input.durationMs===null?null:Math.max(0,Math.trunc(input.durationMs)),final_report:output.trim()===""?null:truncateResult(output),contract_lines:extractContractLines(output),steps:steps.slice(0,MAX_STEPS),scheduled:input.scheduled.slice(0,MAX_SCHEDULED)}}var USER_ID_RE=/^[A-Za-z0-9._-]{1,64}$/;var ProjectApi=class{constructor(apiUrl,session,fetchImpl=httpFetch){this.apiUrl=apiUrl;this.session=session;this.fetchImpl=fetchImpl}apiUrl;session;fetchImpl;async resolve(ref){if(isPrivateProjectRef(ref))return this.resolvePrivate();return resolveProjectRef(ref,path8=>this.get(path8),loopProjectIdPolicy)}async resolvePrivate(){const res=await this.get("/api/v2/user");if(!res.ok){throw new Error(`\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.
|
|
107
107
|
status}\uFF09\u3002\u500B\u4EBA\u30AD\u30E5\u30FC\u3092\u56DE\u3059\u306B\u306F \`twp login\` \u304C\u5FC5\u8981\u3067\u3059\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const userId=res.json?.user?.id;if(typeof userId!=="string"||!USER_ID_RE.test(userId)){throw new Error(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FCID\u3092\u500B\u4EBA\u30AD\u30E5\u30FC\u306EID\u306B\u4F7F\u3048\u307E\u305B\u3093\uFF08${String(
|
|
108
108
|
userId).slice(0,60)}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return{id:privateProjectId(userId),code:PRIVATE_PROJECT_REF,name:"\u500B\u4EBA\u30BF\u30B9\u30AF"}}async countByStatus(projectId,statusId){const res=await this.get(`/api/v2/projects/${projectId}/tasks?status_id=${encodeURIComponent(statusId)}&limit=1`);if(!res.ok){return{total:null,error:res.status===null?res.error??"\u901A\u4FE1\u5931\u6557":`HTTP ${res.status}`}}const total=res.json?.
|
|
109
109
|
pagination?.total;if(typeof total!=="number"){return{total:null,error:"\u5FDC\u7B54\u304B\u3089 pagination.total \u3092\u8AAD\u3081\u306A\u3044"}}return{total,error:null}}async get(path8){let token;try{token=await this.session.getAccessToken()}catch(err){return{ok:false,status:null,json:null,error:err.message}}try{const res=await this.fetchImpl(`${this.apiUrl}${path8}`,{headers:{Authorization:`Bearer ${token}`,"Content-Type":"application/json",Accept:"application/json"}});const raw=await res.text();
|
|
@@ -290,10 +290,10 @@ const startedAtMs=now();let warned="";let done=false;const check=()=>{if(done)re
|
|
|
290
290
|
decision.key)return;warned=decision.key;handlers.onWarn(decision.reason);return}done=true;const recorded=writeRestartAttempt(opts.stateDir,opts.projectKey,{from:decision.from,to:decision.to,at:new Date(now()).toISOString()},opts.store);if(!recorded){handlers.onWarn(`\u518D\u8D77\u52D5\u8A18\u9332\u3092\u66F8\u3051\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${restartAttemptPath(opts.stateDir,opts.projectKey)}\uFF09\u3002\u540C\u3058\u7248\u30C9\u30EA\u30D5\u30C8\u304C\u89E3\u6D88\u3057\u306A\u3044\u5834\u5408\u3001\u518D\u8D77\u52D5\u3092\u7E70\u308A\u8FD4\u3059\u9632\u6CE2\u5824\u304C\u52B9\u304D\u307E\u305B\u3093`)}
|
|
291
291
|
handlers.onRestart({from:decision.from,to:decision.to})};const timer=setInterval(check,opts.intervalMs??DRIFT_POLL_MS);timer.unref?.();return{stop:()=>{done=true;clearInterval(timer)},check}}import fs8 from"fs";import path6 from"path";var POLL_MS=1e3;var MAX_STOP_BYTES=4096;var MAX_AT_LENGTH=64;function markerPath(lockDir2,kind){return path6.join(lockDir2,kind)}function requestMarker(lockDir2,kind,pid,deps={}){const target=markerPath(lockDir2,kind);const write=deps.writeFileSync??((p,d)=>fs8.writeFileSync(p,d,{flag:"wx",mode:384}));const now=deps.now??(()=>new Date);clearMarker(lockDir2,kind,deps);try{write(target,`${JSON.stringify({pid,at:now().toISOString()})}
|
|
292
292
|
`);return{ok:true}}catch(err){const e=err;return{ok:false,reason:e.code??"UNKNOWN"}}}function readMarker(lockDir2,kind,deps={}){const target=markerPath(lockDir2,kind);const read=deps.readFileSync??(p=>fs8.readFileSync(p,"utf8"));const size=deps.statSize??(p=>fs8.statSync(p).size);let raw;try{if(size(target)>MAX_STOP_BYTES)return null;raw=read(target)}catch{return null}if(raw.length>MAX_STOP_BYTES)return null;try{const parsed=JSON.parse(raw);if(typeof parsed!=="object"||parsed===null)return null;const pid=parsed.pid;const at=parsed.at;if(typeof pid!=="number"||!Number.isInteger(pid)||
|
|
293
|
-
pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs8.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-
|
|
293
|
+
pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs8.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-NFFEUL6K.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-NFFEUL6K.js");const extraHosts=config.
|
|
294
294
|
operations.preflightHosts;return new DispatchEngine(config.ai,log,{workspace:config.workspace,charterFile:config.charterFile??void 0,charterEnabled:config.charterEnabled,...config.charterPrefix===null?{}:{charterPrefix:config.charterPrefix},...config.charterSuffix===null?{}:{charterSuffix:config.charterSuffix},serverPrompts:()=>config.serverPrompts??{},compileCommand:config.compileCommand??void 0,skillOverlayDir:path7.join(config.stateDir,"skill-overlay",projectFileKey(config.projectId)),launcherBin:config.
|
|
295
295
|
claudeLauncher.bin,...extraHosts.length>0?{preflightHosts:[...DEFAULT_PREFLIGHT_HOSTS,...extraHosts]}:{}})}function lockDir(config){return path7.join(config.stateDir,`task-loop-${projectFileKey(config.projectId)}.lock.d`)}function runnerIdPersisted(stateDir,env=process.env){if((env.RUNNER_ID?.trim()??"")!=="")return true;const file=env.RUNNER_ID_FILE&&env.RUNNER_ID_FILE.trim()!==""?env.RUNNER_ID_FILE:path7.join(stateDir,"runner-id");return fs9.existsSync(file)}async function runTaskLoop(opts){if(opts.
|
|
296
|
-
action==="stop")return await stopLoop(opts);if(opts.action==="plan"){if(opts.planOp!=="submit"){process.stderr.write("plan \u306B\u306F submit \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}const{runPlanSubmit}=await import("./plan-submit-
|
|
296
|
+
action==="stop")return await stopLoop(opts);if(opts.action==="plan"){if(opts.planOp!=="submit"){process.stderr.write("plan \u306B\u306F submit \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}const{runPlanSubmit}=await import("./plan-submit-2FSRRNIV.js");return runPlanSubmit({file:opts.charterInput,empty:opts.planEmpty===true,check:opts.planCheck===true},{env:process.env,readStdin:()=>fs9.readFileSync(0,"utf8"),stdout:s=>process.stdout.write(s),stderr:s=>process.stderr.write(s)})}
|
|
297
297
|
const profile=resolveProfile(opts.profile);let creds;try{creds=new AuthSession(profile.name,profile.apiUrl).loadOrThrow()}catch(err){process.stderr.write(`${err.message}
|
|
298
298
|
`);return 1}const apiUrl=effectiveApiUrl(profile,creds.api_url);const session=new AuthSession(profile.name,apiUrl);const projectRef=opts.project??process.env.TWP_PROJECT??"";if(projectRef===""){process.stderr.write("--project <\u30AD\u30FC|UUID> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08TWP_PROJECT \u3067\u3082\u53EF\uFF09\n");return 2}const projectApi=new ProjectApi(apiUrl,session);let project;try{project=await projectApi.resolve(projectRef)}catch(err){process.stderr.write(`${err.
|
|
299
299
|
message}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{customerDocumentSubresources}from"./chunk-
|
|
4
|
-
import"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-
|
|
3
|
+
import{customerDocumentSubresources}from"./chunk-IMXXECCD.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-3GYJG6DA.js";import"./chunk-5KJ5OIKI.js";import"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-ICGIHXBA.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-NNDUIAGN.js";
|
|
4
|
+
import"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-7APLKLQL.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";
|
|
5
5
|
import"./chunk-H4CDX4TX.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-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
6
6
|
var DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u524A\u9664\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var REF_HELP="<\u53D6\u5F15\u5148> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B\
|
|
7
7
|
ID\uFF08twp company list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002";function companyPath(input){const id=requireResolved(input,"companyId");if(!isExactNumericId(id))throw new UsageError(`\u53D6\u5F15\u5148 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}`);return`${SALES_COMPANIES_PATH}/${id}`}async function resolveCompany(input,ctx,usage){
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{contractAiReviewResources}from"./chunk-
|
|
4
|
-
import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-
|
|
3
|
+
import{contractAiReviewResources}from"./chunk-QO2QPN3M.js";import"./chunk-CZUXTKMR.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-ICGIHXBA.js";import{isoDate}from"./chunk-JJSBBWJ5.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{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";
|
|
4
|
+
import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.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";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";
|
|
5
5
|
import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_CONTRACTS_PATH;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));var DISAMBIGUATION="\u53D6\u5F15\u5951\u7D04\u306F\u898B\u7A4D\u304B\u3089\u4F5C\u308B\u8CA9\u58F2\u7BA1\u7406\u306E\u66F8\u985E\u3067\u3059\uFF08\u660E\u7D30\u30FB\u91D1\u984D\u3092\u6301\u3061\u3001\u627F\u8A8D\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4E57\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u306B\u7D10\u3065\u3051\u3066\u4FDD\u7BA1\u3059\u308B\u5951\u7D04\u66F8\u306E PDF \u306F\u5225\u7269\u3067\u3001twp customer contract \u3067\u6271\u3044\u307E\u3059\u3002\n\n";
|
|
6
6
|
var CONTRACT_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",contracted:"\u5951\u7D04\u7DE0\u7D50\u6E08",deleted:"\u524A\u9664\u6E08"};var RENEWAL_TYPES={auto_renewal:"\u81EA\u52D5\u66F4\u65B0",application_renewal:"\u7533\u8FBC\u306B\u3088\u308B\u66F4\u65B0"};function statusName(code){return CONTRACT_STATUSES[code]??code}function tableHelp(table){
|
|
7
7
|
return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}var STORE_KEYS=["estimate_id","contract_no","title","status","contract_date","start_date","end_date","renewal_type","cancellation_notice_days","next_renewal_date","memo","manage_form_data","contract_document_file_ids","details","recipients"];var CREATE_ONLY_KEYS=["estimate_id"];var UPDATE_KEYS=STORE_KEYS.filter(key=>!CREATE_ONLY_KEYS.includes(key));var DETAIL_KEYS=["item_name","description","quantity","unit",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-
|
|
3
|
+
import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-NNDUIAGN.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{DEPARTMENTS_PATH}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";
|
|
4
4
|
import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u90E8\u7F72";var LIST_COLUMNS=["id","code","name","parent_id","level","effective_status","valid_from","valid_to","member_count"];var GET_COLUMNS=["id","code","name","name_short","parent_id","level","sort","effective_status","valid_from","valid_to","description"];var TREE_COLUMNS=["depth","name","code","id","effective_status","valid_to"];var MEMBER_COLUMNS=["id","user_id","position_id","job_title_id","start_date","end_date","is_primary","is_current","effective_status"];var REF_FLAG={name:"\
|
|
5
5
|
--department",summary:"\u5BFE\u8C61\u306E\u90E8\u7F72\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"};var REF_HELP="<\u90E8\u7F72> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u90E8\u7F72\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
|
|
6
6
|
var FIELDS=masterFields(LABEL,[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"ref",flag:"--parent",key:"parent_id",summary:"\u89AA\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-parent",clearSummary:"\u89AA\u90E8\u7F72\u3092\u5916\u3057\u3066\u6700\u4E0A\u4F4D\u306B\u3059\u308B",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"integer",flag:"--sor\
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-
|
|
3
|
+
import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-7FJFBIVB.js";import"./chunk-QLENN5DD.js";import"./chunk-ICGIHXBA.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
|
|
4
4
|
import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{composeDocument,metaLine}from"./chunk-C7MO3RHJ.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{DOMAIN_KNOWLEDGES_PATH,DOMAIN_KNOWLEDGE_SLUG_RE}from"./chunk-
|
|
3
|
+
import{composeDocument,metaLine}from"./chunk-C7MO3RHJ.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{DOMAIN_KNOWLEDGES_PATH,DOMAIN_KNOWLEDGE_SLUG_RE}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
|
|
4
4
|
import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var KB_LABEL="\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9";var DOC_LABEL="\u8A18\u4E8B";var ACCESS_LEVELS=["tenant","authenticated","public"];var KB_STATUSES=["draft","active","archived"];var KB_NAME_MAX_CHARS=255;var KB_DESCRIPTION_MAX_CHARS=2e3;var DOC_TITLE_MAX_CHARS=255;var DOC_SUMMARY_MAX_CHARS=2e3;var DOC_TAGS_MAX=30;var DOC_TAG_MAX_CHARS=64;var PATH_SEGMENT_RE=/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/;var PATH_MAX_BYTES=512;var DOC_BODY_MAX_BYTES=300*1024;var DOC_DEPTH_MAX=20;var KB_LIST_COLUMNS=[
|
|
5
5
|
"id","slug","name","status","access_level","updated_at"];var KB_GET_COLUMNS=["id","slug","name","status","access_level","description","revision","updated_at","updated_by"];var DOC_LIST_COLUMNS=["path","title","depth","size_bytes","updated_at"];var DOC_GET_COLUMNS=["path","title","summary","tags","size_bytes","updated_at","updated_by"];var KB_ARG="<KB>";var KB_ARG_HELP="<KB> \u306F\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u306E ID \u304B slug \u3067\u3059\uFF08twp knowledge list \u306E id / slug \u5217\uFF09\u3002";
|
|
6
6
|
function positional(input,names,usage){const values=input.args.map(arg=>arg.trim());if(values.length<names.length){throw new UsageError(`${names[values.length]}\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage)}if(values.length>names.length){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u304C\u591A\u3059\u304E\u307E\u3059: ${input.args.slice(names.length).join(" ")}`,usage)}return values}function oneOf(input,flag,allowed){const raw=nonEmpty(input.flags,flag);if(raw===void 0)return void 0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{estimateCaseDocumentResource}from"./chunk-
|
|
4
|
-
import{estimatePdfOperation}from"./chunk-
|
|
5
|
-
SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-
|
|
3
|
+
import{estimateCaseDocumentResource}from"./chunk-NFTLHE4Z.js";import{estimateNoRuleResource}from"./chunk-BATCC7M5.js";import{salesAdminForbidden}from"./chunk-7FJFBIVB.js";import"./chunk-IMXXECCD.js";import"./chunk-3GYJG6DA.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-5KJ5OIKI.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{estimateAiReviewResources}from"./chunk-QO2QPN3M.js";
|
|
4
|
+
import{estimatePdfOperation}from"./chunk-CZUXTKMR.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-ICGIHXBA.js";import"./chunk-NNDUIAGN.js";import"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{SALES_ESTIMATES_PATH,
|
|
5
|
+
SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-7APLKLQL.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.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";
|
|
6
6
|
import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
|
|
7
7
|
id","description","estimate_manage_content","contract_manage_content","invoice_manage_content","sort_order"];var FIELD_NOTES=[["format_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["default_unit","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u660E\u7D30\u306E\u65E2\u5B9A\u306E\u5358\u4F4D\uFF08set / item / unit / hour / day / month / person / person_month / person_day\uFF09"],["default_tax_rate",'\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u65E2\u5B9A\u306E\u7A0E\u7387\uFF08"10" / "8" / \
|
|
8
8
|
"0"\uFF09'],["default_estimate_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp estimate no-rule list \u306E id\uFF09"],["default_invoice_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp invoice no-rule list \u306E id\uFF09"],["start_date / end_date","\u6709\u52B9\u671F\u9593\uFF08YYYY-MM-DD\u3002\u7D42\u4E86\u306F\u958B\u59CB\u4EE5\u964D\u3002null \u3067\u671F\u9650\u306A\u3057\uFF09"],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-
|
|
3
|
+
import{PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-7APLKLQL.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";
|
|
4
4
|
import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var ORG="/api/v2/organization";var PERIODS_PATH=`${ORG}/evaluation-periods`;var EVALUATIONS_PATH=`${ORG}/evaluations`;var GOAL_SHEETS_PATH=`${ORG}/goal-sheets`;var 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\
|
|
5
5
|
>"};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\u3002";
|
|
6
6
|
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";
|
|
@@ -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-ICGIHXBA.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
|
|
4
4
|
import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-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-\
|