@tocca-systems/twp-cli 0.72.0 → 0.74.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 +22 -0
- package/README.md +53 -9
- package/dist/{agent-C37HJDJY.js → agent-6E62JWPN.js} +2 -2
- package/dist/{agent-loop-XFYCEK5S.js → agent-loop-UTS4MYW6.js} +2 -2
- package/dist/{ai-dispatch-GONY4JAY.js → ai-dispatch-OAT752RN.js} +1 -1
- package/dist/{analysis-THRX37XW.js → analysis-MVKADQHU.js} +2 -2
- package/dist/{announcement-4R7XFO5W.js → announcement-BFQAI6UE.js} +2 -2
- package/dist/{api-command-YMEYR2LG.js → api-command-46GLOIHL.js} +3 -3
- package/dist/{app-37IMKCQZ.js → app-SQZCZANA.js} +4 -4
- package/dist/{attendance-correct-Z5BGCSCL.js → attendance-correct-72KQR4UG.js} +2 -2
- package/dist/{attendance-lists-357A3O5Y.js → attendance-lists-6RP7UGA5.js} +1 -1
- package/dist/{backlog-KF63TCEG.js → backlog-22NXQQDL.js} +1 -1
- package/dist/budget-LJY3YFVB.js +4 -0
- package/dist/business-hours-I4X6YQS3.js +18 -0
- package/dist/{chunk-DAXVAUV4.js → chunk-2YVJ3QVJ.js} +1 -1
- package/dist/{chunk-DFHOCPA5.js → chunk-3QQF4MOB.js} +2 -2
- package/dist/{chunk-AGI5KT4C.js → chunk-3WFZOOXZ.js} +1 -1
- package/dist/{chunk-VEA72AKG.js → chunk-46Q7TUND.js} +1 -1
- package/dist/{chunk-MVZFZAT4.js → chunk-4B6GJBYP.js} +47 -44
- package/dist/{chunk-I4TR55UF.js → chunk-5KJ5OIKI.js} +1 -1
- package/dist/{chunk-K4JE26L6.js → chunk-5P22UEUF.js} +1 -1
- package/dist/{chunk-Z6T5M3NJ.js → chunk-5SPWQAUX.js} +2 -2
- package/dist/{chunk-ARB4QFWO.js → chunk-7SYIYLHX.js} +1 -1
- package/dist/{chunk-UXEYWMPO.js → chunk-BKE3BFIQ.js} +2 -2
- package/dist/{chunk-HPPIVCK3.js → chunk-C7MO3RHJ.js} +7 -4
- package/dist/{chunk-A3FJEUDB.js → chunk-D37WSWBT.js} +1 -1
- package/dist/chunk-DMXMQGGZ.js +11 -0
- package/dist/{chunk-VIWQMDGG.js → chunk-DYNNGNXR.js} +1 -1
- package/dist/{chunk-MP6YIILX.js → chunk-FHOJFKR3.js} +12 -11
- package/dist/{chunk-CCHPF23L.js → chunk-GAXJPIKO.js} +1 -1
- package/dist/{chunk-7PDUN5MS.js → chunk-GTRKN2YS.js} +1 -1
- package/dist/{chunk-WYYHMKF7.js → chunk-HOLKWMS2.js} +1 -1
- package/dist/{chunk-NBOA4T7F.js → chunk-J2NRDFCR.js} +1 -1
- package/dist/{chunk-UGDB4QTS.js → chunk-J3KV6LAX.js} +1 -1
- package/dist/{budget-W7JXDJ4J.js → chunk-JIOZ47AX.js} +2 -3
- package/dist/{chunk-UFGJSWKU.js → chunk-LDBYJPRD.js} +1 -1
- package/dist/{chunk-BBOWZVCC.js → chunk-MNJYY3PR.js} +1 -1
- package/dist/{chunk-QVID3GT4.js → chunk-MSVJ53VZ.js} +1 -1
- package/dist/{chunk-45OL54MY.js → chunk-OO7GDI2D.js} +1 -1
- package/dist/{chunk-YXVN6OCH.js → chunk-PO35MCYP.js} +1 -1
- package/dist/{chunk-T3C2BAVA.js → chunk-QQCWGMZN.js} +1 -1
- package/dist/{chunk-2CIQOXPK.js → chunk-R5UIH2SI.js} +1 -1
- package/dist/chunk-RCRFLVJ6.js +117 -0
- package/dist/{chunk-XF4DN44V.js → chunk-SCHQHPI2.js} +2 -2
- package/dist/chunk-W4E4F2ZA.js +4 -0
- package/dist/{chunk-IVKWLJCY.js → chunk-YA7W7OV4.js} +1 -1
- package/dist/cli.js +44 -8
- package/dist/{commands-GMUQCBFQ.js → commands-U52UBWSU.js} +2 -2
- package/dist/{commands-MYGPEYBE.js → commands-ZCXAJXHW.js} +40 -38
- package/dist/{company-W2OBOOKJ.js → company-UYDQAJ5O.js} +3 -3
- package/dist/{completion-EMY4WDII.js → completion-YBKZ3GXD.js} +1 -1
- package/dist/{contract-LTQVLI7A.js → contract-PJRMXIXY.js} +2 -2
- package/dist/{department-GZBKUFON.js → department-JFHUX32Y.js} +1 -1
- package/dist/{deposit-HCMV2MBU.js → deposit-YSCEG5QY.js} +2 -2
- package/dist/{domain-knowledge-32TTPFVY.js → domain-knowledge-HJHKFS3S.js} +1 -1
- package/dist/{estimate-ILUXZJG3.js → estimate-ZY3NFOY2.js} +3 -3
- package/dist/{evaluation-PE7QHATW.js → evaluation-MQ7USYDU.js} +1 -1
- package/dist/{expense-K2JPBP2M.js → expense-2EDPVAQL.js} +2 -2
- package/dist/{fiscal-year-XY4KA67D.js → fiscal-year-5S74MAHA.js} +1 -1
- package/dist/holiday-PFBME3RI.js +48 -0
- package/dist/{inquiry-FEQWFU7Z.js → inquiry-LVJE53LY.js} +1 -1
- package/dist/{invoice-WOQZUL66.js → invoice-JJ46ZXMJ.js} +2 -2
- package/dist/{job-title-CDAMB4Q2.js → job-title-PFLVTRNO.js} +1 -1
- package/dist/{knowledge-VM6P4XDQ.js → knowledge-43B64GGG.js} +99 -35
- package/dist/{leave-TEXQJURZ.js → leave-6L3CTABK.js} +2 -2
- package/dist/{license-ZSZM5OSK.js → license-HHAOMEWC.js} +2 -2
- package/dist/{logout-guard-3B767ADS.js → logout-guard-IWHF33DM.js} +1 -1
- package/dist/{media-TAS7FF5K.js → media-YEWKZ2QS.js} +3 -3
- package/dist/{notification-T46TUUMO.js → notification-LNRNOLVW.js} +1 -1
- package/dist/{oneshot-XRN744YK.js → oneshot-7H3SFK7Q.js} +1 -1
- package/dist/{outlook-KYTXHDAV.js → outlook-YG7GFF44.js} +1 -1
- package/dist/{plan-submit-YBTGYQD7.js → plan-submit-CZRVVZZB.js} +1 -1
- package/dist/{position-BKZQH6A3.js → position-YFC6XZQL.js} +1 -1
- package/dist/{project-KL4DH2XE.js → project-3RTD63II.js} +2 -2
- package/dist/{prospect-BEB5AXPM.js → prospect-5EXTP5D2.js} +2 -2
- package/dist/{purchase-P37K6MVO.js → purchase-KJ3XVCXG.js} +3 -3
- package/dist/{receivable-5N3KL3L4.js → receivable-LF3DYPOO.js} +2 -2
- package/dist/{redmine-K7A7AEUA.js → redmine-6FJPODIM.js} +1 -1
- package/dist/{registry-GGKX3MCP.js → registry-5IKYCMRP.js} +1 -1
- package/dist/{render-YD4B7OH5.js → render-4SBLHU4J.js} +1 -1
- package/dist/{report-PZ4GMMK2.js → report-TDPP7SF7.js} +1 -1
- package/dist/{run-65IJLMKQ.js → run-EQQOJ76O.js} +2 -2
- package/dist/{sales-ai-review-NBNSHUUP.js → sales-ai-review-WIVJOOFW.js} +2 -2
- package/dist/{sales-master-23PVQUTQ.js → sales-master-SJSFHAT6.js} +2 -2
- package/dist/{sales-numbering-FQ7YPQME.js → sales-numbering-EWYVI3RF.js} +2 -2
- package/dist/{search-NYY22NHK.js → search-FCXHO5NB.js} +1 -1
- package/dist/{segment-2C3MYZCV.js → segment-3Q64YOMR.js} +1 -1
- package/dist/{server-settings-ELHHMBBK.js → server-settings-WH4F2SLC.js} +1 -1
- package/dist/{setup-74LO2SXN.js → setup-H22WRMPN.js} +1 -1
- package/dist/skill-MWYX74XM.js +4 -0
- package/dist/{skill-check-2ILLHGDQ.js → skill-check-YVIMYT2H.js} +1 -1
- package/dist/{skill-manage-command-HPJQOTQK.js → skill-manage-command-QYJLCLDK.js} +2 -2
- package/dist/{supplier-payment-G2BGSGLA.js → supplier-payment-H4E65YFZ.js} +2 -2
- package/dist/{support-E3PBMVG4.js → support-CCE7DP2O.js} +2 -2
- package/dist/{task-N6OVWNAT.js → task-OA6YUFL3.js} +42 -24
- package/dist/{teams-QRVCFJS4.js → teams-AUFHZRDH.js} +1 -1
- package/dist/{user-VODWJQZI.js → user-KQX327AS.js} +3 -3
- package/dist/{user-contract-type-7AVII6SV.js → user-contract-type-KS3HMLHY.js} +1 -1
- package/dist/{worker-agent-KRMY2RKK.js → worker-agent-BEH65D3X.js} +1 -1
- package/dist/{workflow-GWEN7NSQ.js → workflow-EBAADQLR.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-35MQ27I6.js +0 -4
- package/dist/chunk-5VZ54H2J.js +0 -11
- package/dist/chunk-6UPLPTBP.js +0 -58
- package/dist/skill-RKCTUJHW.js +0 -4
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-
|
|
4
|
-
import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-
|
|
5
|
-
import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import
|
|
3
|
+
import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-5KJ5OIKI.js";import"./chunk-V64CGX7V.js";import{RUNNER_PLATFORMS}from"./chunk-5KAWCLYN.js";import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows}from"./chunk-YA7W7OV4.js";import"./chunk-2YVJ3QVJ.js";
|
|
4
|
+
import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-FHOJFKR3.js";import{boundedText,decimal,integerInRange,isoDate,priority}from"./chunk-JJSBBWJ5.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{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-4B6GJBYP.js";
|
|
5
|
+
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";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";
|
|
6
6
|
import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_COLUMNS=["id","created_at","created_by_name","comment_type","content"];var QUESTION_COLUMN="question";var ANSWER_COLUMN="answer";function summarizeComments(items){const answersByQuestion=new Map;for(const row of items){const answer=isRecord(row)?row["answer_to"]:void 0;if(!isRecord(answer))continue;const target=answer["comment_id"];if(typeof target!=="string"||target==="")continue;answersByQuestion.set(target,selectedKeyText(answer["selected_key"]))}return items.map(row=>{const source=isRecord(
|
|
7
7
|
row)?row:{};const id=typeof source["id"]==="string"?source["id"]:"";const answer=isRecord(source["answer_to"])?selectedKeyText(source["answer_to"]["selected_key"]):answersByQuestion.get(id)??null;const base=pick(row,LIST_COLUMNS);return{id:base["id"],created_at:base["created_at"],created_by_name:base["created_by_name"],comment_type:base["comment_type"],[QUESTION_COLUMN]:questionText(source["question"]),[ANSWER_COLUMN]:answer,content:base["content"]}})}function questionText(question){if(!isRecord(
|
|
8
8
|
question))return null;const options=question["options"];if(!Array.isArray(options))return null;const parts=options.map(option=>{if(!isRecord(option))return null;const key=typeof option["key"]==="string"?option["key"]:null;if(key===null)return null;const label=typeof option["label"]==="string"?option["label"]:"";return label===""?key:`${key}=${label}`}).filter(part=>part!==null);return parts.length===0?null:parts.join(" / ")}function selectedKeyText(selected){if(typeof selected==="string"&&selected!==
|
|
@@ -110,37 +110,50 @@ input)}/${encodeURIComponent(requireResolved(input,"targetId"))}`}),summarize:bo
|
|
|
110
110
|
`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u4E00\u89A7\u306F twp task list --project ${PRIVATE_PROJECT_REF} \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}return{kind,value}}async function resolvePrivateTaskId(ctx,ref){const{kind,value}=privateTaskRef(ref);if(kind==="id")return value;const task=await ctx.resolver.privateTask(value);const id=task["id"];if(!isSafePathSegment(id)){throw new ApiResponseError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u5FDC\u7B54\u306E task.id \u3092\u305D\u306E\u307E\u307E\u4F7F\u3048\u307E\u305B\u3093\uFF08${String(
|
|
111
111
|
id).slice(0,60)}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}async function resolvePrivateStatusAndType(input,ctx,options){const out={};const status=nonEmpty(input.flags,"--status");if(status!==void 0){out["status_id"]=(await ctx.resolver.privateStatus(status)).id}else if(options.useDefaults){const ref=await ctx.resolver.privateDefaultStatus();out["status_id"]=ref.id;out["status_defaulted"]=ref.name}const type=nonEmpty(input.flags,"--type");
|
|
112
112
|
if(type!==void 0){out["type_id"]=(await ctx.resolver.privateTaskType(type)).id}else if(options.useDefaults){const ref=await ctx.resolver.privateDefaultTaskType();out["type_id"]=ref.id;out["type_defaulted"]=ref.name}return out}async function resolvePrivateExtras(input,ctx){const out={};const category=nonEmpty(input.flags,"--category");if(category!==void 0){out["category_id"]=(await ctx.resolver.privateTaskMaster("categories",category,"--category","\u30AB\u30C6\u30B4\u30EA")).id}const labels=repeatedValues(
|
|
113
|
-
input,"--label");if(labels.length>0){const ids=[];for(const ref of labels){const label=await ctx.resolver.privateTaskMaster("labels",ref,"--label","\u30E9\u30D9\u30EB");if(!ids.includes(label.id))ids.push(label.id)}out["label_ids"]=JSON.stringify(ids)}return out}var LABEL=TASK_MASTERS.status.label;var COLUMNS=["id","name","code","color","is_default","is_completed","sort_order"];var
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
input,"--label");if(labels.length>0){const ids=[];for(const ref of labels){const label=await ctx.resolver.privateTaskMaster("labels",ref,"--label","\u30E9\u30D9\u30EB");if(!ids.includes(label.id))ids.push(label.id)}out["label_ids"]=JSON.stringify(ids)}return out}var LABEL=TASK_MASTERS.status.label;var COLUMNS=["id","name","code","color","is_default","is_completed","sort_order","response_message"];var RESPONSE_MESSAGE_MAX_CHARS=500;var RESPONSE_MESSAGE_FLAG={name:"--response-message",summary:`\u8A2D\u5B9A\u6642\u5FDC\u7B54\u30E1\u30C3\u30BB\u30FC\u30B8\uFF08\u3053\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306B\u5909\u3048\u305F\u4EBA\u3078\u8FD4\u3059\u6848\u5185\u30FB${RESPONSE_MESSAGE_MAX_CHARS}\u5B57\u307E\u3067\u3002"" \u3067\u89E3\u9664\uFF09`,takesValue:true,
|
|
114
|
+
placeholder:"<\u6848\u5185\u6587>"};function responseMessageBody(input){const raw=input.flags.get(RESPONSE_MESSAGE_FLAG.name);if(raw===void 0)return{};if(raw.trim()==="")return{response_message:null};const count=[...raw].length;if(count>RESPONSE_MESSAGE_MAX_CHARS){throw new UsageError(`\u8A2D\u5B9A\u6642\u5FDC\u7B54\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u9577\u3059\u304E\u307E\u3059\uFF08${count} \u6587\u5B57\u30FB\u4E0A\u9650 ${RESPONSE_MESSAGE_MAX_CHARS} \u6587\u5B57\uFF09`,`${RESPONSE_MESSAGE_FLAG.
|
|
115
|
+
name} \u3092 ${RESPONSE_MESSAGE_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return{response_message:raw}}function writeBody(input){return{...fieldBody(input,FIELDS),...responseMessageBody(input)}}var RESPONSE_MESSAGE_HELP='--response-message \u306F\u3001\u30BF\u30B9\u30AF\u3092\u3053\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3078\u5909\u3048\u305F\u4EBA\u306B\u8FD4\u3059\u6848\u5185\u6587\u3067\u3059\uFF08\u753B\u9762\u3067\u306F\u30C8\u30FC\u30B9\u30C8\u3001\ntwp task update\u30FBMCP \u3067\u306F\u5FDC\u7B54\u306E\u5148\u982D\u306B\u51FA\u307E\u3059\uFF09\u3002"" \u3092\u6E21\u3059\u3068\u89E3\u9664\u3057\u307E\u3059\u3002';
|
|
116
|
+
var FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30B9\u30C6\u30FC\u30BF\u30B9\u540D",maxChars:255,summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u540D"},{kind:"text",flag:"--color",key:"color",label:"\u8272",maxChars:50,summary:"\u8868\u793A\u8272\uFF08\u4F8B: #6b7280\uFF09"},{kind:"boolean",flag:"--is-completed",key:"is_completed",summary:"\u5B8C\u4E86\u6271\u3044\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--is-default",key:"is_default",summary:"\
|
|
117
|
+
\u65E2\u5B9A\u306E\u30D5\u30E9\u30B0\uFF08true / false\uFF09\u3002\u4ED6\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u65E2\u5B9A\u306F\u5916\u308C\u305A\u3001twp task create \u306F\u8868\u793A\u9806\u3067\u6700\u521D\u306E\u65E2\u5B9A\u3092\u9078\u3076"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,summary:"\u8868\u793A\u9806\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"}];var REF_FLAG={name:"--status",summary:"\u5BFE\u8C61\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
|
|
118
|
+
takesValue:true,placeholder:"<\u30B9\u30C6\u30FC\u30BF\u30B9>"};var REF_HELP="<\u30B9\u30C6\u30FC\u30BF\u30B9> \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\uFF08UUID \u304B default:*\uFF09\u4EE5\u5916\u306F\u30B9\u30C6\u30FC\u30BF\u30B9\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";
|
|
116
119
|
var DEFAULT_STATUS_ID_RE=/^default:[a-z_]+$/;var SAFE_STATUS_ID_RE=/^[A-Za-z0-9._:-]{1,128}$/;function statusSegment(input){const id=requireResolved(input,"id");if(!SAFE_STATUS_ID_RE.test(id)||/^\.+$/.test(id)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30B9\u30C6\u30FC\u30BF\u30B9 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return encodeURIComponent(id)}function collectionPath(input){
|
|
117
120
|
return`/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/${TASK_MASTERS.status.path}`}function rejectPrivate(input){rejectPrivateSurface(input,"\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664")}async function resolveProject(input,ctx){return withResolved(input,{projectId:await ctx.projectId(input.flags.get("--project"))})}async function resolveTarget2(input,ctx,usage){const ref=singleRef(input,{flag:REF_FLAG.name,label:LABEL,usage});const withProject=await resolveProject(
|
|
118
121
|
input,ctx);const projectId=requireResolved(withProject,"projectId");const id=UUID_RE.test(ref)||DEFAULT_STATUS_ID_RE.test(ref)?ref:(await ctx.resolver.status(projectId,ref)).id;return withResolved(withProject,{id})}function statusItem(body){const data=isRecord(body)?body["data"]:void 0;if(!isRecord(data)||typeof data["id"]!=="string"){throw new ApiResponseError("\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
119
122
|
return data}function deleted(body){if(!isRecord(body)||typeof body["message"]!=="string"){throw new ApiResponseError("\u30B9\u30C6\u30FC\u30BF\u30B9\u524A\u9664\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{result:true,message:body["message"]}}var invalidates=(input,ctx)=>ctx.resolver.invalidateTaskMaster("status",requireResolved(input,"projectId"));var DELETE_REJECTED="\
|
|
120
123
|
\u30B5\u30FC\u30D0\u306F\u6B21\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u524A\u9664\u3092\u65AD\u308A\u307E\u3059: \u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08ID \u304C default: \u3067\u59CB\u307E\u308B\u3082\u306E\uFF09\uFF0F\u30BF\u30B9\u30AF\u304C1\u4EF6\u3067\u3082\u4F7F\u3063\u3066\u3044\u308B\u3082\u306E\u3002\n\u4F7F\u3063\u3066\u3044\u308B\u30BF\u30B9\u30AF\u306F twp task list --status <\u30B9\u30C6\u30FC\u30BF\u30B9> \u3067\u78BA\u8A8D\u3057\u3001\u5225\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3078\u79FB\u3057\u3066\u304B\u3089\u524A\u9664\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
121
|
-
function deleteRejected(server){return server.includes("\u524A\u9664\u3067\u304D\u307E\u305B\u3093")||server.includes("\u30B5\u30FC\u30D0\u30FC\u30A8\u30E9\u30FC")?DELETE_REJECTED:void 0}var taskStatusWriteOperations=[{name:"create",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u4F5C\u6210\u3059\u308B",usage:"twp task status create --name <\u30B9\u30C6\u30FC\u30BF\u30B9\u540D> [--color <\u8272>] [--is-completed <true|false>] [--is-default <true|false>] [--sort-order <\u6574\u6570>] [--
|
|
122
|
-
description:"--name \u304C\u5FC5\u9808\u3067\u3059\u3002--sort-order \u3092\u7701\u304F\u3068\u3001\u30AB\u30B9\u30BF\u30E0\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u6700\u5927\u5024\uFF0B1\uFF081\u4EF6\u3082\u7121\u3051\u308C\u3070 1\uFF09\u306B\u306A\u308A\u307E\u3059\uFF08\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\u3068\u306F\u5225\u306B\u6570\u3048\u308B\u306E\u3067\u672B\u5C3E\u3068\u306F\u9650\u308A\u307E\u305B\u3093\uFF09\u3002--color \u3092\u7701\u304F\u3068\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\u8272\u306B\u306A\u308A\u307E\u3059\u3002\n\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u672A\u7740\u624B\u30FB\u5B8C\u4E86 \u306A\u3069\uFF09\u3068\u540C\u3058\u540D\u524D\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u73FE\u72B6\u306F 500\u300C\u30B5\u30FC\u30D0\u30FC\u30A8\u30E9\u30FC\u300D\u3067\u8FD4\u308A\u307E\u3059\uFF09\u3002\n\u4F5C\u6210\u5F8C\u306F\u3053\u306E\u7AEF\u672B\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u4E00\u89A7\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u6368\u3066\u307E\u3059\u3002\u30B5\u30FC\u30D0\u5074\u306E\u4E00\u89A7\u306F\u53CD\u6620\u306B\u6570\u79D2\u301C\u6570\u5206\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u3001\n\u7D9A\u3051\u3066 --status <\u65B0\u3057\u3044\u540D\u524D> \u304C\u300C\u4E00\u81F4\u3057\u307E\u305B\u3093\u300D\u306B\u306A\u3063\u305F\u3089\u3001\u5C11\u3057\u7F6E\u3044\u3066 --refresh \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08ID \u306A\u3089\u305D\u306E\u307E\u307E\u901A\u308A\u307E\u3059\uFF09\u3002\n\u500B\u4EBA\u30BF\u30B9\u30AF\uFF08--project __private__\uFF09\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306F\u4F5C\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306B API \u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002"
|
|
123
|
-
flags:[...createFlags(FIELDS),PROJECT_FLAG],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp task status create help")}rejectPrivate(input);if(
|
|
124
|
-
input),body:
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
function deleteRejected(server){return server.includes("\u524A\u9664\u3067\u304D\u307E\u305B\u3093")||server.includes("\u30B5\u30FC\u30D0\u30FC\u30A8\u30E9\u30FC")?DELETE_REJECTED:void 0}var taskStatusWriteOperations=[{name:"create",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u4F5C\u6210\u3059\u308B",usage:"twp task status create --name <\u30B9\u30C6\u30FC\u30BF\u30B9\u540D> [--color <\u8272>] [--is-completed <true|false>] [--is-default <true|false>] [--sort-order <\u6574\u6570>] [--response-message <\u6848\u5185\u6587>] [--proj\
|
|
125
|
+
ect <\u30B3\u30FC\u30C9|ID>]",description:"--name \u304C\u5FC5\u9808\u3067\u3059\u3002--sort-order \u3092\u7701\u304F\u3068\u3001\u30AB\u30B9\u30BF\u30E0\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u6700\u5927\u5024\uFF0B1\uFF081\u4EF6\u3082\u7121\u3051\u308C\u3070 1\uFF09\u306B\u306A\u308A\u307E\u3059\uFF08\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\u3068\u306F\u5225\u306B\u6570\u3048\u308B\u306E\u3067\u672B\u5C3E\u3068\u306F\u9650\u308A\u307E\u305B\u3093\uFF09\u3002--color \u3092\u7701\u304F\u3068\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\u8272\u306B\u306A\u308A\u307E\u3059\u3002\n\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08\u672A\u7740\u624B\u30FB\u5B8C\u4E86 \u306A\u3069\uFF09\u3068\u540C\u3058\u540D\u524D\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u73FE\u72B6\u306F 500\u300C\u30B5\u30FC\u30D0\u30FC\u30A8\u30E9\u30FC\u300D\u3067\u8FD4\u308A\u307E\u3059\uFF09\u3002\n\u4F5C\u6210\u5F8C\u306F\u3053\u306E\u7AEF\u672B\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u4E00\u89A7\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u6368\u3066\u307E\u3059\u3002\u30B5\u30FC\u30D0\u5074\u306E\u4E00\u89A7\u306F\u53CD\u6620\u306B\u6570\u79D2\u301C\u6570\u5206\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u3001\n\u7D9A\u3051\u3066 --status <\u65B0\u3057\u3044\u540D\u524D> \u304C\u300C\u4E00\u81F4\u3057\u307E\u305B\u3093\u300D\u306B\u306A\u3063\u305F\u3089\u3001\u5C11\u3057\u7F6E\u3044\u3066 --refresh \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08ID \u306A\u3089\u305D\u306E\u307E\u307E\u901A\u308A\u307E\u3059\uFF09\u3002\n\u500B\u4EBA\u30BF\u30B9\u30AF\uFF08--project __private__\uFF09\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306F\u4F5C\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306B API \u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\n"+
|
|
126
|
+
RESPONSE_MESSAGE_HELP,flags:[...createFlags(FIELDS),RESPONSE_MESSAGE_FLAG,PROJECT_FLAG],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp task status create help")}rejectPrivate(input);if(writeBody(input)["name"]===void 0){throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp task status create help")}return resolveProject(input,ctx)},plan:input=>({
|
|
127
|
+
method:"POST",path:collectionPath(input),body:writeBody(input)}),invalidates,summarize:body=>pick(statusItem(body),COLUMNS),raw:body=>statusItem(body)},{name:"update",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u66F4\u65B0\u3059\u308B",usage:"twp task status update <\u30B9\u30C6\u30FC\u30BF\u30B9> [--name <\u30B9\u30C6\u30FC\u30BF\u30B9\u540D>] [--color <\u8272>] [--is-completed <true|false>] [--is-default <true|false>] [--sort-order <\u6574\u6570>] [--response-message <\u6848\u5185\u6587>] [--project <\u30B3\u30FC\u30C9|ID>]",
|
|
128
|
+
description:`\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\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
129
|
+
\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08default:*\uFF09\u3082\u540D\u524D\u30FB\u8272\u30FB\u8868\u793A\u9806\u3092\u5909\u66F4\u3067\u304D\u307E\u3059\u3002
|
|
130
|
+
\u6A19\u6E96\u30B9\u30C6\u30FC\u30BF\u30B9\u3068\u540C\u3058\u540D\u524D\u3078\u6539\u540D\u3059\u308B\u3068\u3001\u30B5\u30FC\u30D0\u306F\u305D\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u4E00\u89A7\u304B\u3089\u5916\u3057\u307E\u3059\uFF08\u4EE5\u5F8C\u306F ID \u3067\u3057\u304B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF09\u3002
|
|
131
|
+
--is-default true \u3092\u4ED8\u3051\u3066\u3082\u4ED6\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E\u65E2\u5B9A\u306F\u5916\u308C\u307E\u305B\u3093\uFF08twp task create \u306F\u8868\u793A\u9806\u3067\u6700\u521D\u306E\u65E2\u5B9A\u3092\u9078\u3073\u307E\u3059\uFF09\u3002
|
|
132
|
+
\u66F4\u65B0\u5F8C\u306F\u3053\u306E\u7AEF\u672B\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u4E00\u89A7\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u6368\u3066\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u5074\u306E\u53CD\u6620\u5F85\u3061\u306F create \u3068\u540C\u3058\uFF09\u3002
|
|
133
|
+
|
|
134
|
+
${RESPONSE_MESSAGE_HELP}
|
|
135
|
+
|
|
136
|
+
`+REF_HELP,flags:[...updateFlags(FIELDS),RESPONSE_MESSAGE_FLAG,REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){rejectPrivate(input);if(!hasAnyField(input,FIELDS)&&!input.flags.has(RESPONSE_MESSAGE_FLAG.name)){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp task status update help")}writeBody(input);return resolveTarget2(input,ctx,"twp task status update help")},plan:input=>({method:"PUT",path:`${collectionPath(
|
|
137
|
+
input)}/${statusSegment(input)}`,body:writeBody(input)}),invalidates,summarize:body=>pick(statusItem(body),COLUMNS),raw:body=>statusItem(body)},{name:"delete",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",usage:"twp task status delete <\u30B9\u30C6\u30FC\u30BF\u30B9> --yes [--project <\u30B3\u30FC\u30C9|ID>]",description:`\u524A\u9664\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002
|
|
128
138
|
${DELETE_REJECTED}
|
|
129
139
|
\u524A\u9664\u5F8C\u306F\u30B9\u30C6\u30FC\u30BF\u30B9\u4E00\u89A7\u306E\u30AD\u30E3\u30C3\u30B7\u30E5\u3092\u6368\u3066\u307E\u3059\u3002
|
|
130
140
|
|
|
131
|
-
`+REF_HELP,destructive:true,rejected:deleteRejected,flags:[REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){rejectPrivate(input);return resolveTarget2(input,ctx,"twp task status delete help")},plan:input=>({method:"DELETE",path:`${collectionPath(input)}/${statusSegment(input)}`}),invalidates,summarize:body=>deleted(body),raw:body=>deleted(body)}];var SPECS=[{kind:"status",resource:"status",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08--status \u306B\u6E21\u305B\u308B\u5024\uFF09\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","code","is_default","is_completed","sort_order"],privateEnvelope:"statuses",writes:taskStatusWriteOperations},{kind:"type",resource:"type",summary:"\u30BF\u30B9\u30AF\u306E\u7A2E\u5225\uFF08--type \u306B\u6E21\u305B\u308B\u5024\uFF09\u3092\u4E00\u89A7\u3059\u308B",columns:[
|
|
132
|
-
|
|
133
|
-
\u30BF\u30B9\u30AF\u306E\u30E9\u30D9\u30EB\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","color"],privateEnvelope:"labels"}];var PRIVATE_SURFACE="private";function isPrivatePlan(input){return input.resolved?.["surface"]===PRIVATE_SURFACE}function rows(body){if(!Array.isArray(body)){throw new Error(`\u30BF\u30B9\u30AF\u30DE\u30B9\u30BF\u4E00\u89A7\u306E\u5185\u90E8\u8868\u73FE\u304C\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${typeof body}`)}
|
|
134
|
-
const master=TASK_MASTERS[spec.kind];const privateHelp=spec.privateEnvelope===void 0?`\u500B\u4EBA\u30BF\u30B9\u30AF\uFF08--project ${PRIVATE_PROJECT_REF}\uFF09\u306B${master.label}\u306F\u3042\u308A\u307E\u305B\u3093\u3002`:`\u500B\u4EBA\u30BF\u30B9\u30AF\u306F --project ${PRIVATE_PROJECT_REF} \u3067\u4E00\u89A7\u3067\u304D\u307E\u3059\u3002`;return{name:spec.resource,summary:spec.summary,operations:[{name:"list",summary:spec.summary,usage:`twp task ${spec.
|
|
135
|
-
description:`name \u5217\u306E\u5024\u306F twp task list / create / update \u306E\u30D5\u30E9\u30B0\u3078\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08ID \u3067\u3082\u6E21\u305B\u307E\u3059\uFF09\u3002
|
|
141
|
+
`+REF_HELP,destructive:true,rejected:deleteRejected,flags:[REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){rejectPrivate(input);return resolveTarget2(input,ctx,"twp task status delete help")},plan:input=>({method:"DELETE",path:`${collectionPath(input)}/${statusSegment(input)}`}),invalidates,summarize:body=>deleted(body),raw:body=>deleted(body)}];var SPECS=[{kind:"status",resource:"status",summary:"\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08--status \u306B\u6E21\u305B\u308B\u5024\uFF09\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","code","is_default","is_completed","sort_order","response_message"],privateEnvelope:"statuses",writes:taskStatusWriteOperations},{kind:"type",resource:"type",summary:"\u30BF\u30B9\u30AF\u306E\u7A2E\u5225\uFF08--type \u306B\u6E21\u305B\u308B\u5024\uFF09\u3092\u4E00\u89A7\u3059\u308B",columns:[
|
|
142
|
+
"id","name","code","is_default","sort_order","response_message"],privateEnvelope:"types"},{kind:"category",resource:"category",summary:"\u30BF\u30B9\u30AF\u306E\u30AB\u30C6\u30B4\u30EA\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","color","sort_order","response_message"],privateEnvelope:"categories"},{kind:"milestone",resource:"milestone",summary:"\u30BF\u30B9\u30AF\u306E\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","due_date","is_completed",
|
|
143
|
+
"sort_order","response_message"]},{kind:"label",resource:"label",summary:"\u30BF\u30B9\u30AF\u306E\u30E9\u30D9\u30EB\u3092\u4E00\u89A7\u3059\u308B",columns:["id","name","color","response_message"],privateEnvelope:"labels"}];var PRIVATE_SURFACE="private";function isPrivatePlan(input){return input.resolved?.["surface"]===PRIVATE_SURFACE}function rows(body){if(!Array.isArray(body)){throw new Error(`\u30BF\u30B9\u30AF\u30DE\u30B9\u30BF\u4E00\u89A7\u306E\u5185\u90E8\u8868\u73FE\u304C\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${typeof body}`)}
|
|
144
|
+
return body}function masterResource(spec){const master=TASK_MASTERS[spec.kind];const privateHelp=spec.privateEnvelope===void 0?`\u500B\u4EBA\u30BF\u30B9\u30AF\uFF08--project ${PRIVATE_PROJECT_REF}\uFF09\u306B${master.label}\u306F\u3042\u308A\u307E\u305B\u3093\u3002`:`\u500B\u4EBA\u30BF\u30B9\u30AF\u306F --project ${PRIVATE_PROJECT_REF} \u3067\u4E00\u89A7\u3067\u304D\u307E\u3059\u3002`;return{name:spec.resource,summary:spec.summary,operations:[{name:"list",summary:spec.summary,usage:`twp task ${spec.
|
|
145
|
+
resource} list [--project <\u30B3\u30FC\u30C9|ID>]`,description:`name \u5217\u306E\u5024\u306F twp task list / create / update \u306E\u30D5\u30E9\u30B0\u3078\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08ID \u3067\u3082\u6E21\u305B\u307E\u3059\uFF09\u3002
|
|
136
146
|
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
137
147
|
\u7D50\u679C\u306F\u540D\u524D\u89E3\u6C7A\u3068\u540C\u3058\u30AD\u30E3\u30C3\u30B7\u30E5\uFF08\u65E2\u5B9A 10 \u5206\uFF09\u304B\u3089\u8FD4\u308B\u305F\u3081\u3001\u7D9A\u3051\u3066\u6253\u3064\u30B3\u30DE\u30F3\u30C9\u3067\u5F80\u5FA9\u306F\u5897\u3048\u307E\u305B\u3093\u3002
|
|
138
148
|
\u6700\u65B0\u3092\u53D6\u308A\u76F4\u3059\u3068\u304D\u306F --refresh \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002
|
|
139
149
|
${privateHelp}`,flags:[PROJECT_FLAG],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F --project <\u30B3\u30FC\u30C9|ID> \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}if(wantsPrivateSurface(input)){if(spec.privateEnvelope===void 0){throw new UsageError(`--project ${PRIVATE_PROJECT_REF}\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\uFF09\u306B${master.
|
|
140
150
|
label}\u306F\u3042\u308A\u307E\u305B\u3093`,`\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30DE\u30B9\u30BF\u306F\u30B9\u30C6\u30FC\u30BF\u30B9\u30FB\u7A2E\u5225\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u30E9\u30D9\u30EB\u3060\u3051\u3067\u3059\u3002`)}return withResolved(input,{surface:PRIVATE_SURFACE})}return withResolved(input,{projectId:await ctx.projectId(input.flags.get("--project"))})},plan(input){if(isPrivatePlan(input))return{method:"GET",path:`${PRIVATE_TASKS_PATH}/masters`};return{method:"GET",path:`\
|
|
141
151
|
/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/${master.path}`}},async fetchCached(input,ctx){if(isPrivatePlan(input)){return ctx.resolver.privateMasterRows(spec.privateEnvelope,master.label)}return ctx.resolver.taskMasterRows(spec.kind,requireResolved(input,"projectId"))},summarize:body=>rows(body).map(row=>pick(row,spec.columns)),raw:body=>rows(body),notes:body=>rows(body).length===0?[`${master.label}\u306F1\u4EF6\u3082\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08--refresh \u3067\u53D6\u308A\u76F4\u305B\u307E\u3059\uFF09\u3002`]:
|
|
142
|
-
[]},...spec.writes??[]]}}var taskMasterResources=SPECS.map(masterResource);var
|
|
143
|
-
|
|
152
|
+
[]},...spec.writes??[]]}}var taskMasterResources=SPECS.map(masterResource);var FIELD_NAMES={status_id:"status",type_id:"type",category_id:"category",milestone_id:"milestone",version_id:"version",label_ids:"label"};function taskNotices(body){const raw=isRecord(body)?body["notices"]:void 0;if(!Array.isArray(raw))return[];return raw.filter(item=>isRecord(item)&&typeof item["field"]==="string"&&typeof item["message"]==="string"&&item["message"]!=="")}function formatNotice(notice){const field=FIELD_NAMES[notice.field]??notice.field;const value=typeof notice.value_name==="st\
|
|
153
|
+
ring"&¬ice.value_name!==""?`=${notice.value_name}`:"";const count=typeof notice.count==="number"&¬ice.count>1?`\uFF08${notice.count}\u4EF6\uFF09`:"";return`\u26A0 \u8A2D\u5B9A\u6642\u30E1\u30C3\u30BB\u30FC\u30B8\uFF08${field}${value}\uFF09${count}: ${notice.message}`}function withNoticeSummary(summary,body){const notices=taskNotices(body);if(notices.length===0)return summary;return{notices:notices.map(formatNotice).join(" \uFF0F "),...summary}}function withRawNotices(task,body){const raw=isRecord(
|
|
154
|
+
body)?body["notices"]:void 0;if(!Array.isArray(raw)||!isRecord(task))return task;const out={notices:raw};for(const[key,value]of Object.entries(task))if(key!=="notices")out[key]=value;return out}var LIST_COLUMNS3=["key","subject","status_id","assignee_id","priority","due_date","updated_at"];var GET_COLUMNS=["id","key","project_id","subject","description","status_id","type_id","category_id","milestone_id","assignee_id","priority","start_date","due_date","estimated_hours","actual_hours","progress","parent_id","subtask_count","required_platforms","created_by","created_at","updated_by","updated_at"];var listPaging2=envelopePaging({label:"\u30BF\u30B9\u30AF\u4E00\u89A7"});var NOTICE_HELP="\u30B9\u30C6\
|
|
155
|
+
\u30FC\u30BF\u30B9\u7B49\u306E\u5C5E\u6027\u306B\u8A2D\u5B9A\u6642\u5FDC\u7B54\u30E1\u30C3\u30BB\u30FC\u30B8\uFF08twp task status update --response-message\uFF09\u304C\u3042\u308B\u5024\u3078\n\u5909\u308F\u3063\u305F\u3068\u304D\u306F\u3001\u7D50\u679C\u306E\u5148\u982D\u306B\u300C\u26A0 \u8A2D\u5B9A\u6642\u30E1\u30C3\u30BB\u30FC\u30B8\uFF08status=<\u5024>\uFF09: <\u6848\u5185>\u300D\u304C\u51FA\u307E\u3059\u3002\n--output json \u3067\u306F\u30AD\u30FC notices \u306B\u5165\u308A\u307E\u3059\u3002\u6848\u5185\u304C\u51FA\u305F\u3089\u5F93\u3063\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
156
|
+
var PRIVATE_HELP=`\u500B\u4EBA\u30BF\u30B9\u30AF\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u5C5E\u3055\u306A\u3044\u81EA\u5206\u3060\u3051\u306E\u30BF\u30B9\u30AF\uFF09\u306F --project ${PRIVATE_PROJECT_REF} \u3067\u64CD\u4F5C\u3057\u307E\u3059\u3002
|
|
144
157
|
twp task list --project ${PRIVATE_PROJECT_REF}
|
|
145
158
|
\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\u306F PRIVATE-<\u756A\u53F7> \u3067\u3059\u3002\u62C5\u5F53\u8005\u306E\u6307\u5B9A\u30FB\u7D5E\u308A\u8FBC\u307F\uFF08--assignee\uFF09\u306F\u3067\u304D\u307E\u305B\u3093
|
|
146
159
|
\uFF08\u500B\u4EBA\u30BF\u30B9\u30AF\u306F\u5E38\u306B\u81EA\u5206\u306E\u3082\u306E\u306A\u306E\u3067\u3001\u30B5\u30FC\u30D0\u5074\u306B\u62C5\u5F53\u8005\u306E\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
@@ -216,18 +229,22 @@ description:`--subject \u3060\u3051\u304C\u5FC5\u9808\u3067\u3059\u3002--status
|
|
|
216
229
|
\u6307\u5B9A\u3059\u308B\u3068\u30B5\u30FC\u30D0\u5074\u306F\u968E\u5C64\u306E\u691C\u8A3C\u3068\u6DF1\u3055\u306E\u8A08\u7B97\u3092\u542B\u3080\u51E6\u7406\u3078\u5206\u5C90\u3057\u307E\u3059\u304C\u3001\u6253\u3061\u65B9\u306F\u5909\u308F\u308A\u307E\u305B\u3093\u3002
|
|
217
230
|
\u4F5C\u6210\u5F8C\u306F twp task subtasks <\u89AA\u30AD\u30FC> \u306B\u73FE\u308C\u307E\u3059\u3002
|
|
218
231
|
|
|
232
|
+
${NOTICE_HELP}
|
|
233
|
+
|
|
219
234
|
${PRIVATE_HELP}
|
|
220
235
|
|
|
221
236
|
`+FIELD_HELP,flags:[...FIELD_FLAGS,PROJECT_FLAG],async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,'\u4EF6\u540D\u306F --subject "<\u4EF6\u540D>" \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002')}checkPureFields(input);if(boundedText(input,"--subject",{maxChars:SUBJECT_MAX_CHARS,label:"\u4EF6\u540D"})===void 0){throw new UsageError('\u4EF6\u540D\u3092 --subject "<\u4EF6\u540D>" \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044',
|
|
222
237
|
"twp task create help")}if(wantsPrivateSurface(input)){rejectPrivateUnsupportedFlags(input);const privateDescription=await readDescription(input,"twp task create help");return withResolved(input,{surface:PRIVATE_SURFACE2,...privateDescription!==void 0?{description:privateDescription}:{},...await resolvePrivateStatusAndType(input,ctx,{useDefaults:true}),...await resolvePrivateExtras(input,ctx),...await resolvePrivateParent(input,ctx)})}const description=await readDescription(input,"twp task creat\
|
|
223
|
-
e help");const projectId=await ctx.projectId(input.flags.get("--project"));return withResolved(input,{projectId,...description!==void 0?{description}:{},...await resolveStatusAndType(input,ctx,projectId,{useDefaults:true}),...await resolveExtras(input,ctx,projectId)})},plan:input=>isPrivatePlan2(input)?{method:"POST",path:PRIVATE_TASKS_PATH,body:taskBody(input)}:{method:"POST",path:`/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/tasks`,body:taskBody(input)},summarize:body=>
|
|
224
|
-
taskObject(body),GET_COLUMNS),raw:taskObject,plannedNotes:input=>{const notes=[];const status=input.resolved?.["status_defaulted"];const type=input.resolved?.["type_defaulted"];if(status!==void 0)notes.push(`--status \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u65E2\u5B9A\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u300C${status}\u300D\u3092\u4F7F\u3044\u307E\u3059\u3002`);if(type!==void 0)notes.push(`--type \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u65E2\u5B9A\u306E\u7A2E\u5225\u300C${type}\
|
|
225
|
-
return notes}},{name:"update",summary:"\u30BF\u30B9\u30AF\u3092\u66F4\u65B0\u3059\u308B",usage:'twp task update <\u30AD\u30FC|ID> [--status <\u540D\u524D>] [--assignee <me|\u540D\u524D>] [--subject "<\u4EF6\u540D>"] [--category <\u540D\u524D>] [--label <\u540D\u524D>] [--clear <\u9805\u76EE>]',description:`${TASK_REF_HELP}
|
|
238
|
+
e help");const projectId=await ctx.projectId(input.flags.get("--project"));return withResolved(input,{projectId,...description!==void 0?{description}:{},...await resolveStatusAndType(input,ctx,projectId,{useDefaults:true}),...await resolveExtras(input,ctx,projectId)})},plan:input=>isPrivatePlan2(input)?{method:"POST",path:PRIVATE_TASKS_PATH,body:taskBody(input)}:{method:"POST",path:`/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/tasks`,body:taskBody(input)},summarize:body=>withNoticeSummary(
|
|
239
|
+
pick(taskObject(body),GET_COLUMNS),body),raw:body=>withRawNotices(taskObject(body),body),plannedNotes:input=>{const notes=[];const status=input.resolved?.["status_defaulted"];const type=input.resolved?.["type_defaulted"];if(status!==void 0)notes.push(`--status \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u65E2\u5B9A\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u300C${status}\u300D\u3092\u4F7F\u3044\u307E\u3059\u3002`);if(type!==void 0)notes.push(`--type \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u65E2\u5B9A\u306E\u7A2E\u5225\u300C${type}\
|
|
240
|
+
\u300D\u3092\u4F7F\u3044\u307E\u3059\u3002`);return notes}},{name:"update",summary:"\u30BF\u30B9\u30AF\u3092\u66F4\u65B0\u3059\u308B",usage:'twp task update <\u30AD\u30FC|ID> [--status <\u540D\u524D>] [--assignee <me|\u540D\u524D>] [--subject "<\u4EF6\u540D>"] [--category <\u540D\u524D>] [--label <\u540D\u524D>] [--clear <\u9805\u76EE>]',description:`${TASK_REF_HELP}
|
|
226
241
|
|
|
227
242
|
\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
|
|
228
243
|
\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u2014\u2014\u4F55\u3082\u5909\u308F\u3089\u306A\u3044\u66F4\u65B0\u3067\u3082\u3001
|
|
229
244
|
\u30B5\u30FC\u30D0\u5074\u3067\u306F\u66F4\u65B0\u65E5\u6642\u3068\u5909\u66F4\u5C65\u6B74\u304C\u52D5\u304F\u305F\u3081\u3067\u3059\u3002
|
|
230
245
|
|
|
246
|
+
${NOTICE_HELP}
|
|
247
|
+
|
|
231
248
|
${PRIVATE_HELP}
|
|
232
249
|
|
|
233
250
|
${FIELD_HELP}
|
|
@@ -235,7 +252,8 @@ ${FIELD_HELP}
|
|
|
235
252
|
`+CLEAR_HELP,flags:[...FIELD_FLAGS,CLEAR_FLAG,TASK_REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){const ref=singleRef(input,{flag:"--task",label:"\u30BF\u30B9\u30AF",usage:"twp task update help"});checkPureFields(input);const changed=FIELD_FLAGS.some(flag=>input.flags.has(flag.name)||repeatedValues(input,flag.name).length>0)||repeatedValues(input,CLEAR_FLAG.name).length>0;if(!changed){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
236
253
|
`\u6307\u5B9A\u3067\u304D\u308B\u9805\u76EE: ${FIELD_FLAGS.map(flag=>flag.name).join(" / ")} / ${CLEAR_FLAG.name}`)}const surface=taskSurface(input,ref);if(surface===PRIVATE_SURFACE2)rejectPrivateUnsupportedFlags(input);const description=await readDescription(input,"twp task update help");if(surface===PRIVATE_SURFACE2){return withResolved(input,{surface:PRIVATE_SURFACE2,taskId:await resolvePrivateTaskId(ctx,ref),...description!==void 0?{description}:{},...await resolvePrivateStatusAndType(input,
|
|
237
254
|
ctx,{useDefaults:false}),...await resolvePrivateExtras(input,ctx),...await resolvePrivateParent(input,ctx)})}const located=await resolveTaskLocation(input,ctx,ref);return withResolved(input,{...located,...description!==void 0?{description}:{},...await resolveStatusAndType(input,ctx,located.projectId,{useDefaults:false}),...await resolveExtras(input,ctx,located.projectId)})},plan:input=>{const taskId=encodeURIComponent(requireResolved(input,"taskId"));const body=taskBody(input);if(isPrivatePlan2(
|
|
238
|
-
input))return{method:"PUT",path:`${PRIVATE_TASKS_PATH}/${taskId}`,body};return{method:"PUT",path:`/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/tasks/${taskId}`,body}},summarize:body=>pick(taskObject(body),GET_COLUMNS),raw:taskObject},{name:"delete",summary:"\u30BF\u30B9\u30AF\u3092\u524A\u9664\u3059\u308B",usage:"twp task delete <\u30AD\u30FC|ID> --yes [--project <\u30B3\u30FC\u30C9|ID|__private__>]",description:`${TASK_REF_HELP}
|
|
255
|
+
input))return{method:"PUT",path:`${PRIVATE_TASKS_PATH}/${taskId}`,body};return{method:"PUT",path:`/api/v2/projects/${encodeURIComponent(requireResolved(input,"projectId"))}/tasks/${taskId}`,body}},summarize:body=>withNoticeSummary(pick(taskObject(body),GET_COLUMNS),body),raw:body=>withRawNotices(taskObject(body),body)},{name:"delete",summary:"\u30BF\u30B9\u30AF\u3092\u524A\u9664\u3059\u308B",usage:"twp task delete <\u30AD\u30FC|ID> --yes [--project <\u30B3\u30FC\u30C9|ID|__private__>]",description:`${TASK_REF_HELP}\
|
|
256
|
+
|
|
239
257
|
|
|
240
258
|
\u524A\u9664\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\u30B5\u30D6\u30BF\u30B9\u30AF\u3092\u6301\u3064\u30BF\u30B9\u30AF\u3092\u6D88\u3059\u3068\u3001\u30B5\u30FC\u30D0\u5074\u306E\u898F\u5247\u306B\u5F93\u3063\u3066
|
|
241
259
|
\u5B50\u3082\u4E00\u7DD2\u306B\u6271\u308F\u308C\u307E\u3059\u3002\u5148\u306B twp task subtasks <\u30AD\u30FC> \u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{textToHtml}from"./chunk-
|
|
3
|
+
import{textToHtml}from"./chunk-3WFZOOXZ.js";import"./chunk-Q3B65OFC.js";import{cursorFlag,graphData,graphListFlags,graphPaging,graphPagingHelp,graphPagingNotes,graphValue,ms365Forbidden,plainText,str,teamsFromText,topFlag}from"./chunk-DLD736A2.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-H4CDX4TX.js";
|
|
4
4
|
import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var KINDS=["channel","chat"];var TEAM_ID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var DESCRIPTION_MAX=2e3;var NAME_MAX=255;var FAVORITE_COLUMNS=["kind","display_name","description","sort_order","team_id","id"];var KIND_FLAG={name:"--kind",summary:"\u7A2E\u5225\u3067\u7D5E\u308B\uFF08channel | chat\uFF09",takesValue:true,placeholder:"<\u7A2E\u5225>"};var TEAM_FLAG={name:"--team",summary:"\u30C1\u30FC\u30E0\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,placeholder:"<\u540D\u524D\
|
|
5
5
|
|ID>"};var CHANNEL_FLAG={name:"--channel",summary:"\u30C1\u30E3\u30CD\u30EB\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>"};var CHAT_FLAG={name:"--chat",summary:"\u30C1\u30E3\u30C3\u30C8ID\uFF08twp teams chat list \u306E id\uFF09",takesValue:true,placeholder:"<ID>"};var DESCRIPTION_FLAG={name:"--description",summary:`\u7528\u9014\u306E\u8AAC\u660E\uFF08${DESCRIPTION_MAX}\u6587\u5B57\u307E\u3067\u3002"" \u3067\u7A7A\u306B\u3059\u308B\uFF09`,takesValue:true,placeholder:"\
|
|
6
6
|
<\u6587>"};var NAME_FLAG={name:"--name",summary:"\u8868\u793A\u540D\uFF08\u30C1\u30E3\u30CD\u30EB\u306F\u7701\u304F\u3068\u30C1\u30E3\u30CD\u30EB\u540D\u3002\u30C1\u30E3\u30C3\u30C8\u306F\u540D\u524D\u3092\u6301\u305F\u306A\u3044\u306E\u3067\u898B\u5206\u3051\u3084\u3059\u3044\u540D\u524D\u3092\u4ED8\u3051\u308B\uFF09",takesValue:true,placeholder:"<\u540D\u524D>"};var FAVORITES_PATH="/teams/favorites";function parseKind(raw,usage){if(raw===void 0)return void 0;const kind=raw.trim();if(!KINDS.includes(
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-
|
|
4
|
-
import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-
|
|
5
|
-
import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import
|
|
3
|
+
import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-RCRFLVJ6.js";import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-BKE3BFIQ.js";import{exportOperation}from"./chunk-DYNNGNXR.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-YA7W7OV4.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-2YVJ3QVJ.js";import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-FHOJFKR3.js";
|
|
4
|
+
import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-4B6GJBYP.js";import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
|
|
5
|
+
import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\u4E00\u89A7\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")}
|
|
6
6
|
return list}async function nameMap(ctx,path,label2){try{const body=await ctx.send({method:"GET",path,query:{limit:ORG_MASTER_LIMIT}});const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list))throw new Error(`${label2}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093`);const count=isRecord(body)?body["count"]:void 0;if(typeof count==="number"&&count>list.length){ctx.warn(`${label2}\u4E00\u89A7\u304C ${count} \u4EF6\u4E2D ${list.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\
|
|
7
7
|
\u308C\u305F\u305F\u3081\u3001\u4E00\u90E8\u306E${label2}\u540D\u306F\u7A7A\u6B04\u3067\u3059\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}const map={};for(const row of list){if(isRecord(row)&&typeof row["id"]==="string"&&typeof row["name"]==="string"){map[row["id"]]=row["name"]}}return map}catch(err){ctx.warn(`${label2}\u540D\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001${label2}\u540D\u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.
|
|
8
8
|
message}\uFF09\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);return{}}}function assignmentPlan(input){const suffix=input.flags.has("--current")?"/assignments/current":"/assignments";return{method:"GET",path:`/api/v2/organization/users/${userPath(input,suffix)}`}}var listOperation={name:"list",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B",usage:"twp user assignment list <\u30E6\u30FC\u30B6\u30FC> [--current]",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{booleanQuery,cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,referencedDeleteGuidance,targetId,updateFlags}from"./chunk-
|
|
3
|
+
import{booleanQuery,cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,referencedDeleteGuidance,targetId,updateFlags}from"./chunk-FHOJFKR3.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{USER_CONTRACT_TYPES_PATH}from"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{
|
|
4
4
|
acknowledgement,pick}from"./chunk-3ZRMMBP5.js";import{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 NAME="user-contract-type";var LABEL="\u5951\u7D04\u5F62\u614B";var ITEM_KEY="contract_type";var CALCULATION_TYPES=["salary_based","salary_executive","salary_manager","hourly_based","contract_based","other_exempt"];var FIELDS=[{kind:"text",flag:"--name",key:"name",label:`${LABEL}\u540D`,maxChars:255,summary:`${LABEL}\u540D`},{kind:"text",flag:"--code",key:"code",label:`${LABEL}\u30B3\u30FC\u30C9`,maxChars:50,summary:`${LABEL}\u30B3\u30FC\u30C9\uFF08\u4EFB\u610F\u30FB\u30C6\u30CA\u30F3\u30C8\u5185\u3067\u4E00\u610F\uFF09`},
|
|
5
5
|
{kind:"enum",flag:"--calculation-type",key:"calculation_type",values:CALCULATION_TYPES,summary:"\u8A08\u7B97\u533A\u5206\uFF08salary_based: \u4E00\u822C\u5F93\u696D\u54E1 / salary_executive: \u5F79\u54E1 / salary_manager: \u7BA1\u7406\u76E3\u7763\u8005 / hourly_based: \u6642\u7D66\u5236 / contract_based: \u696D\u52D9\u59D4\u8A17 / other_exempt: \u8A08\u7B97\u5BFE\u8C61\u5916\uFF09"},{kind:"integer",flag:"--monthly-hours",key:"default_monthly_hours",label:"\u6708\u9593\u6240\u5B9A\u6642\u9593",min:1,
|
|
6
6
|
max:744,summary:"\u6708\u9593\u6240\u5B9A\u6642\u9593\uFF081\u301C744\uFF09"},{kind:"number",flag:"--daily-hours",key:"default_daily_hours",label:"1\u65E5\u306E\u6240\u5B9A\u6642\u9593",min:1,max:24,summary:"1\u65E5\u306E\u6240\u5B9A\u6642\u9593\uFF081\u301C24\u30FB\u5C0F\u6570\u53EF\uFF09"},{kind:"number",flag:"--bonus-months",key:"bonus_months_default",label:"\u8CDE\u4E0E\u6708\u6570",min:0,max:24,summary:"\u8CDE\u4E0E\u6708\u6570\u306E\u65E2\u5B9A\uFF080\u301C24\u30FB\u5C0F\u6570\u53EF\uFF09"},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain}from"./chunk-
|
|
3
|
+
import{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain}from"./chunk-MSVJ53VZ.js";import"./chunk-WVCEKC7V.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";
|
|
4
4
|
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";export{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-
|
|
4
|
-
import"./chunk-
|
|
3
|
+
import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-D37WSWBT.js";import"./chunk-7SYIYLHX.js";import"./chunk-5P22UEUF.js";import"./chunk-MNJYY3PR.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
|
|
4
|
+
import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./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";export{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance};
|
package/package.json
CHANGED
package/dist/chunk-35MQ27I6.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
var DOMAIN_NAMES=["agent","agent-loop","ai-review-reason","analysis","announcement","attendance","backlog","budget","business-place","company","contract","customer","department","deposit","estimate","evaluation","expense","fiscal-year","goal-sheet","inquiry","invoice","job-title","knowledge","leave","license","media","meeting","note","notification","onedrive","outlook","payee","position","project","prospect","purchase","qualification","receivable","redmine","report","rounding-setting","seal-impr\
|
|
4
|
-
ession","search","segment","shift","skill","storage","supplier-payment","support","task","teams","user","user-contract-type","wiki","workchange","worker-agent","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
|
package/dist/chunk-5VZ54H2J.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
var LOADERS={agent:async()=>(await import("./agent-C37HJDJY.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-XFYCEK5S.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-NBNSHUUP.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-THRX37XW.js")).analysisDomain,announcement:async()=>(await import("./announcement-4R7XFO5W.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-Z5BGCSCL.js")).attendanceDomainWithRecords,
|
|
4
|
-
backlog:async()=>(await import("./backlog-KF63TCEG.js")).backlogDomain,budget:async()=>(await import("./budget-W7JXDJ4J.js")).budgetDomain,"business-place":async()=>(await import("./sales-master-23PVQUTQ.js")).businessPlaceDomain,company:async()=>(await import("./company-W2OBOOKJ.js")).companyDomain,contract:async()=>(await import("./contract-LTQVLI7A.js")).contractDomain,customer:async()=>(await import("./company-W2OBOOKJ.js")).customerDomain,department:async()=>(await import("./department-GZBKUFON.js")).
|
|
5
|
-
departmentDomain,deposit:async()=>(await import("./deposit-HCMV2MBU.js")).depositDomain,estimate:async()=>(await import("./estimate-ILUXZJG3.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-PE7QHATW.js")).evaluationDomain,expense:async()=>(await import("./expense-K2JPBP2M.js")).expenseDomain,"fiscal-year":async()=>(await import("./fiscal-year-XY4KA67D.js")).fiscalYearDomain,"goal-sheet":async()=>(await import("./evaluation-PE7QHATW.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-FEQWFU7Z.js")).
|
|
6
|
-
inquiryDomain,invoice:async()=>(await import("./invoice-WOQZUL66.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-CDAMB4Q2.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-32TTPFVY.js")).knowledgeDomain,leave:async()=>(await import("./leave-TEXQJURZ.js")).leaveDomain,license:async()=>(await import("./license-ZSZM5OSK.js")).licenseDomain,media:async()=>(await import("./media-TAS7FF5K.js")).mediaDomain,meeting:async()=>(await import("./knowledge-VM6P4XDQ.js")).
|
|
7
|
-
meetingDomain,note:async()=>(await import("./knowledge-VM6P4XDQ.js")).noteDomain,notification:async()=>(await import("./notification-T46TUUMO.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-ZY3GTU26.js")).onedriveDomain,outlook:async()=>(await import("./outlook-KYTXHDAV.js")).outlookDomain,payee:async()=>(await import("./sales-master-23PVQUTQ.js")).payeeDomain,position:async()=>(await import("./position-BKZQH6A3.js")).positionDomain,project:async()=>(await import("./project-KL4DH2XE.js")).
|
|
8
|
-
projectDomain,prospect:async()=>(await import("./prospect-BEB5AXPM.js")).prospectDomain,purchase:async()=>(await import("./purchase-P37K6MVO.js")).purchaseDomain,qualification:async()=>(await import("./skill-RKCTUJHW.js")).qualificationDomain,receivable:async()=>(await import("./receivable-5N3KL3L4.js")).receivableDomain,redmine:async()=>(await import("./redmine-K7A7AEUA.js")).redmineDomain,report:async()=>(await import("./report-PZ4GMMK2.js")).reportDomain,"rounding-settin\
|
|
9
|
-
g":async()=>(await import("./sales-numbering-FQ7YPQME.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-23PVQUTQ.js")).sealImpressionDomain,search:async()=>(await import("./search-NYY22NHK.js")).searchDomain,segment:async()=>(await import("./segment-2C3MYZCV.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-357A3O5Y.js")).shiftDomain,skill:async()=>(await import("./skill-RKCTUJHW.js")).skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).
|
|
10
|
-
storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-G2BGSGLA.js")).supplierPaymentDomain,support:async()=>(await import("./support-E3PBMVG4.js")).supportDomain,task:async()=>(await import("./task-N6OVWNAT.js")).taskDomain,teams:async()=>(await import("./teams-QRVCFJS4.js")).teamsDomain,user:async()=>(await import("./user-VODWJQZI.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-7AVII6SV.js")).userContractTypeDomain,wiki:async()=>(await import("./knowledge-VM6P4XDQ.js")).
|
|
11
|
-
wikiDomain,workchange:async()=>(await import("./attendance-lists-357A3O5Y.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-KRMY2RKK.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-GWEN7NSQ.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
package/dist/chunk-6UPLPTBP.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{nonEmpty}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{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 QUALIFICATIONS_PATH="/api/v2/organization/qualifications";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";
|
|
4
|
-
function groupedSkillRows(body){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.
|
|
5
|
-
isArray(group["skills"])?group["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")}
|
|
6
|
-
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}var SKILLS_PATH="/api/v2/organization/skills";async function skillNames(ctx,ids=[]){const map={};try{for(const row of groupedSkillRows(
|
|
7
|
-
await ctx.send({method:"GET",path:GROUPED_PATH}))){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));
|
|
8
|
-
if(missing.length===0)return map;try{const body=await ctx.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`)}
|
|
9
|
-
return map}function matrixSkillIds(matrix){return matrix.flatMap(row=>(Array.isArray(row["skills"])?row["skills"].filter(isRecord):[]).map(skill=>skill["skill_id"]).filter(id=>typeof id==="string"))}async function usersByDepartment(ctx,options={}){const departments={};let cursor;for(let page=0;page<USERS_MAX_PAGES;page++){const body=await ctx.send({method:"GET",path:USERS_LIST_PATH,query:{limit:USERS_PAGE_LIMIT,cursor,department_id:options.departmentId,include_hidden:"true"}});const items=isRecord(
|
|
10
|
-
body)?body["items"]:void 0;if(!Array.isArray(items)){throw new ApiResponseError("\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B items \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}for(const row of items){if(isRecord(row)&&typeof row["user_id"]==="string"){departments[row["user_id"]]=typeof row["department_name"]==="string"?row["department_name"]:null}}if(options.needed!==void 0&&[...options.needed].
|
|
11
|
-
every(id=>Object.hasOwn(departments,id))){return{departments,complete:true}}const next=isRecord(body)?body["next_cursor"]:void 0;if(!(isRecord(body)&&body["has_more"]===true&&typeof next==="string"&&next!=="")){return{departments,complete:true}}cursor=next}return{departments,complete:false}}var FISCAL_YEAR_FLAG={name:"--fiscal-year",summary:"\u5E74\u5EA6\uFF08\u4F8B: 2026\uFF09\u3002\u7701\u7565\u3059\u308B\u3068\u5168\u5E74\u5EA6\u306E\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u304C\u4E26\u3076",takesValue:true,
|
|
12
|
-
placeholder:"<\u5E74\u5EA6>"};function fiscalYear(input){const raw=nonEmpty(input.flags,"--fiscal-year");if(raw===void 0)return void 0;if(!/^\d{4}$/.test(raw)){throw new UsageError(`--fiscal-year \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u897F\u66A64\u6841\u306E\u5E74\u5EA6\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B: --fiscal-year 2026\uFF09")}return raw}function minLevel(input){const raw=nonEmpty(input.flags,"--min-level");if(raw===void 0)
|
|
13
|
-
return 1;if(!/^[1-5]$/.test(raw)){throw new UsageError(`--min-level \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"1\u301C5 \u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u30B9\u30AD\u30EB\u306E\u8A55\u4FA1\u30EC\u30D9\u30EB\u306F1\u301C5\uFF09")}return Number(raw)}function noArgs(input,usage){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}function skillMapPlan(input){
|
|
14
|
-
return{method:"GET",path:SKILL_MAP_PATH,query:{fiscal_year:fiscalYear(input)}}}function matchSkill(rows,ref){const byId=rows.find(row=>row["id"]===ref);if(byId!==void 0)return byId;const lower=ref.toLowerCase();const name=row=>String(row["name"]??"").toLowerCase();const exact=rows.filter(row=>name(row)===lower);const hits=exact.length>0?exact:rows.filter(row=>name(row).includes(lower));if(hits.length===1&&hits[0]!==void 0)return hits[0];if(hits.length===0){throw new UsageError(`\u30B9\u30AD\u30EB\u300C${ref}\
|
|
15
|
-
\u300D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093`,"\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u30B9\u30AD\u30EB\u306F twp skill list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059")}throw new UsageError(`\u30B9\u30AD\u30EB\u300C${ref}\u300D\u306B ${hits.length} \u4EF6\u5F53\u305F\u308A\u307E\u3057\u305F: ${hits.map(row=>`${String(row["name"])}\uFF08${String(row["id"])}\uFF09`).join(" / ")}`,"\u540D\u524D\u3092\u5B8C\u5168\u306B\u66F8\u304F\u304B\u3001ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}
|
|
16
|
-
var SKILL_LIST_COLUMNS=["category_name","id","name","is_active","description"];var listOperation={name:"list",summary:"\u30B9\u30AD\u30EB\u30DE\u30B9\u30BF\u3092\u30AB\u30C6\u30B4\u30EA\u5225\u306B\u4E00\u89A7\u3059\u308B",usage:"twp skill list",description:"GET /api/v2/organization/skills/grouped\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5E38\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F1\u30B9\u30AD\u30EB1\u884C\uFF08category_name / id / name / is_active / description\uFF09\u3067\u3059\u3002\n--output json \u306F\u30AB\u30C6\u30B4\u30EA\u3054\u3068\u306E\u5165\u308C\u5B50\uFF08categories[].category / skills[]\u30FB\u8A55\u4FA1\u57FA\u6E96 evaluation_criteria \u3092\u542B\u3080\uFF09\
|
|
17
|
-
\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\u3002",flags:[],plan(input){noArgs(input,"twp skill list help");return{method:"GET",path:GROUPED_PATH}},summarize:body=>groupedSkillRows(body).map(row=>pick(row,SKILL_LIST_COLUMNS)),raw:body=>groupedCategories(body)};function mapBody(body){if(isRecord(body)&&isRecord(body["response"]))return body;return{response:isRecord(body)?body:{},skillNames:{}}}var MAP_COLUMNS=["user_name","skill_name","level","target_level","user_id","skill_id"];var mapOperation={
|
|
18
|
-
name:"map",summary:"\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\uFF08\u30E6\u30FC\u30B6\u30FC\xD7\u30B9\u30AD\u30EB\u306E\u8A55\u4FA1\u30EC\u30D9\u30EB\uFF09\u3092\u8868\u793A\u3059\u308B\uFF08HR\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp skill map [--fiscal-year <\u5E74\u5EA6>] [--department <\u90E8\u7F72>]",description:"GET /api/v2/organization/skill-map\u3002\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3092\u6301\u3064\u30E6\u30FC\u30B6\u30FC\u3060\u3051\u304C\u8F09\u308A\u307E\u3059\u3002\nlevel \u306F\u78BA\u5B9A\u30EC\u30D9\u30EB\uFF08\u672A\u78BA\u5B9A\u306A\u3089\u81EA\u5DF1\u8A55\u4FA1\u30EC\u30D9\u30EB\u30FB\u3069\u3061\u3089\u3082\u7121\u3051\u308C\u3070\u7A7A\uFF09\u3001target_level \u306F\u76EE\u6A19\u30EC\u30D9\u30EB\u3067\u3059\u3002\n\u884C\u306F\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\uFF08\u30E6\u30FC\u30B6\u30FC\xD7\u5E74\u5EA6\uFF09\u3054\u3068\u306B\u51FA\u308B\u306E\u3067\u3001--fiscal-year \u3092\u7701\u7565\u3059\u308B\u3068\u540C\u3058\u4EBA\u304C\u5E74\u5EA6\u306E\u6570\u3060\u3051\
|
|
19
|
-
\u4E26\u3073\u307E\u3059\u3002\n--department \u306F\u4E3B\u6240\u5C5E\u306E\u90E8\u7F72\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09\u3002\u30B5\u30FC\u30D0\u306E\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u306F\u90E8\u7F72\u3067\u7D5E\u308C\u306A\u3044\u305F\u3081\u3001\n\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\uFF08\u4E3B\u6240\u5C5E\u30FB\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u4EBA\u3082\u542B\u3081\u308B\uFF09\u3092\u5F15\u3044\u3066\u305D\u306E\u90E8\u7F72\u306E\u4EBA\u3060\u3051\u306B\u7D5E\u308A\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u304C\u5F15\u3051\u306A\u3051\u308C\u3070\n\u7D5E\u3089\u305A\u306B\u51FA\u3059\u3053\u3068\u306F\u305B\u305A\u3001\u6B62\u307E\u308A\u307E\u3059\uFF08\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u306F\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n\n--output table / text / tsv \u306F1\u30E6\u30FC\u30B6\u30FC1\u30B9\u30AD\u30EB1\u884C\uFF08user_name / skill_name / level / target_level / user_id / skill_id\uFF09\u3067\u3059\u3002\n--output json \u306F\u30B5\u30FC\u30D0\u306E\u5FDC\u7B54\uFF08matrix\u30FBskill_summary\uFF09\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\uFF08--department \u3067\u7D5E\u3063\u305F\u5834\u5408\u306F matrix \u3060\u3051\u304C\u7D5E\u3089\u308C\u307E\u3059\uFF09\u3002",
|
|
20
|
-
forbidden:HR_FORBIDDEN,flags:[FISCAL_YEAR_FLAG,{name:"--department",summary:"\u4E3B\u6240\u5C5E\u306E\u90E8\u7F72\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"}],async prepare(input,ctx){noArgs(input,"twp skill map help");fiscalYear(input);const department=nonEmpty(input.flags,"--department");if(department===void 0)return input;return withResolved(input,{departmentId:(await ctx.resolver.department(department)).
|
|
21
|
-
id})},plan:skillMapPlan,plannedNotes:input=>["\u3053\u306E\u3042\u3068\u3001\u30B9\u30AD\u30EB\u540D\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u30B9\u30AD\u30EB\u4E00\u89A7\u3092 GET \u3057\u307E\u3059\u3002",...input.flags.has("--department")?["\u90E8\u7F72\u3067\u7D5E\u308B\u305F\u3081\u3001\u305D\u306E\u90E8\u7F72\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\uFF08\u4E3B\u6240\u5C5E\uFF09\u3092 GET \u3057\u307E\u3059\u3002"]:[]],async execute(input,ctx){const response=await ctx.send(skillMapPlan(
|
|
22
|
-
input));let matrix=skillMatrix(response);const departmentId=input.resolved?.["departmentId"];if(departmentId!==void 0){let result;try{result=await usersByDepartment(ctx,{departmentId})}catch(err){if(err instanceof ApiError&&err.status===403){throw new ApiRejectedError(`--department \u3067\u7D5E\u308B\u306B\u306F\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\uFF09\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u3002--department \u3092\u5916\u3057\u3066\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${err.
|
|
23
|
-
message}\uFF09`)}throw err}const{departments,complete}=result;if(!complete){throw new ApiResponseError(`\u90E8\u7F72\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u304C ${USERS_MAX_PAGES*USERS_PAGE_LIMIT} \u4EF6\u3092\u8D85\u3048\u305F\u305F\u3081\u3001\u90E8\u7F72\u3067\u7D5E\u308A\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002--department \u3092\u5916\u3057\u3066\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const before=matrix.length;matrix=matrix.filter(row=>typeof row["user_id"]===
|
|
24
|
-
"string"&&Object.hasOwn(departments,row["user_id"]));const excluded=before-matrix.length;if(excluded>0){ctx.warn(`\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u306E ${before} \u4EBA\u306E\u3046\u3061\u3001\u3053\u306E\u90E8\u7F72\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\uFF08\u5728\u7C4D\u4E2D\u30FB\u4E3B\u6240\u5C5E\uFF09\u306B\u51FA\u306A\u3044 ${excluded} \u4EBA\u3092\u9664\u3044\u3066\u3044\u307E\u3059\uFF08\u4ED6\u90E8\u7F72\u306E\u4EBA\u306E\u307B\u304B\u3001\u5931\u52B9\u30FB\u975E\u8868\u793A\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u542B\u307F\u307E\u3059\uFF09\u3002`)}}
|
|
25
|
-
return{response:{...response,matrix},skillNames:await skillNames(ctx,matrixSkillIds(matrix))}},summarize(body){const{response,skillNames:names}=mapBody(body);return skillMatrix(response).flatMap(row=>{const skills=Array.isArray(row["skills"])?row["skills"].filter(isRecord):[];return skills.map(skill=>pick({...skill,user_id:row["user_id"],user_name:row["user_name"],skill_name:typeof skill["skill_id"]==="string"?names[skill["skill_id"]]??null:null},MAP_COLUMNS))})},raw:body=>mapBody(body).response};
|
|
26
|
-
var WHO_COLUMNS=["user_name","department_name","level","target_level","user_id"];function whoRows(body){const{response,departments}=mapBody(body);const skillId=response["skill_id"];return skillMatrix(response).map(row=>{const skill=(Array.isArray(row["skills"])?row["skills"].filter(isRecord):[]).find(s=>s["skill_id"]===skillId)??{};const userId=row["user_id"];return{user_id:userId,user_name:row["user_name"]??null,department_name:typeof userId==="string"?departments!==void 0&&Object.hasOwn(departments,
|
|
27
|
-
userId)?departments[userId]:null:null,skill_id:skillId,level:skill["level"]??null,target_level:skill["target_level"]??null}})}var whoOperation={name:"who",summary:"\u6307\u5B9A\u3057\u305F\u30B9\u30AD\u30EB\u3092\u6301\u3064\u30E6\u30FC\u30B6\u30FC\u3092\u6240\u5C5E\u4ED8\u304D\u3067\u51FA\u3059\uFF08HR\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp skill who --skill <\u30B9\u30AD\u30EB> [--min-level <1\u301C5>] [--fiscal-year <\u5E74\u5EA6>]",description:"\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\uFF08GET /api/v2/organization/skill-\
|
|
28
|
-
map\uFF09\u304B\u3089\u3001\u6307\u5B9A\u3057\u305F\u30B9\u30AD\u30EB\u306E\u8A55\u4FA1\u30EC\u30D9\u30EB\u304C --min-level\uFF08\u65E2\u5B9A 1\uFF09\u4EE5\u4E0A\u306E\n\u30E6\u30FC\u30B6\u30FC\u3092\u30EC\u30D9\u30EB\u306E\u9AD8\u3044\u9806\u306B\u51FA\u3057\u307E\u3059\u3002level \u306F\u78BA\u5B9A\u30EC\u30D9\u30EB\uFF08\u672A\u78BA\u5B9A\u306A\u3089\u81EA\u5DF1\u8A55\u4FA1\u30EC\u30D9\u30EB\uFF09\u3067\u3001\u3069\u3061\u3089\u3082\u7121\u3044\u4EBA\u306F\u51FA\u3057\u307E\u305B\u3093\u3002\n\u884C\u306F\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\uFF08\u30E6\u30FC\u30B6\u30FC\xD7\u5E74\u5EA6\uFF09\u3054\u3068\u306A\u306E\u3067\u3001--fiscal-year \u3092\u7701\u7565\u3059\u308B\u3068\u540C\u3058\u4EBA\u304C\u5E74\u5EA6\u306E\u6570\u3060\u3051\u4E26\u3073\u307E\u3059\u3002\n--skill \u306F ID \u304B\u540D\u524D\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF08\u5B8C\u5168\u4E00\u81F4 \u2192 \u90E8\u5206\u4E00\u81F4\u30671\u4EF6\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF09\u3002\n\u30B5\u30FC\u30D0\u306B\u6A2A\u65AD\u691C\u7D22\u306E API \u306F\u7121\u3044\u305F\u3081\u3001\u30B9\u30AD\u30EB\u4E00\u89A7\u30FB\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u30FB\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\uFF08\u6240\u5C5E\u306E\u8868\u793A\u7528\uFF09\u3092\u9806\u306B GET \u3057\u3066 CLI \u3067\u7D5E\u308A\u307E\u3059\u3002\n\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u304C\u5F15\u3051\u306A\u3044\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u7B49\uFF09\u3068\u304D\u306F department_name \u3092\u7A7A\u6B04\u306B\u3057\u3066\u3001\u305D\u306E\u65E8\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\n--output json \u306F\u8A72\u5F53\u8005\u306E\u884C\uFF08user_id / user_name / department_name / skill_id / level / target_level\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002\n\u8CC7\u683C\u306E\u4FDD\u6709\u8005\u306E\u6A2A\u65AD\u691C\u7D22\uFF08twp qualification who\uFF09\u306F\u30B5\u30FC\u30D0\u306B AP\
|
|
29
|
-
I \u304C\u7121\u3044\u305F\u3081\u3001\u307E\u3060\u3042\u308A\u307E\u305B\u3093\u3002",forbidden:HR_FORBIDDEN,flags:[{name:"--skill",summary:"\u5BFE\u8C61\u306E\u30B9\u30AD\u30EB\uFF08ID\u30FB\u540D\u524D\uFF09",takesValue:true,placeholder:"<\u30B9\u30AD\u30EB>"},{name:"--min-level",summary:"\u3053\u306E\u8A55\u4FA1\u30EC\u30D9\u30EB\u4EE5\u4E0A\u306E\u4EBA\u3060\u3051\u51FA\u3059\uFF081\u301C5\u30FB\u65E2\u5B9A 1\uFF09",takesValue:true,placeholder:"<1\u301C5>"},FISCAL_YEAR_FLAG],plan(input){noArgs(
|
|
30
|
-
input,"twp skill who help");if(nonEmpty(input.flags,"--skill")===void 0){throw new UsageError("--skill \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp skill who --skill <\u30B9\u30AD\u30EB> [--min-level <1\u301C5>]")}minLevel(input);return skillMapPlan(input)},plannedNotes:()=>["\u3053\u306E\u524D\u306B\u3001--skill \u3092\u89E3\u6C7A\u3059\u308B\u305F\u3081\u30B9\u30AD\u30EB\u4E00\u89A7\u3092 GET \u3057\u307E\u3059\u3002","\u3053\u306E\u3042\u3068\u3001\u6240\u5C5E\u3092\u8868\u793A\u3059\u308B\u305F\u3081\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u3092 GET \u3057\u307E\u3059\u3002"],
|
|
31
|
-
async execute(input,ctx){const ref=nonEmpty(input.flags,"--skill");const threshold=minLevel(input);const skill=matchSkill(groupedSkillRows(await ctx.send({method:"GET",path:GROUPED_PATH})),ref);const skillId=String(skill["id"]);const response=await ctx.send(skillMapPlan(input));const level=row=>{const hit=(Array.isArray(row["skills"])?row["skills"].filter(isRecord):[]).find(s=>s["skill_id"]===skillId);return typeof hit?.["level"]==="number"?hit["level"]:0};const matrix=skillMatrix(response).filter(
|
|
32
|
-
row=>level(row)>=threshold).sort((a,b)=>level(b)-level(a));let departments;if(matrix.length>0){try{const needed=new Set(matrix.map(row=>String(row["user_id"])));const result=await usersByDepartment(ctx,{needed});const found=result.departments;departments=found;const unresolved=[...needed].filter(id=>!Object.hasOwn(found,id)).length;if(unresolved>0){ctx.warn(`${unresolved} \u4EBA\u306E\u6240\u5C5E\u3092\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u304B\u3089\u5F15\u3051\u306A\u304B\u3063\u305F\u305F\u3081\u3001department_name \u306F\u7A7A\u6B04\u3067\u3059\uFF08\u975E\u8868\u793A\u30FB\u5931\u52B9\u306E\u30E6\u30FC\u30B6\u30FC\u3001\u307E\u305F\u306F\u4E00\u89A7\u306E\u4E0A\u9650\u8D85\u3048\uFF09\u3002`)}}catch(err){
|
|
33
|
-
ctx.warn(`\u6240\u5C5E\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001department_name \u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.message}\uFF09\u3002`)}}return{response:{...response,skill_id:skillId,skill_name:skill["name"]??null,matrix},skillNames:{},departments}},summarize:body=>whoRows(body).map(row=>pick(row,WHO_COLUMNS)),raw:body=>whoRows(body),notes(body){const{response}=mapBody(body);if(skillMatrix(response).length>0)return[];return[`\u30B9\u30AD\u30EB\u300C${String(
|
|
34
|
-
response["skill_name"]??response["skill_id"])}\u300D\u3067\u6761\u4EF6\u306B\u5F53\u305F\u308B\u30E6\u30FC\u30B6\u30FC\u306F\u3044\u307E\u305B\u3093\uFF08\u30B9\u30AD\u30EB\u30DE\u30C3\u30D7\u306B\u8F09\u308B\u306E\u306F\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3092\u6301\u3064\u30E6\u30FC\u30B6\u30FC\u3060\u3051\u3067\u3059\uFF09\u3002`]}};var PROFILES_PATH="/api/v2/organization/user-skill-profiles";var SELF_EVALUATE_MAX_CHARS=1e6;var SELF_COMMENT_MAX=2e3;var POLICY_MAX=5e3;var SELF_EVALUATE_HELP='\
|
|
35
|
-
\u5185\u5BB9\uFF08--content-file\uFF09\u306F\u30B5\u30FC\u30D0\u304C\u53D7\u3051\u308B\u5F62\u306E JSON \u3067\u3059\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09:\n {"skills": [{"skill_id": "<\u30B9\u30AD\u30EBID>", "self_level": 1\u301C5, "self_comment": "\u4EFB\u610F\u30FB2,000\u5B57\u307E\u3067"}],\n "skill_up_policy": "\u4EFB\u610F\u30FB\u30B9\u30AD\u30EB\u30A2\u30C3\u30D7\u65B9\u91DD\u30FB5,000\u5B57\u307E\u3067"}\n skill_up_policy \u306F\u30AD\u30FC\u3092\u7701\u3051\u3070\u4ECA\u306E\u65B9\u91DD\u306E\u307E\u307E\u3001\u7A7A\u6587\u5B57\u304B null \u3092\u66F8\u304F\u3068\u6D88\u3048\u307E\u3059\u3002\n skill_id \u3068\u73FE\u5728\u306E\u8A55\u4FA1\u306F twp user skills me \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF08--output json \u306E skills[].skill_id\uFF09\u3002\n \u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u7121\u3044\u30B9\u30AD\u30EB\u30FB\u77E5\u3089\u306A\u3044\u30AD\u30FC\u306F\u9001\u308B\u524D\u306B\u6B62\u3081\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u524D\u8005\u3092\u9ED9\u3063\u3066\u7121\u8996\u3059\u308B\u305F\u3081\uFF09\u3002\n \u9001\u3089\u306A\u304B\u3063\u305F\u30B9\u30AD\u30EB\u306F\u4ECA\u306E\u81EA\u5DF1\u8A55\u4FA1\u306E\u307E\u307E\u63D0\u51FA\u3055\u308C\u3001\u307E\u3060\u5024\u306E\u7121\u3044\u3082\u306E\u306F\u9001\u308B\u524D\u306B stderr \u3067\u6319\u3052\u307E\u3059\u3002';
|
|
36
|
-
function profileIdArg(input){const[raw,...rest]=input.args;const id=raw?.trim()??"";const usage="twp skill self-evaluate <\u30D7\u30ED\u30D5\u30A1\u30A4\u30EBID> --content-file <JSON> --yes";if(id==="")throw new UsageError("\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`${usage}\uFF08ID \u306F twp user skills me \u306E profile_id \u5217\uFF09`);if(rest.length>0)throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.
|
|
37
|
-
join(" ")}`,usage);if(!isSafePathSegment(id))throw new UsageError(`\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB ID \u306B\u4F7F\u3048\u306A\u3044\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059: ${id}`,usage);return encodeURIComponent(id)}function parseSelfEvaluation(text){let parsed;try{parsed=JSON.parse(text)}catch(err){throw new UsageError(`--content-file \u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${err.message}\uFF09`,SELF_EVALUATE_HELP)}if(!isRecord(parsed))throw new UsageError(
|
|
38
|
-
"--content-file \u306F JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",SELF_EVALUATE_HELP);const problems=[];for(const key of Object.keys(parsed)){if(key!=="skills"&&key!=="skill_up_policy")problems.push(`\u77E5\u3089\u306A\u3044\u30AD\u30FC: ${key}`)}const skills=parsed["skills"];if(!Array.isArray(skills)||skills.length===0){problems.push("skills \u306F1\u4EF6\u4EE5\u4E0A\u306E\u914D\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}else{
|
|
39
|
-
const seen=new Set;skills.forEach((row,index)=>{const at=`skills[${index}]`;if(!isRecord(row)){problems.push(`${at} \u304C\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093`);return}for(const key of Object.keys(row)){if(!["skill_id","self_level","self_comment"].includes(key))problems.push(`\u77E5\u3089\u306A\u3044\u30AD\u30FC: ${at}.${key}`)}const skillId=row["skill_id"];if(typeof skillId!=="string"||skillId.trim()==="")problems.push(`${at}.skill_id \u304C\u3042\u308A\u307E\u305B\u3093`);else if(seen.
|
|
40
|
-
has(skillId))problems.push(`${at}.skill_id ${skillId} \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059`);else seen.add(skillId);const level=row["self_level"];if(!(typeof level==="number"&&Number.isInteger(level)&&level>=1&&level<=5)){problems.push(`${at}.self_level \u306F 1\u301C5 \u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${JSON.stringify(level)}\uFF09`)}const comment=row["self_comment"];if(comment!==void 0&&comment!==null){if(typeof comment!=="string")problems.
|
|
41
|
-
push(`${at}.self_comment \u306F\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`);else if([...comment].length>SELF_COMMENT_MAX)problems.push(`${at}.self_comment \u304C ${SELF_COMMENT_MAX} \u6587\u5B57\u3092\u8D85\u3048\u3066\u3044\u307E\u3059`)}})}const policy=parsed["skill_up_policy"];if(policy!==void 0&&policy!==null){if(typeof policy!=="string")problems.push("skill_up_policy \u306F\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");else if([...policy].
|
|
42
|
-
length>POLICY_MAX)problems.push(`skill_up_policy \u304C ${POLICY_MAX} \u6587\u5B57\u3092\u8D85\u3048\u3066\u3044\u307E\u3059`)}if(problems.length>0){throw new UsageError(`--content-file \u3092\u76F4\u3057\u3066\u304F\u3060\u3055\u3044:
|
|
43
|
-
${problems.join("\n ")}`,SELF_EVALUATE_HELP)}return parsed}function selfEvaluatePlan(input){const content=input.resolved?.["content"];if(content===void 0)throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: content \u304C\u89E3\u6C7A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08prepare() \u306E\u914D\u7DDA\u6F0F\u308C\uFF09");return{method:"POST",path:`${PROFILES_PATH}/${profileIdArg(input)}/self-evaluate`,body:JSON.parse(content)}}var selfEvaluateOperation={name:"self-evaluate",summary:"\u81EA\u5206\u306E\u30B9\u30AD\u30EB\
|
|
44
|
-
\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u81EA\u5DF1\u8A55\u4FA1\u3092\u5165\u308C\u3066\u63D0\u51FA\u3059\u308B\uFF08\u53D6\u308A\u6D88\u305B\u306A\u3044\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp skill self-evaluate <\u30D7\u30ED\u30D5\u30A1\u30A4\u30EBID> --content-file <JSON> --yes",description:"POST /api/v2/organization/user-skill-profiles/{id}/self-evaluate\u3002\u753B\u9762\u306E\u300C\u81EA\u5DF1\u8A55\u4FA1\u3092\u9001\u4FE1\u300D\u3068\u540C\u3058\u64CD\u4F5C\u3067\u3059\u3002\n\u9001\u4FE1\u3059\u308B\u3068\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306F\u300C\u4E0B\u66F8\u304D\u300D\uFF08draft\uFF09\u304B\u3089\u300C\u81EA\u5DF1\u8A55\u4FA1\u6E08\u307F\u300D\uFF08self_evaluated\uFF09\u3078\u9032\u307F\u3001\u4E0A\u9577\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059\u3002\n\u9001\u4FE1\u5F8C\u306F\u81EA\u5206\u3067\u306F\u76F4\u305B\u306A\u3044\u306E\u3067 --yes \u304C\u8981\u308A\u307E\u3059\u3002\u81EA\u5DF1\u8A55\u4FA1\u3067\u304D\u308B\u306E\u306F\u672C\u4EBA\u306E\u30D7\
|
|
45
|
-
\u30ED\u30D5\u30A1\u30A4\u30EB\u304C draft \u306E\u3068\u304D\u3060\u3051\u3067\u3059\u3002\n\u9001\u308B\u524D\u306B\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3092 GET \u3057\u3001\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u7121\u3044\u30B9\u30AD\u30EB\u3092\u6B62\u3081\u3001\u9001\u3089\u306A\u304B\u3063\u305F\u30B9\u30AD\u30EB\u3092 stderr \u306B\u6319\u3052\u307E\u3059\u3002\n\n"+SELF_EVALUATE_HELP,destructive:true,confirmation:"\u9001\u4FE1\u5F8C\u306F\u53D6\u308A\u6D88\u305B\u305A\u3001\u4E0A\u9577\u3078\u901A\u77E5\u304C\u5C4A\u304F\u64CD\u4F5C",
|
|
46
|
-
forbidden:"\u81EA\u5DF1\u8A55\u4FA1\u306F\u672C\u4EBA\u306E\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u3060\u3051\u9001\u308C\u307E\u3059\uFF08\u4ED6\u4EBA\u306E\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u306F\u9001\u308C\u307E\u305B\u3093\uFF09",flags:[{name:"--content-file",summary:"\u81EA\u5DF1\u8A55\u4FA1\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"}],async prepare(input){profileIdArg(input);const text=await readBody(
|
|
47
|
-
input,{flag:"--content",fileFlag:"--content-file",label:"\u81EA\u5DF1\u8A55\u4FA1\u306E\u5185\u5BB9",maxChars:SELF_EVALUATE_MAX_CHARS,usage:"twp skill self-evaluate <\u30D7\u30ED\u30D5\u30A1\u30A4\u30EBID> --content-file <JSON> --yes"});if(text===void 0)throw new UsageError("--content-file \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",SELF_EVALUATE_HELP);return withResolved(input,{content:JSON.stringify(parseSelfEvaluation(text))})},plan:selfEvaluatePlan,plannedNotes:input=>{const content=JSON.
|
|
48
|
-
parse(input.resolved?.["content"]??'{"skills":[]}');return[`\u3053\u306E\u524D\u306B\u3001\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3092 GET \u3057\u3066\u9001\u308B ${content.skills.length} \u4EF6\u306E\u30B9\u30AD\u30EB\u304C\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u3042\u308B\u304B\u3092\u78BA\u304B\u3081\u307E\u3059\u3002`,"\u9001\u4FE1\u3059\u308B\u3068\u81EA\u5DF1\u8A55\u4FA1\u6E08\u307F\u306B\u306A\u308A\u3001\u4E0A\u9577\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059\uFF08\u81EA\u5206\u3067\u306F\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09\u3002"]},
|
|
49
|
-
async execute(input,ctx){const plan=selfEvaluatePlan(input);const profileBody=await ctx.send({method:"GET",path:`${PROFILES_PATH}/${profileIdArg(input)}`});const profile=isRecord(profileBody)?profileBody["user_skill_profile"]:void 0;if(!isRecord(profile)){throw new ApiResponseError("\u30B9\u30AD\u30EB\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u5FDC\u7B54\u306B user_skill_profile \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
50
|
-
if(profile["status"]!=="draft"){throw new ApiRejectedError(`\u3053\u306E\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306F\u300C${String(profile["status"])}\u300D\u306A\u306E\u3067\u81EA\u5DF1\u8A55\u4FA1\u3067\u304D\u307E\u305B\u3093\uFF08\u81EA\u5DF1\u8A55\u4FA1\u306F draft \u306E\u3068\u304D\u3060\u3051\u3067\u3059\u3002\u73FE\u5728\u306E\u72B6\u614B\u306F twp user skills me \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09`)}const profileSkillIds=(Array.isArray(profile["skills"])?profile["skills"]:[]).
|
|
51
|
-
filter(isRecord).map(skill=>skill["skill_id"]).filter(id=>typeof id==="string");const sent=(plan.body.skills??[]).map(skill=>String(skill["skill_id"]));const unknown=sent.filter(id=>!profileSkillIds.includes(id));if(unknown.length>0){throw new UsageError(`\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306B\u7121\u3044\u30B9\u30AD\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059: ${unknown.join(" / ")}`,`\u3053\u306E\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u306E\u30B9\u30AD\u30EB\u306F ${profileSkillIds.
|
|
52
|
-
join(" / ")||"\uFF08\u306A\u3057\uFF09"} \u3067\u3059\uFF08twp user skills me --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09`)}const blank=(Array.isArray(profile["skills"])?profile["skills"]:[]).filter(isRecord).filter(skill=>typeof skill["skill_id"]==="string"&&!sent.includes(skill["skill_id"])&&(skill["self_level"]??null)===null).map(skill=>String(skill["skill_id"]));if(blank.length>0){ctx.warn(`\u9001\u3089\u306A\u304B\u3063\u305F\u30B9\u30AD\u30EB\u306F\u81EA\u5DF1\u8A55\u4FA1\u304C\u672A\u5165\u529B\u306E\u307E\u307E\u63D0\u51FA\u3055\u308C\u307E\u3059: ${blank.
|
|
53
|
-
join(" / ")}`)}return ctx.send(plan)},summarize:body=>{const profile=isRecord(body)&&isRecord(body["user_skill_profile"])?body["user_skill_profile"]:{};return{message:isRecord(body)?body["message"]??null:null,id:profile["id"]??null,status:profile["status"]??null,fiscal_year:profile["fiscal_year"]??null}},raw:body=>{if(!isRecord(body)||body["result"]!==true||!isRecord(body["user_skill_profile"])){throw new ApiResponseError("\u81EA\u5DF1\u8A55\u4FA1\u306E\u5FDC\u7B54\u306B user_skill_profile \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
54
|
-
return body["user_skill_profile"]}};var skillDomain={name:"skill",summary:"\u30B9\u30AD\u30EB\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\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,mapOperation,whoOperation,selfEvaluateOperation]};var QUALIFICATION_COLUMNS=["id","name","abbreviation","category","difficulty","is_recommended","is_active"];var qualificationDomain={
|
|
55
|
-
name:"qualification",summary:"\u8CC7\u683C\u30DE\u30B9\u30BF\u306E\u4E00\u89A7",operations:[{name:"list",summary:"\u8CC7\u683C\u30DE\u30B9\u30BF\u3092\u4E00\u89A7\u3059\u308B",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 \
|
|
56
|
-
--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",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:"\
|
|
57
|
-
--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",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,
|
|
58
|
-
"--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)}]};export{groupedSkillRows,skillMatrix,skillNames,FISCAL_YEAR_FLAG,fiscalYear,matchSkill,parseSelfEvaluation,skillDomain,qualificationDomain};
|
package/dist/skill-RKCTUJHW.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{FISCAL_YEAR_FLAG,fiscalYear,groupedSkillRows,matchSkill,parseSelfEvaluation,qualificationDomain,skillDomain,skillMatrix,skillNames}from"./chunk-6UPLPTBP.js";import"./chunk-MI6HVYR2.js";import"./chunk-6LSQCOCJ.js";import"./chunk-MVZFZAT4.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";
|
|
4
|
-
import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{FISCAL_YEAR_FLAG,fiscalYear,groupedSkillRows,matchSkill,parseSelfEvaluation,qualificationDomain,skillDomain,skillMatrix,skillNames};
|