@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
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{parseCsvRecords}from"./chunk-DYNNGNXR.js";import{importRejection}from"./chunk-JIOZ47AX.js";import{decodeCsvText}from"./chunk-QLENN5DD.js";import"./chunk-YA7W7OV4.js";import"./chunk-2YVJ3QVJ.js";import"./chunk-EXT4AIDF.js";import"./chunk-FHOJFKR3.js";import"./chunk-JJSBBWJ5.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";
|
|
4
|
+
import{ApiError,MultipartBody}from"./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";import"./chunk-NHYMHCAT.js";
|
|
5
|
+
import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var NAME="holiday";var LABEL="\u795D\u65E5";var READ_PATH="/api/v2/holidays";var ADMIN_PATH="/api/v2/admin/tenant/holidays";var DATE_RE=/^\d{4}-\d{2}-\d{2}$/;var YEAR_RE=/^\d{4}$/;var NAME_MAX=100;var IMPORT_MAX_BYTES=1024*1024;var SHOWN_DIFF=30;var COLUMNS=["date","name"];var IMPACT="\u795D\u65E5\u306F\u52E4\u6020\u306E\u96C6\u8A08\uFF08\u4F11\u65E5\u52B4\u50CD\u30FB\u6240\u5B9A\u65E5\u6570\uFF09\u3068\u55B6\u696D\u65E5\u6570\u306E\u8A08\u7B97\u306B\u52B9\u304D\u307E\u3059\u3002\u7DE0\u3081\u6E08\u307F\u306E\u6708\u306E\u795D\u65E5\u3092\u5909\u3048\u3066\u3082\u3001\u7DE0\u3081\u305F\u96C6\u8A08\u306F\u81EA\u52D5\u3067\u306F\u76F4\u308A\u307E\u305B\u3093\u3002";
|
|
6
|
+
var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FBCSV \u306E\u51FA\u3057\u5165\u308C\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;var DATE_FLAG={name:"--date",summary:"\u5BFE\u8C61\u306E\u65E5\u4ED8\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var NAME_FLAG={name:"--name",summary:`\u795D\u65E5\u540D\uFF08${NAME_MAX}\
|
|
7
|
+
\u6587\u5B57\u4EE5\u5185\u30FB\u5FC5\u9808\uFF09`,takesValue:true,placeholder:"<\u795D\u65E5\u540D>"};var YEAR_FLAG={name:"--year",summary:"\u5BFE\u8C61\u306E\u5E74\uFF08YYYY\uFF09",takesValue:true,placeholder:"<YYYY>"};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",
|
|
8
|
+
takesValue:false};function usageOf(op){return`twp ${NAME} ${op} help`}function noArgs(input,op){if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usageOf(op))}function isCalendarDate(value){if(!DATE_RE.test(value))return false;const[y,m,d]=value.split("-").map(Number);const date=new Date(Date.UTC(y,m-1,d));return date.getUTCFullYear()===y&&date.getUTCMonth()===m-1&&date.getUTCDate()===d}function holidayDate(input,op){
|
|
9
|
+
const date=singleRef(input,{flag:DATE_FLAG.name,label:"\u65E5\u4ED8",usage:usageOf(op)});if(!isCalendarDate(date))throw new UsageError(`\u65E5\u4ED8\u306F YYYY-MM-DD \u306E\u5B9F\u5728\u3059\u308B\u65E5\u4ED8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${date}`,`\u4F8B: twp ${NAME} ${op} 2026-12-28`);return date}function dateFlag(input,flag,op){const raw=nonEmpty(input.flags,flag);if(raw===void 0)throw new UsageError(`${flag} <YYYY-MM-DD> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,
|
|
10
|
+
usageOf(op));const value=raw.trim();if(!isCalendarDate(value))throw new UsageError(`${flag} \u306F YYYY-MM-DD \u306E\u5B9F\u5728\u3059\u308B\u65E5\u4ED8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(op));return value}function holidayName(input,op){const raw=nonEmpty(input.flags,NAME_FLAG.name);if(raw===void 0)throw new UsageError(`${NAME_FLAG.name} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usageOf(op));const name=raw.trim();if([...name].length>NAME_MAX)throw new UsageError(
|
|
11
|
+
`${NAME_FLAG.name} \u306F ${NAME_MAX} \u6587\u5B57\u4EE5\u5185\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${[...name].length} \u6587\u5B57\uFF09`,usageOf(op));return name}function yearFlag(input,op){const raw=nonEmpty(input.flags,YEAR_FLAG.name);if(raw===void 0)return void 0;const value=raw.trim();if(!YEAR_RE.test(value))throw new UsageError(`--year \u306F4\u6841\u306E\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(op));return value}function envelope(body,what){
|
|
12
|
+
if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function rows(body){const list=envelope(body,`${LABEL}\u4E00\u89A7`)["holidays"];if(!Array.isArray(list)||!list.every(isRecord))throw new ApiResponseError(`${LABEL}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B holidays \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
13
|
+
return list}function item(body){const holiday=envelope(body,LABEL)["holiday"];if(!isRecord(holiday)||typeof holiday["date"]!=="string")throw new ApiResponseError(`${LABEL}\u306E\u5FDC\u7B54\u306B holiday \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return holiday}var itemPath=date=>`${ADMIN_PATH}/${date}`;function parseHolidayCsv(text,replaceYear){const records=parseCsvRecords(text).filter(r=>!(r.cells.length===1&&r.cells[0]===
|
|
14
|
+
""));const[head,...body]=records;if(head===void 0)throw new UsageError("CSV \u304C\u7A7A\u3067\u3059\uFF081\u884C\u76EE\u306B date,name \u306E\u898B\u51FA\u3057\u304C\u8981\u308A\u307E\u3059\uFF09");const header=head.cells.map(c=>c.trim());const dateCol=header.indexOf("date");const nameCol=header.indexOf("name");if(dateCol<0||nameCol<0)throw new UsageError(`CSV \u306E1\u884C\u76EE\u306B date \u3068 name \u306E\u898B\u51FA\u3057\u304C\u8981\u308A\u307E\u3059\uFF08\u53D7\u3051\u53D6\u3063\u305F\u898B\u51FA\u3057: ${header.
|
|
15
|
+
join(",")}\uFF09`);const errors=[];const holidays=[];for(const record of body){const date=(record.cells[dateCol]??"").trim();const name=(record.cells[nameCol]??"").trim();if(date===""||name===""){errors.push(`${record.line}\u884C\u76EE: date\u3068name\u306F\u5FC5\u9808\u3067\u3059\u3002`)}else if(!DATE_RE.test(date)){errors.push(`${record.line}\u884C\u76EE: \u65E5\u4ED8\u306E\u5F62\u5F0F\u304C\u4E0D\u6B63\u3067\u3059\uFF08YYYY-MM-DD\uFF09\u3002`)}else if(replaceYear!==void 0&&date.slice(0,4)!==replaceYear){
|
|
16
|
+
errors.push(`${record.line}\u884C\u76EE: \u6307\u5B9A\u5E74\uFF08${replaceYear}\uFF09\u4EE5\u5916\u306E\u65E5\u4ED8\u306F\u542B\u3081\u306A\u3044\u3067\u304F\u3060\u3055\u3044\u3002`)}else{holidays.push({date,name})}}if(errors.length>0)throw new UsageError(`CSV \u306B\u8AA4\u308A\u304C ${errors.length} \u4EF6\u3042\u308A\u307E\u3059\uFF08\u9001\u3063\u3066\u3044\u307E\u305B\u3093\uFF09:
|
|
17
|
+
${errors.join("\n ")}`);if(holidays.length===0)throw new UsageError("CSV \u306B\u53D6\u308A\u8FBC\u3080\u884C\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u898B\u51FA\u3057\u3060\u3051\u3067\u3059\uFF09");return holidays}function holidayDiff(incoming,existing,replaceYear){const final=new Map(incoming.map(h=>[h.date,h.name]));const current=new Map(existing.map(h=>[h.date,h.name]));const added=[];const renamed=[];let unchanged=0;for(const[date,name]of[...final].sort(([a],[b])=>a.localeCompare(b))){
|
|
18
|
+
const before=current.get(date);if(before===void 0)added.push({date,name});else if(before!==name)renamed.push({date,from:before,to:name});else unchanged+=1}const removed=replaceYear===void 0?[]:existing.filter(h=>h.date.startsWith(`${replaceYear}-`)&&!final.has(h.date)).sort((a,b)=>a.date.localeCompare(b.date));return{added,renamed,unchanged,removed}}function diffNotes(diff){const changes=diff.added.length+diff.renamed.length+diff.removed.length;const lines=[`\u5DEE\u5206: \u8FFD\u52A0 ${diff.added.
|
|
19
|
+
length} \u4EF6\u30FB\u540D\u524D\u306E\u5909\u66F4 ${diff.renamed.length} \u4EF6\u30FB\u6D88\u3048\u308B ${diff.removed.length} \u4EF6\u30FB\u5909\u5316\u306A\u3057 ${diff.unchanged} \u4EF6`];if(changes===0){lines.push("\u4ECA\u306E\u795D\u65E5\u3068\u540C\u3058\u3067\u3059\uFF08\u9001\u3063\u3066\u3082\u4F55\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002");return lines}const detail=[...diff.added.map(h=>` + ${h.date} ${h.name}`),...diff.renamed.map(h=>` ~ ${h.date} ${h.from} \u2192 ${h.
|
|
20
|
+
to}`),...diff.removed.map(h=>` - ${h.date} ${h.name}`)];lines.push(...detail.slice(0,SHOWN_DIFF));if(detail.length>SHOWN_DIFF)lines.push(` \u2026\u307B\u304B ${detail.length-SHOWN_DIFF} \u4EF6`);return lines}async function existingHolidays(ctx,years){const all=[];for(const year of years){const body=await ctx.resolver.salesJson(`${READ_PATH}?year=${year}`,`${year} \u5E74\u306E${LABEL}`);for(const row of rows(body))all.push({date:String(row["date"]),name:String(row["name"]??"")})}return all}var IMPORT_OP=[
|
|
21
|
+
"im","port"].join("");function importMode(input){const raw=nonEmpty(input.flags,"--mode")??"append";if(raw!=="append"&&raw!=="replace")throw new UsageError(`--mode \u306F append \u304B replace \u3067\u3059: ${raw}`,usageOf(IMPORT_OP));const year=yearFlag(input,IMPORT_OP);if(raw==="replace"&&year===void 0)throw new UsageError("--mode replace \u306B\u306F --year <YYYY> \u304C\u8981\u308A\u307E\u3059\uFF08\u305D\u306E\u5E74\u306E\u795D\u65E5\u3092\u5168\u90E8\u6D88\u3057\u3066\u304B\u3089\u53D6\u308A\u8FBC\u307F\u307E\u3059\uFF09",
|
|
22
|
+
usageOf(IMPORT_OP));if(raw==="append"&&year!==void 0)throw new UsageError("--year \u306F --mode replace \u306E\u3068\u304D\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059",usageOf(IMPORT_OP));return{mode:raw,year}}async function prepareImport(input,ctx){const usage=usageOf(IMPORT_OP);noArgs(input,IMPORT_OP);const{mode,year}=importMode(input);const file=nonEmpty(input.flags,"--file");if(file===void 0)throw new UsageError("--file <CSV> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);
|
|
23
|
+
let bytes;try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`--file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>IMPORT_MAX_BYTES)throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\u30FB\u30B5\u30FC\u30D0\u304C\u53D7\u3051\u308B\u306E\u306F ${IMPORT_MAX_BYTES} \u30D0\u30A4\u30C8\u307E\u3067\uFF09: ${file}`,
|
|
24
|
+
usage);bytes=fs.readFileSync(file)}catch(err){if(err instanceof UsageError)throw err;throw new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${err.code??err.message}\uFF09`,usage)}const incoming=parseHolidayCsv(decodeCsvText(bytes),year);const years=[...new Set([...incoming.map(h=>h.date.slice(0,4)),...year===void 0?[]:[year]])].sort();const diff=holidayDiff(incoming,await existingHolidays(ctx,years),year);const notes=[mode==="replace"?`--mod\
|
|
25
|
+
e replace: ${year} \u5E74\u306E\u795D\u65E5\u3092\u5168\u90E8\u6D88\u3057\u3066\u304B\u3089\u3001CSV \u306E ${incoming.length} \u884C\u3092\u53D6\u308A\u8FBC\u307F\u307E\u3059\u3002`:`--mode append: CSV \u306E ${incoming.length} \u884C\u3092\u53D6\u308A\u8FBC\u307F\u307E\u3059\uFF08\u540C\u3058\u65E5\u4ED8\u306E\u795D\u65E5\u306F\u540D\u524D\u304C\u4E0A\u66F8\u304D\u3055\u308C\u3001CSV \u306B\u7121\u3044\u795D\u65E5\u306F\u6B8B\u308A\u307E\u3059\uFF09\u3002`,...diffNotes(diff),IMPACT];return withResolved(
|
|
26
|
+
input,{fileName:path.basename(file),fileBase64:bytes.toString("base64"),notes:JSON.stringify(notes)})}function importPlan(input){const{mode,year}=importMode(input);const bytes=Buffer.from(requireResolved(input,"fileBase64"),"base64");return{method:"POST",path:`${ADMIN_PATH}/import`,body:new MultipartBody({mode,...year===void 0?{}:{year}},[{field:"file",filename:requireResolved(input,"fileName"),contentType:"text/csv",bytes:new Uint8Array(bytes)}])}}async function runImport(input,ctx){let body;try{
|
|
27
|
+
body=await ctx.send(importPlan(input))}catch(err){const rejected=importRejection(err);if(rejected!==void 0)throw rejected;if(!(err instanceof ApiError)||err.status>=500){ctx.warn(`\u53D6\u308A\u8FBC\u307F\u306E\u9014\u4E2D\u3067\u5931\u6557\u3057\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u4E00\u90E8\u306E\u795D\u65E5\u304C\u6D88\u3048\u305F\u30FB\u66F8\u304B\u308C\u305F\u3053\u3068\u304C\u3042\u308B\u306E\u3067\u3001twp ${NAME} list --year \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
28
|
+
throw err}const result=envelope(body,`${LABEL}\u306E\u53D6\u308A\u8FBC\u307F`);return{holidayImport:true,imported_count:result["imported_count"]??null,message:result["message"]??null}}function isImportOutcome(body){return isRecord(body)&&body["holidayImport"]===true}var holidayDomain={name:NAME,summary:`${LABEL}\uFF08\u30AB\u30EC\u30F3\u30C0\u30FC\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FBCSV \u306E\u51FA\u3057\u5165\u308C\u3068\u3001\u55B6\u696D\u65E5\u6570\u306E\u8A08\u7B97\uFF09`,
|
|
29
|
+
operations:[{name:"list",summary:`${LABEL}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u5E74\u3054\u3068\uFF09`,usage:`twp ${NAME} list [--year <YYYY>]`,description:`GET ${READ_PATH}\u3002--year \u3092\u7701\u304F\u3068\u30B5\u30FC\u30D0\u306E\u4ECA\u5E74\u3067\u3059\u3002\u305D\u306E\u5E74\u306E\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\uFF08\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`,flags:[YEAR_FLAG],plan(input){noArgs(input,"list");return{method:"GET",path:READ_PATH,
|
|
30
|
+
query:{year:yearFlag(input,"list")}}},summarize:body=>rows(body).map(row=>pick(row,COLUMNS)),raw:body=>rows(body)},{name:"create",summary:`${LABEL}\u3092\u767B\u9332\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09`,usage:`twp ${NAME} create <YYYY-MM-DD> --name <\u795D\u65E5\u540D> --yes`,description:`POST ${ADMIN_PATH}\u3002\u540C\u3058\u65E5\u4ED8\u306E${LABEL}\u304C\u65E2\u306B\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08update \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\uFF09\u3002
|
|
31
|
+
${IMPACT}`,destructive:true,confirmation:"\u52E4\u6020\u306E\u96C6\u8A08\u306B\u52B9\u304F\u64CD\u4F5C",forbidden:FORBIDDEN,flags:[DATE_FLAG,NAME_FLAG],plan:input=>({method:"POST",path:ADMIN_PATH,body:{date:holidayDate(input,"create"),name:holidayName(input,"create")}}),summarize:body=>pick(item(body),COLUMNS),raw:body=>item(body)},{name:"update",summary:`${LABEL}\u306E\u540D\u524D\u3092\u5909\u3048\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09`,usage:`twp ${NAME}\
|
|
32
|
+
update <YYYY-MM-DD> --name <\u795D\u65E5\u540D> --yes`,description:`PUT ${ADMIN_PATH}/{date}\u3002\u5909\u3048\u3089\u308C\u308B\u306E\u306F\u540D\u524D\u3060\u3051\u3067\u3059\uFF08\u65E5\u4ED8\u3092\u5909\u3048\u308B\u306A\u3089 delete \u3057\u3066 create\uFF09\u3002
|
|
33
|
+
${IMPACT}`,destructive:true,confirmation:"\u52E4\u6020\u306E\u96C6\u8A08\u306B\u52B9\u304F\u64CD\u4F5C",forbidden:FORBIDDEN,flags:[DATE_FLAG,NAME_FLAG],plan:input=>({method:"PUT",path:itemPath(holidayDate(input,"update")),body:{name:holidayName(input,"update")}}),summarize:body=>pick(item(body),COLUMNS),raw:body=>item(body)},{name:"delete",summary:`${LABEL}\u3092\u524A\u9664\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09`,usage:`twp ${NAME} delete <YYYY-MM-DD\
|
|
34
|
+
> --yes`,description:`DELETE ${ADMIN_PATH}/{date}\u3002
|
|
35
|
+
${IMPACT}`,destructive:true,forbidden:FORBIDDEN,flags:[DATE_FLAG],plan:input=>({method:"DELETE",path:itemPath(holidayDate(input,"delete"))}),summarize:body=>acknowledgement(body,`${LABEL}\u524A\u9664`),raw:body=>acknowledgement(body,`${LABEL}\u524A\u9664`)},{name:"business-days",summary:"\u671F\u9593\u306E\u55B6\u696D\u65E5\u6570\u3092\u6570\u3048\u308B\uFF08\u5E73\u65E5\u304B\u3089\u795D\u65E5\u3092\u9664\u3044\u305F\u65E5\u6570\uFF09",usage:`twp ${NAME} business-days --from <YYYY-MM-DD> --to <\
|
|
36
|
+
YYYY-MM-DD>`,description:`GET ${READ_PATH}/business-days\u3002\u4E21\u7AEF\u3092\u542B\u307F\u307E\u3059\u3002
|
|
37
|
+
\u26A0\uFE0F \u30B5\u30FC\u30D0\u306F**\u6708\u301C\u91D1\u3092\u55B6\u696D\u65E5**\u3068\u3057\u3066\u6570\u3048\u307E\u3059\uFF08twp business-hours \u306E\u66DC\u65E5\u8A2D\u5B9A\u306F\u3053\u306E\u8A08\u7B97\u306B\u4F7F\u308F\u308C\u307E\u305B\u3093\uFF09\u3002`,flags:[{name:"--from",summary:"\u671F\u9593\u306E\u521D\u65E5\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"},{name:"--to",summary:"\u671F\u9593\u306E\u672B\u65E5\uFF08\u5FC5\u9808\u30FB--from \u4EE5\u964D\uFF09",
|
|
38
|
+
takesValue:true,placeholder:"<YYYY-MM-DD>"}],plan(input){noArgs(input,"business-days");const from=dateFlag(input,"--from","business-days");const to=dateFlag(input,"--to","business-days");if(to<from)throw new UsageError(`--to \u306F --from \u4EE5\u964D\u306E\u65E5\u4ED8\u306B\u3057\u3066\u304F\u3060\u3055\u3044: ${from} \u301C ${to}`,usageOf("business-days"));return{method:"GET",path:`${READ_PATH}/business-days`,query:{start_date:from,end_date:to}}},summarize:body=>pick(envelope(body,"\u55B6\u696D\u65E5\u6570"),
|
|
39
|
+
["start_date","end_date","business_days"]),raw:body=>pick(envelope(body,"\u55B6\u696D\u65E5\u6570"),["start_date","end_date","business_days"])},{name:"export",summary:`${LABEL}\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--out\uFF09`,usage:`twp ${NAME} export --out <\u30D1\u30B9.csv> [--force] [--year <YYYY>]`,description:`GET ${ADMIN_PATH}/export\u3002\u5217\u306F date,name\u3001\u6587\u5B57\u30B3\u30FC\u30C9\u306F Shift_JIS\uFF08Excel \u306E\u65E2\u5B9A\uFF09\u3067\u3059\u3002--year \u3092\u7701\u304F\u3068\u5168\u5E74\u3067\u3059\u3002
|
|
40
|
+
\u305D\u306E\u307E\u307E twp ${NAME} import --file \u3067\u53D6\u308A\u8FBC\u3081\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF08\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force\uFF09\u3002`,flags:[OUT_FLAG,FORCE_FLAG,YEAR_FLAG],download:{outFlag:OUT_FLAG.name,forceFlag:FORCE_FLAG.name},forbidden:FORBIDDEN,plan(input){noArgs(input,"export");return{method:"GET",path:`${ADMIN_PATH}/export`,query:{year:yearFlag(input,"export")}}},summarize:body=>body,
|
|
41
|
+
raw:body=>body},{name:IMPORT_OP,summary:`${LABEL}\u3092 CSV \u3067\u53D6\u308A\u8FBC\u3080\uFF08\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\u30FB--dry-run \u3067\u5DEE\u5206\u3092\u898B\u3089\u308C\u308B\uFF09`,usage:`twp ${NAME} ${IMPORT_OP} --file <CSV> [--mode append|replace --year <YYYY>] --yes`,description:`POST ${ADMIN_PATH}/import\u3002CSV \u306F1\u884C\u76EE\u304C\u898B\u51FA\u3057\uFF08date,name\uFF09\u3067\u3001UTF-8 \u304B Shift_JIS \u3067\u3059\uFF08export \u306E\u51FA\u529B\u3092\u305D\u306E\u307E\u307E\u4F7F\u3048\u307E\u3059\uFF09\u3002
|
|
42
|
+
--mode append\uFF08\u65E2\u5B9A\uFF09\u306F CSV \u306E\u65E5\u4ED8\u3092\u767B\u9332\u30FB\u4E0A\u66F8\u304D\u3057\u3001CSV \u306B\u7121\u3044\u795D\u65E5\u306F\u6B8B\u3057\u307E\u3059\u3002
|
|
43
|
+
--mode replace \u306F --year \u306E\u5E74\u306E\u795D\u65E5\u3092**\u5168\u90E8\u6D88\u3057\u3066\u304B\u3089**\u53D6\u308A\u8FBC\u307F\u307E\u3059\uFF08CSV \u306B\u306F \u305D\u306E\u5E74\u306E\u65E5\u4ED8\u3060\u3051\u3092\u5165\u308C\u307E\u3059\uFF09\u3002
|
|
44
|
+
\u9001\u308B\u524D\u306B\u3001CSV \u306E\u884C\u3092\u691C\u67FB\u3057\u3001\u5BFE\u8C61\u5E74\u306E\u4ECA\u306E\u795D\u65E5\u3068\u306E\u5DEE\u5206\uFF08\u8FFD\u52A0\u30FB\u540D\u524D\u306E\u5909\u66F4\u30FB\u6D88\u3048\u308B\u30FB\u5909\u5316\u306A\u3057\uFF09\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002
|
|
45
|
+
--dry-run \u306F\u5DEE\u5206\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF08--yes \u306F\u8981\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
46
|
+
`+IMPACT,destructive:true,confirmation:"\u65E2\u5B58\u306E\u795D\u65E5\u3092\u4E0A\u66F8\u304D\u30FB\u524A\u9664\u3057\u3046\u308B\u64CD\u4F5C\uFF08\u5DEE\u5206\u306F --dry-run \u3067\u898B\u3089\u308C\u307E\u3059\uFF09",forbidden:FORBIDDEN,flags:[{name:"--file",summary:"\u53D6\u308A\u8FBC\u3080 CSV\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<CSV>"},{name:"--mode",summary:"append\uFF08\u65E2\u5B9A\u30FB\u4E0A\u66F8\u304D\u8FFD\u52A0\uFF09\u304B replace\uFF08--year \u306E\u5E74\u3092\u5165\u308C\u66FF\u3048\uFF09",
|
|
47
|
+
takesValue:true,placeholder:"append|replace"},{...YEAR_FLAG,summary:"--mode replace \u3067\u5165\u308C\u66FF\u3048\u308B\u5E74\uFF08YYYY\uFF09"}],prepare:prepareImport,plan:importPlan,plannedNotes:input=>JSON.parse(requireResolved(input,"notes")),execute:runImport,summarize:body=>isImportOutcome(body)?{imported_count:body.imported_count}:body,raw:body=>isImportOutcome(body)?{imported_count:body.imported_count,message:body.message}:body,notes:body=>isImportOutcome(body)&&typeof body.message==="st\
|
|
48
|
+
ring"?[body.message]:[]}]};export{diffNotes,holidayDiff,holidayDomain,isCalendarDate,parseHolidayCsv};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-
|
|
3
|
+
import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-4B6GJBYP.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,
|
|
4
4
|
UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u554F\u3044\u5408\u308F\u305B\u30AB\u30C6\u30B4\u30EA";var LIST_COLUMNS=["id","category_code","title","sort","is_active","notification_user_count"];var GET_COLUMNS=["id","category_code","title","description","sort","is_active","notification_users"];var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u306F\u554F\u3044\u5408\u308F\u305B\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;
|
|
5
5
|
var SORT_LAST="last";var CODE_RE=/^[a-zA-Z0-9_-]+$/;var REF_HELP="<\u30AB\u30C6\u30B4\u30EA> \u306F\u30AB\u30C6\u30B4\u30EA\u30B3\u30FC\u30C9\u30FB\u540D\u524D\uFF08title\uFF09\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
|
|
6
6
|
var NOTIFY_HELP="--notify \u306F\u901A\u77E5\u5148\u306E\u30E6\u30FC\u30B6\u30FC\u3067\u3001\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08ID \u4EE5\u5916\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{invoiceNoRuleResource}from"./chunk-
|
|
4
|
-
nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-
|
|
3
|
+
import{invoiceNoRuleResource}from"./chunk-SCHQHPI2.js";import"./chunk-5SPWQAUX.js";import"./chunk-QLENN5DD.js";import{invoiceAiReviewResources}from"./chunk-7SYIYLHX.js";import{invoicePdfOperation}from"./chunk-5P22UEUF.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-MNJYY3PR.js";import{booleanText,isoDate}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,
|
|
4
|
+
nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";
|
|
5
5
|
import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_INVOICE_AUTO_TEMPLATES_PATH;var HISTORY_SEARCH_PATH="/api/v2/sales/invoice-auto-issue-histories";var FORMATS_PATH="/api/v2/sales/estimate-formats";function adminForbidden(body){return body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u767A\u884C\u5C65\u6B74\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u6271\u3048\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
|
|
6
6
|
var CONTENT_KEYS=["template_name","estimate_format_id","interval_months","next_issue_date","period_start_date","period_end_date","payment_term_months","payment_term_day","estimate_expiration_months","estimate_expiration_day","order_acceptance_months","order_acceptance_day","invoice_date_months","invoice_date_day","estimate_business_place_id","estimate_seal_impression_id","invoice_business_place_id","invoice_seal_impression_id","company_id","project_id","payee_id","estimate_user_id","invoice_user\
|
|
7
7
|
_id","detail","memo","template_memo","notification_user_ids","estimate_manage_content","invoice_manage_content","is_active"];var DETAIL_KEYS=["list"];var DETAIL_ROW_KEYS=["title","price","quantity","unit","tax","delivery_date"];var NOT_SAVED_KEYS=["period_start_months","period_start_day","period_end_months","period_end_day"];var FIELD_NOTES=[["template_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["estimate_format\
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{STATUS_VALUES,flatMasterDomain}from"./chunk-
|
|
3
|
+
import{STATUS_VALUES,flatMasterDomain}from"./chunk-FHOJFKR3.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{JOB_TITLES_PATH}from"./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";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";
|
|
4
4
|
import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var jobTitleDomain=flatMasterDomain({name:"job-title",label:"\u8077\u4F4D",path:JOB_TITLES_PATH,itemKey:"job_title",summary:"\u8077\u4F4D\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","sort_order","status","position_id","base_selling_price","base_cost_price"],getColumns:["id","code","name","name_short","sort_order","status","position_id","base_selling_price","base_cost_price","description"],fields:[
|
|
5
5
|
{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"},
|
|
6
6
|
{kind:"integer",flag:"--base-selling-price",key:"base_selling_price",label:"\u57FA\u6E96\u58F2\u4FA1",min:0,summary:"\u57FA\u6E96\u58F2\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"integer",flag:"--base-cost-price",key:"base_cost_price",label:"\u57FA\u6E96\u539F\u4FA1",min:0,summary:"\u57FA\u6E96\u539F\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"text",flag:"--skill-requirements",key:"skill_requirements",label:"\u30B9\u30AD\u30EB\u8981\u4EF6",maxChars:5e3,summary:"\u30B9\u30AD\u30EB\u8981\u4EF6"},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{buildDiffLines,diffStat}from"./chunk-VRBI2NPI.js";import{composeDocument,meetingContentToText,metaLine,noteContentToText,oneLine,wikiContentToText}from"./chunk-
|
|
4
|
-
import"./chunk-
|
|
5
|
-
import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var WIKI_PATH="/api/v2/wiki";var WIKI_SUMMARY_FIELDS="summary";function withoutContent(page){const rest={...page};delete rest["content"];return rest}var NOTES_PATH="/api/v2/notes";var MEETINGS_PATH="/api/v2/meetings";var ROOT_PARENT="root";var WIKI_STATUSES=["draft","published"];var WIKI_CONTENT_FORMATS=["html","markdown"];var NOTE_STATUSES=["draft","published"];var NOTE_VISIBILITIES=["private","tenant","external","public"];var NOTE_SORTS=["manual","created_at","updated_at","view_count","comment\
|
|
3
|
+
import{buildDiffLines,diffStat}from"./chunk-VRBI2NPI.js";import{composeDocument,meetingContentToText,metaLine,noteContentToText,oneLine,textOutline,textSection,wikiContentToText}from"./chunk-C7MO3RHJ.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import{boundedText}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";
|
|
4
|
+
import"./chunk-4B6GJBYP.js";import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";
|
|
5
|
+
import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import path from"path";var WIKI_PATH="/api/v2/wiki";var WIKI_SUMMARY_FIELDS="summary";function withoutContent(page){const rest={...page};delete rest["content"];return rest}var NOTES_PATH="/api/v2/notes";var MEETINGS_PATH="/api/v2/meetings";var ROOT_PARENT="root";var WIKI_STATUSES=["draft","published"];var WIKI_CONTENT_FORMATS=["html","markdown"];var NOTE_STATUSES=["draft","published"];var NOTE_VISIBILITIES=["private","tenant","external","public"];var NOTE_SORTS=["manual","created_at","updated_at","view_count","comment\
|
|
6
6
|
_count","reaction_count"];var MEETING_STATUSES=["draft","published","archived"];var MEETING_TYPES=["regular","client","internal","retrospective","decision","one_on_one"];var MEETING_SORTS=["meeting_date","created_at","updated_at","title"];var SORT_ORDERS=["asc","desc"];var MEETING_TAGS_MAX=20;var MEETING_TAG_MAX_CHARS=50;var DATE_FLOOR="0000-01-01";var DATE_CEIL="9999-12-31";var WIKI_LIST_COLUMNS=["id","title","status","parent_page_id","updated_at","updated_by_name"];var WIKI_STALE_COLUMNS=["id",
|
|
7
7
|
"title","status","verified_at","knowledge_kind","evidence_task_keys","updated_at"];var WIKI_CHILD_COLUMNS=["id","title","status","child_count","updated_at","updated_by_name"];var WIKI_GET_COLUMNS=["id","title","status","content_format","parent_page_id","version","tags","verified_at","evidence_task_keys","knowledge_kind","updated_at","updated_by_name"];var NOTE_LIST_COLUMNS=["id","title","status","visibility","created_by_name","updated_at","comment_count","reaction_count"];var NOTE_GET_COLUMNS=["\
|
|
8
8
|
id","title","status","visibility","content_type","category_name","tags","created_by_name","updated_at","view_count"];var MEETING_LIST_COLUMNS=["id","meeting_date","title","meeting_type","status","project_name","created_by_name"];var MEETING_GET_COLUMNS=["id","title","meeting_date","meeting_type","status","project_name","category_name","created_by_name","updated_at"];var TEXT_OUTPUT_HELP="--output text \u306F\u672C\u6587\u3092\u8AAD\u3080\u305F\u3081\u306E\u6587\u66F8\uFF08\u898B\u51FA\u3057\u30FB\u30E1\u30BF\u60C5\u5831\u30FB\u672C\u6587\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002HTML \u3068\u5171\u540C\u7DE8\u96C6\u30A8\u30C7\u30A3\u30BF\u306E JSON \u306F\n\u5E73\u6587\u3078\u5909\u63DB\u3057\u3001\u898B\u51FA\u3057\u30FB\u7B87\u6761\u66F8\u304D\u30FB\u30EA\u30F3\u30AF\u306F Markdown \u98A8\u306B\u6B8B\u3057\u307E\u3059\u3002--out\
|
|
@@ -31,11 +31,30 @@ var wikiList={name:"list",summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E${W
|
|
|
31
31
|
{name:"--status",summary:`\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08${WIKI_STATUSES.join(" / ")}\uFF09`,takesValue:true,placeholder:"<\u72B6\u614B>"},{name:"--tag",summary:"\u30BF\u30B0\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30BF\u30B0>"},{name:"--keyword",summary:"\u30AD\u30FC\u30EF\u30FC\u30C9\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--stale-days",summary:"\u6700\u7D42\u5B9F\u6E2C\u65E5\u304C N \u65E5\u4EE5\u4E0A\u524D\uFF08\u672A\u8A2D\u5B9A\u3092\u542B\u3080\uFF09\u306E\u30DA\u30FC\u30B8\u3060\u3051\u30FB\u53E4\u3044\u9806",
|
|
32
32
|
takesValue:true,placeholder:"<\u65E5\u6570>"}],paging:wikiPaging,async prepare(input,ctx){noArgs(input,"twp wiki list");parentRef(input);oneOf(input,"--status",WIKI_STATUSES);staleDays(input);pageLimit(input);return withResolved(input,{project:await ctx.projectId(input.flags.get("--project"))})},plan(input){return parentRef(input)!==void 0?{method:"GET",path:`${WIKI_PATH}/tree`,query:wikiTreeQuery(input)}:{method:"GET",path:WIKI_PATH,query:wikiListQuery(input)}},narrow(body,input){const parent=parentRef(
|
|
33
33
|
input);if(parent===void 0){return staleDays(input)!==void 0&&isRecord(body)?{...body,[STALE_VIEW]:true}:body}return{result:true,items:childrenOf(body,parent),has_more:false,next_cursor:null}},summarize:body=>{const rows=envelopeRows(body,wikiPaging,`${WIKI_LABEL}\u4E00\u89A7`);const columns=rows.some(row=>isRecord(row)&&"child_count"in row)?WIKI_CHILD_COLUMNS:isRecord(body)&&body[STALE_VIEW]===true?WIKI_STALE_COLUMNS:WIKI_LIST_COLUMNS;return rows.map(row=>pick(row,columns))},raw:body=>envelopeRows(
|
|
34
|
-
body,wikiPaging,`${WIKI_LABEL}\u4E00\u89A7`).map(row=>isRecord(row)?withoutContent(row):row),notes:staleDaysNotes};function wikiTreeQuery(input){return{project_id:requireResolved(input,"project"),fields:WIKI_SUMMARY_FIELDS}}function wikiDocument(body){const page=record(body,"page",WIKI_LABEL);return composeDocument(page["title"],[...metaLine("\u72B6\u614B",page["status"]),...metaLine("\u5F62\u5F0F",page["content_format"])
|
|
35
|
-
page["parent_page_id"]),...metaLine("\u6700\u7D42\u5B9F\u6E2C\u65E5",page["verified_at"]),...metaLine("\u6839\u62E0\u30BF\u30B9\u30AF",page["evidence_task_keys"]),...metaLine("\u7A2E\u5225",page["knowledge_kind"]),...metaLine("\u7248",page["version"]),...metaLine("\u66F4\u65B0",page["updated_at"]),...metaLine("\u66F4\u65B0\u8005",page["updated_by_name"]),...metaLine("ID",page["id"])],[{body:wikiContentToText(page["
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
body,wikiPaging,`${WIKI_LABEL}\u4E00\u89A7`).map(row=>isRecord(row)?withoutContent(row):row),notes:staleDaysNotes};function wikiTreeQuery(input){return{project_id:requireResolved(input,"project"),fields:WIKI_SUMMARY_FIELDS}}function wikiDocument(body){const view=wikiGetView(body);if(view!==void 0)return wikiViewDocument(view);const page=record(body,"page",WIKI_LABEL);return composeDocument(page["title"],[...metaLine("\u72B6\u614B",page["status"]),...metaLine("\u5F62\u5F0F",page["content_format"]),
|
|
35
|
+
...metaLine("\u30BF\u30B0",page["tags"]),...metaLine("\u89AA\u30DA\u30FC\u30B8",page["parent_page_id"]),...metaLine("\u6700\u7D42\u5B9F\u6E2C\u65E5",page["verified_at"]),...metaLine("\u6839\u62E0\u30BF\u30B9\u30AF",page["evidence_task_keys"]),...metaLine("\u7A2E\u5225",page["knowledge_kind"]),...metaLine("\u7248",page["version"]),...metaLine("\u66F4\u65B0",page["updated_at"]),...metaLine("\u66F4\u65B0\u8005",page["updated_by_name"]),...metaLine("ID",page["id"])],[{body:wikiContentToText(page["co\
|
|
36
|
+
ntent"],page["content_format"])}])}var WIKI_GET_USAGE="twp wiki get <\u30DA\u30FC\u30B8ID> [<\u30DA\u30FC\u30B8ID> ...] | --path <\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D> [--project <\u30B3\u30FC\u30C9|ID>]\uFF081\u4EF6\u306E\u3068\u304D\u306F [--outline | --section <\u898B\u51FA\u3057>] \u3082\u4ED8\u3051\u3089\u308C\u308B\uFF09";function wikiPathSegments(raw){const text2=raw.trim().replace(/^\//,"");const segments=[];let current="";for(let i=0;i<text2.length;i++){const ch=text2[i];const next=text2[i+
|
|
37
|
+
1];if(ch==="\\"&&(next==="/"||next==="\\")){current+=next;i++}else if(ch==="/"){segments.push(current);current=""}else{current+=ch}}segments.push(current);if(segments.some(segment=>segment.trim()==="")){throw new UsageError(`--path \u306B\u7A7A\u306E\u4EF6\u540D\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059: ${raw}`,"\u300C\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D\u300D\u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4EF6\u540D\u306E\u4E2D\u306E / \u306F \\/ \u3068\u66F8\u304D\u307E\u3059\uFF09\u3002")}
|
|
38
|
+
return segments}function wikiPathRef(input){const raw=input.flags.get("--path");if(raw===void 0){if(input.flags.has("--project")){throw new UsageError("--project \u306F --path \u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059","\u30DA\u30FC\u30B8 ID \u3067\u53D6\u308B\u3068\u304D\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u6307\u5B9A\u306F\u8981\u308A\u307E\u305B\u3093\u3002")}return void 0}if(input.args.length>0){throw new UsageError(`\u30DA\u30FC\u30B8 ID\uFF08${input.
|
|
39
|
+
args.join(" ")}\uFF09\u3068 --path \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,WIKI_GET_USAGE)}if(raw.trim()==="")throw new UsageError("--path \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",WIKI_GET_USAGE);return wikiPathSegments(raw)}function foldTitle(value){return typeof value==="string"?value.trim().toLowerCase():void 0}function wikiPathNodes(nodes,trail){return nodes.filter(isRecord).map(page=>({page,trail:[...trail,typeof page["title"]==="\
|
|
40
|
+
string"?page["title"]:""],children:Array.isArray(page["children"])?page["children"]:[]}))}function formatTrail(trail){return trail.map(title=>title.replace(/\\/g,"\\\\").replace(/\//g,"\\/")).join("/")}function describeNode(node){return`${formatTrail(node.trail)}\uFF08${String(node.page["id"])}\uFF09`}function listNodes(nodes,limit=10){const shown=nodes.slice(0,limit).map(describeNode).join(" / ");return nodes.length>limit?`${shown} \u2026\uFF08\u5168 ${nodes.length} \u4EF6\uFF09`:shown}function nodesTitled(tree,title){
|
|
41
|
+
const needle=foldTitle(title);const found=[];const stack=wikiPathNodes(tree,[]).reverse();while(stack.length>0){const node=stack.pop();if(foldTitle(node.page["title"])===needle)found.push(node);stack.push(...wikiPathNodes(node.children,node.trail).reverse())}return found}function resolveWikiPath(body,segments,raw){const tree=isRecord(body)&&body["result"]===true?body["tree"]:void 0;if(!Array.isArray(tree))throw new ApiResponseError(`${WIKI_LABEL}\u306E\u30C4\u30EA\u30FC\u306E\u5FDC\u7B54\u306B tree \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
|
|
42
|
+
let frontier=wikiPathNodes(tree,[]);for(const[depth,segment]of segments.entries()){const needle=foldTitle(segment);const hits=frontier.filter(node=>foldTitle(node.page["title"])===needle&&typeof node.page["id"]==="string");if(hits.length===0){const where=depth===0?"\u6700\u4E0A\u4F4D":`\u300C${formatTrail(segments.slice(0,depth))}\u300D\u306E\u76F4\u4E0B`;const elsewhere=nodesTitled(tree,segment);const titles=[...new Set(frontier.map(node=>node.trail.at(-1)??""))].filter(title=>title!=="");const hint=elsewhere.
|
|
43
|
+
length>0?`\u540C\u3058\u4EF6\u540D\u306E\u30DA\u30FC\u30B8\u306F\u5225\u306E\u5834\u6240\u306B\u3042\u308A\u307E\u3059: ${listNodes(elsewhere)}`:titles.length>0?`${where}\u306E\u4EF6\u540D: ${titles.slice(0,10).join(" / ")}${titles.length>10?` \u2026\uFF08\u5168 ${titles.length} \u4EF6\uFF09`:""}`:`${where}\u306B\u30DA\u30FC\u30B8\u306F\u3042\u308A\u307E\u305B\u3093\u3002`;throw new UsageError(`--path \u306E\u300C${raw}\u300D\u306B\u4E00\u81F4\u3059\u308B ${WIKI_LABEL}\u304C\u3042\u308A\u307E\u305B\u3093\uFF08${where}\
|
|
44
|
+
\u306B\u300C${segment}\u300D\u3068\u3044\u3046\u4EF6\u540D\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u524A\u9664\u6E08\u307F\u30FB\u4ED6\u4EBA\u306E\u4E0B\u66F8\u304D\u306F\u898B\u3048\u307E\u305B\u3093\uFF09`,hint)}if(depth===segments.length-1){if(hits.length===1)return String(hits[0]?.page["id"]);throw new UsageError(`--path \u306E\u300C${raw}\u300D\u304C ${WIKI_LABEL}${hits.length}\u4EF6\u306B\u4E00\u81F4\u3057\u307E\u3059: ${listNodes(hits)}`,"\u30DA\u30FC\u30B8 ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp wik\
|
|
45
|
+
i get <\u30DA\u30FC\u30B8ID>\uFF09\u3002")}frontier=hits.flatMap(node=>wikiPathNodes(node.children,node.trail))}throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: --path \u306E\u4EF6\u540D\u304C\u7A7A\u3067\u3059")}function isWikiPages(body){return isRecord(body)&&Array.isArray(body["pages"])}function wikiGetIds(input){const ids=input.args.map(raw=>raw.trim());if(ids.length===0||ids.every(id=>id===""))throw new UsageError("\u30DA\u30FC\u30B8\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
46
|
+
"twp wiki get help");for(const id of ids){if(!isSafePathSegment(id))throw new UsageError(`\u30DA\u30FC\u30B8\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id===""?"(\u7A7A)":id}`,"\u30DA\u30FC\u30B8\u306E ID \u306F twp wiki list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return ids}function wikiPagePlan(id){return{method:"GET",path:`${WIKI_PATH}/${encodeURIComponent(id)}`}}function isPageFailure(err){return err instanceof ApiError&&err.status!==
|
|
47
|
+
401&&err.status!==429}async function wikiGetMany(input,ctx){const ids=wikiGetIds(input);if(ids.length===1)return ctx.send(wikiPagePlan(ids[0]));const pages=[];const failed=[];for(const id of ids){let body;try{body=await ctx.send(wikiPagePlan(id))}catch(err){if(!isPageFailure(err))throw err;failed.push({target:id,error:err});continue}pages.push(record(body,"page",WIKI_LABEL))}const result={result:true,pages,failed};return result}function wikiGetPlan(input){return wikiPathRef(input)!==void 0?{method:"\
|
|
48
|
+
GET",path:`${WIKI_PATH}/tree`,query:wikiTreeQuery(input)}:wikiPagePlan(wikiGetIds(input)[0])}var WIKI_VIEW_KEY="twp_wiki_view";var WIKI_SECTION_CANDIDATES_MAX=50;var WIKI_VIEW_PAGE_FIELDS=["id","title","version","content_format","updated_at"];function wikiGetView(body){const view=isRecord(body)?body[WIKI_VIEW_KEY]:void 0;return isRecord(view)?view:void 0}function wikiGetMode(input){const outline=input.flags.has("--outline");const raw=input.flags.get("--section");if(outline&&raw!==void 0){throw new UsageError(
|
|
49
|
+
"--outline \u3068 --section \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",'\u898B\u51FA\u3057\u306E\u4E00\u89A7\u306F --outline\u30011\u3064\u306E\u7BC0\u306F --section "<\u898B\u51FA\u3057>" \u3067\u3059\u3002')}if(raw!==void 0&&raw.replace(/^#+/,"").trim()===""){throw new UsageError("--section \u306B\u898B\u51FA\u3057\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u898B\u51FA\u3057\u306F twp wiki get <\u30DA\u30FC\u30B8ID> --outline \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}
|
|
50
|
+
if((outline||raw!==void 0)&&wikiPathRef(input)===void 0&&wikiGetIds(input).length>1){throw new UsageError("--outline / --section \u306F\u30DA\u30FC\u30B8 ID \u30921\u3064\u3060\u3051\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u8907\u6570\u306E\u30DA\u30FC\u30B8\u306F1\u4EF6\u305A\u3064 twp wiki get <\u30DA\u30FC\u30B8ID> --outline \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{outline,section:raw}}function wikiGetNarrow(body,outline,section){const page=record(body,
|
|
51
|
+
"page",WIKI_LABEL);const text2=wikiContentToText(page["content"],page["content_format"]);const summary=pick(page,WIKI_VIEW_PAGE_FIELDS);const options={markdown:page["content_format"]==="markdown"};if(outline)return{result:true,[WIKI_VIEW_KEY]:{kind:"outline",page:summary,outline:textOutline(text2,options)}};const found=textSection(text2,section??"",options);if(found===void 0){const titles=textOutline(text2,options).map(h=>`${"#".repeat(h.level)} ${oneLine(h.title)}`);const shown=titles.slice(0,WIKI_SECTION_CANDIDATES_MAX);
|
|
52
|
+
const rest=titles.length-shown.length;throw new UsageError(`\u898B\u51FA\u3057\u300C${oneLine(section??"")}\u300D\u306F\u30DA\u30FC\u30B8 ${String(page["id"])} \u306B\u3042\u308A\u307E\u305B\u3093`,titles.length===0?"\u3053\u306E\u30DA\u30FC\u30B8\u306B\u306F\u898B\u51FA\u3057\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u5168\u6587\u306F --section \u3092\u5916\u3057\u3066\u8AAD\u3081\u307E\u3059\u3002":`\u30DA\u30FC\u30B8\u306E\u898B\u51FA\u3057:
|
|
53
|
+
${shown.join("\n ")}${rest>0?`
|
|
54
|
+
\u2026\u307B\u304B ${rest} \u4EF6\uFF08\u5168\u4EF6\u306F --outline\uFF09`:""}`)}return{result:true,[WIKI_VIEW_KEY]:{kind:"section",page:summary,section:{level:found.level,title:found.title,content:found.text,matches:found.matches}}}}async function wikiGetExecute(input,ctx){const{outline,section}=wikiGetMode(input);const segments=wikiPathRef(input);const narrow=outline||section!==void 0;if(segments===void 0&&!narrow)return wikiGetMany(input,ctx);const id=segments===void 0?wikiGetIds(input)[0]:
|
|
55
|
+
resolveWikiPath(await ctx.send(wikiGetPlan(input)),segments,input.flags.get("--path")?.trim()??"");const body=await ctx.send(wikiPagePlan(id));return narrow?wikiGetNarrow(body,outline,section):body}function wikiViewDocument(view){const meta=[...metaLine("\u7248",view.page["version"]),...metaLine("ID",view.page["id"])];if(view.kind==="outline"){const lines=view.outline.map(h=>`${" ".repeat(h.level-1)}${"#".repeat(h.level)} ${h.title}\uFF08${h.chars}\u5B57\uFF09`);return composeDocument(view.page["\
|
|
56
|
+
title"],meta,[{heading:"\u898B\u51FA\u3057",body:lines.length===0?"\uFF08\u898B\u51FA\u3057\u306F\u3042\u308A\u307E\u305B\u3093\uFF09":lines.join("\n")}])}return composeDocument(view.page["title"],[...meta,`\u7BC0: ${oneLine(view.section.title)}`],[{body:view.section.content}])}function wikiViewRaw(view){return view.kind==="outline"?{...view.page,outline:view.outline}:{...view.page,section:view.section}}var wikiGet={name:"get",summary:`${WIKI_LABEL}\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08ID \u3092\u4E26\u3079\u308B\u3068\u8907\u6570\u30DA\u30FC\u30B8\u30FB--path \u3067\u4EF6\u540D\u304B\u3089\u5F15\u304F\u30FB--output \
|
|
57
|
+
text \u3067\u672C\u6587\u3092\u8AAD\u3080\u30FB--outline / --section \u3067\u5FC5\u8981\u306A\u7BC0\u3060\u3051\uFF09`,usage:WIKI_GET_USAGE,description:`${TEXT_OUTPUT_HELP}
|
|
39
58
|
|
|
40
59
|
--output table / tsv \u306F\u8981\u7D04\u5217\uFF08${WIKI_GET_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
41
60
|
\u4ED6\u4EBA\u306E\u4E0B\u66F8\u304D\uFF08\u3068\u3001\u4ED6\u4EBA\u306E\u4E0B\u66F8\u304D\u306E\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u914D\u4E0B\u306E\u30DA\u30FC\u30B8\uFF09\u306F\u300C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u300D\u306B\u306A\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u5224\u5B9A\uFF09\u3002
|
|
@@ -45,25 +64,63 @@ ID \u3092\u8907\u6570\u4E26\u3079\u308B\u30681\u4EF6\u305A\u3064\u53D6\u5F97\u30
|
|
|
45
64
|
\u898B\u3064\u304B\u3089\u306A\u3044\u30FB\u6A29\u9650\u304C\u7121\u3044\u30DA\u30FC\u30B8\u304C\u3042\u3063\u3066\u3082\u4ED6\u306E\u30DA\u30FC\u30B8\u306F\u51FA\u3057\u3001\u53D6\u308C\u306A\u304B\u3063\u305F ID \u3068\u7406\u7531\u3092 stderr \u306B\u51FA\u3057\u3066
|
|
46
65
|
\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF08\u30B5\u30FC\u30D0\u306E 5xx \u304C\u6DF7\u3058\u308C\u3070 4\uFF09\u3067\u7D42\u308F\u308A\u307E\u3059\u3002401\u30FB429 \u306E\u3068\u304D\u306F\u9014\u4E2D\u3067\u6B62\u3081\u3066\u4F55\u3082\u51FA\u3057\u307E\u305B\u3093\u3002
|
|
47
66
|
|
|
67
|
+
--path \u306F ID \u306E\u4EE3\u308F\u308A\u306B\u4EF6\u540D\u306E\u968E\u5C64\uFF08\u6700\u4E0A\u4F4D\u304B\u3089\u300C\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D\u300D\uFF09\u3067\u30DA\u30FC\u30B8\u3092\u6307\u3057\u307E\u3059\u3002--project \u3092\u7701\u304F\u3068\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3059\u3002
|
|
68
|
+
\u4EF6\u540D\u306F\u524D\u5F8C\u306E\u7A7A\u767D\u3068\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u3060\u3051\u3092\u7121\u8996\u3057\u305F\u5B8C\u5168\u4E00\u81F4\u3067\u7167\u5408\u3057\u307E\u3059\uFF08\u90E8\u5206\u4E00\u81F4\u3067\u306F\u9078\u3073\u307E\u305B\u3093\uFF09\u3002\u4EF6\u540D\u306E\u4E2D\u306E / \u306F \\/ \u3068\u66F8\u304D\u307E\u3059\u3002
|
|
69
|
+
\u540C\u3058\u4EF6\u540D\u306E\u30DA\u30FC\u30B8\u304C\u8907\u6570\u3042\u3063\u30661\u4EF6\u306B\u6C7A\u307E\u3089\u306A\u3044\u3068\u304D\u30FB\u898B\u3064\u304B\u3089\u306A\u3044\u3068\u304D\u306F\u3001\u5019\u88DC\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u6B62\u307E\u308A\u307E\u3059\u3002
|
|
70
|
+
\u30DA\u30FC\u30B8\u306E\u89AA\u5B50\u69CB\u9020\u30921\u56DE\u5F15\u3044\u3066 ID \u3092\u6C7A\u3081\u3066\u304B\u3089\u3001\u305D\u306E\u30DA\u30FC\u30B8\u3092\u53D6\u5F97\u3057\u307E\u3059\uFF082\u5F80\u5FA9\uFF09\u3002\u4E0B\u66F8\u304D\u306F\u898B\u3048\u308B\u30DA\u30FC\u30B8\u3060\u3051\u304C\u5019\u88DC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
71
|
+
|
|
72
|
+
\u9577\u3044\u30DA\u30FC\u30B8\u306F\u5168\u6587\u3092\u8AAD\u307E\u305A\u306B\u6E08\u307E\u305B\u3089\u308C\u307E\u3059\uFF08ID \u306F1\u3064\u3060\u3051\u6307\u5B9A\u3059\u308B\u304B --path \u3067\u6307\u3057\u307E\u3059\uFF09\u3002
|
|
73
|
+
--outline \u898B\u51FA\u3057\u306E\u4E00\u89A7\uFF08\u968E\u5C64\u3068\u3001\u5404\u7BC0\u306E\u6587\u5B57\u6570\uFF1D\u4E0B\u4F4D\u306E\u7BC0\u3092\u542B\u3080\uFF09\u3060\u3051\u3092\u51FA\u3059
|
|
74
|
+
--section <\u898B\u51FA\u3057> \u305D\u306E\u898B\u51FA\u3057\u304B\u3089\u3001\u6B21\u306E\u540C\u3058\u304B\u4E0A\u306E\u30EC\u30D9\u30EB\u306E\u898B\u51FA\u3057\u306E\u624B\u524D\u307E\u3067\u3092\u51FA\u3059
|
|
75
|
+
\u898B\u51FA\u3057\u306F\u5B8C\u5168\u4E00\u81F4\uFF08\u7A7A\u767D\u306E\u9055\u3044\u30FB\u5927\u6587\u5B57\u5C0F\u6587\u5B57\u306F\u7121\u8996\uFF09\u3067\u63A2\u3057\u3001\u90E8\u5206\u4E00\u81F4\u3067\u306F\u9078\u3073\u307E\u305B\u3093\u3002\u898B\u3064\u304B\u3089\u306A\u3051\u308C\u3070\u5019\u88DC\u306E\u898B\u51FA\u3057\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u3059\u3002
|
|
76
|
+
\u3069\u306E\u51FA\u529B\u5F62\u5F0F\u3067\u3082\u7248\uFF08version\uFF09\u3092\u51FA\u3059\u306E\u3067\u3001\u7D9A\u3051\u3066\u66F4\u65B0\u3059\u308B\u3068\u304D\u306F twp wiki update --if-version <\u7248> \u306B\u6E21\u305B\u307E\u3059\u3002
|
|
77
|
+
\u30B5\u30FC\u30D0\u306B\u7BC0\u5358\u4F4D\u306E\u53D6\u5F97\u306F\u7121\u3044\u305F\u3081\u3001\u901A\u4FE1\u91CF\u306F\u5168\u6587\u3068\u540C\u3058\u3067\u3059\uFF08\u6E1B\u308B\u306E\u306F\u51FA\u529B\uFF09\u3002
|
|
78
|
+
|
|
48
79
|
\u4F8B:
|
|
49
|
-
twp wiki get <ID1> <ID2> <ID3> --output text
|
|
50
|
-
|
|
80
|
+
twp wiki get <ID1> <ID2> <ID3> --output text
|
|
81
|
+
twp wiki get --path "\u904B\u7528/\u30EA\u30EA\u30FC\u30B9\u624B\u9806" --output text
|
|
82
|
+
twp wiki get --project TWP --path "\u8A2D\u8A08\\/\u65B9\u91DD/DB"
|
|
83
|
+
twp wiki get 0f8b2c6e-... --outline
|
|
84
|
+
twp wiki get --path "\u904B\u7528/\u30EA\u30EA\u30FC\u30B9\u624B\u9806" --section "\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF"`,flags:[{name:"--path",summary:"\u4EF6\u540D\u306E\u968E\u5C64\uFF08\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D\uFF09\u3067\u30DA\u30FC\u30B8\u3092\u6307\u3059",takesValue:true,placeholder:"<\u89AA\u4EF6\u540D/\u5B50\u4EF6\u540D>"},{name:"--project",summary:"--path \u3067\u5F15\u304F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u3002\u7701\u7565\u6642\u306F\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09",
|
|
85
|
+
takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--outline",summary:"\u898B\u51FA\u3057\u306E\u4E00\u89A7\uFF08\u968E\u5C64\u30FB\u7BC0\u306E\u6587\u5B57\u6570\uFF09\u3060\u3051\u3092\u51FA\u3059",takesValue:false},{name:"--section",summary:"\u305D\u306E\u898B\u51FA\u3057\u306E\u7BC0\u3060\u3051\u3092\u51FA\u3059",takesValue:true,placeholder:"<\u898B\u51FA\u3057>"}],async prepare(input,ctx){wikiGetMode(input);if(wikiPathRef(input)===void 0)return input;return withResolved(input,{project:await ctx.
|
|
86
|
+
projectId(input.flags.get("--project"))})},plan:input=>{wikiGetMode(input);return wikiGetPlan(input)},plannedNotes:input=>{if(wikiPathRef(input)!==void 0)return[`\u3053\u306E\u3042\u3068\u3001\u4EF6\u540D\u306E\u968E\u5C64\u304B\u3089\u6C7A\u3081\u305F\u30DA\u30FC\u30B8\u3092 GET ${WIKI_PATH}/<\u30DA\u30FC\u30B8ID> \u3067\u53D6\u5F97\u3057\u307E\u3059\u3002`];const ids=wikiGetIds(input);return ids.length>1?[`\u3053\u306E\u3042\u3068\u3001\u6B8B\u308A\u306E ${ids.length-1} \u4EF6\u3082 GET ${WIKI_PATH}\
|
|
87
|
+
/<\u30DA\u30FC\u30B8ID> \u30671\u4EF6\u305A\u3064\u53D6\u5F97\u3057\u307E\u3059\u3002`]:[]},execute:wikiGetExecute,summarize:body=>{if(isWikiPages(body))return body.pages.map(page=>pick(page,WIKI_GET_COLUMNS));const view=wikiGetView(body);if(view===void 0)return pick(record(body,"page",WIKI_LABEL),WIKI_GET_COLUMNS);if(view.kind==="outline")return view.outline.map(h=>({version:view.page["version"],...h}));return{...view.page,section:view.section.title,level:view.section.level,content:view.section.
|
|
88
|
+
content}},raw:body=>{if(isWikiPages(body))return body.pages;const view=wikiGetView(body);return view===void 0?record(body,"page",WIKI_LABEL):wikiViewRaw(view)},notes:body=>{const view=wikiGetView(body);if(view?.kind!=="section"||view.section.matches<2)return[];return[`\u898B\u51FA\u3057\u300C${oneLine(view.section.title)}\u300D\u306F\u30DA\u30FC\u30B8\u5185\u306B ${view.section.matches} \u500B\u3042\u308A\u307E\u3059\u3002\u6700\u521D\u306E\u3082\u306E\u3092\u51FA\u3057\u307E\u3057\u305F\u3002`]},
|
|
89
|
+
document:body=>{if(!isWikiPages(body))return wikiDocument(body);const total=body.pages.length;return body.pages.map((page,index)=>{const title=typeof page["title"]==="string"&&page["title"].trim()!==""?oneLine(page["title"]):"(\u7121\u984C)";return`=== ${index+1}/${total} ${title}\uFF08ID: ${String(page["id"]??"")}\uFF09 ===
|
|
51
90
|
|
|
52
91
|
${wikiDocument({result:true,page})}`}).join("\n")},failures:body=>isWikiPages(body)?body.failed:[]};var WIKI_VERSIONS_MAX=100;var WIKI_TAGS_MAX=50;var WIKI_TREE_COLUMNS=["depth","id","title","status","child_count","parent_page_id","updated_at"];var WIKI_VERSION_COLUMNS=["version","title","content_format","changed_by_name","changed_at"];var WIKI_BACKLINK_COLUMNS=["id","title","status","link_context","updated_at","updated_by_name"];var WIKI_LINKED_TASK_COLUMNS=["key","subject","status_id","task_id",
|
|
53
92
|
"project_id","created_by_name","created_at"];function pageIdAndRest(input,usage){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError("\u30DA\u30FC\u30B8\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(!isSafePathSegment(id))throw new UsageError(`\u30DA\u30FC\u30B8\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,"\u30DA\u30FC\u30B8\u306E ID \u306F twp wiki list / twp wiki tree \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002");
|
|
54
93
|
return{id,rest}}function versionNumber(raw,usage){const value=raw.trim();const n=/^\d+$/.test(value)?Number(value):Number.NaN;if(!Number.isSafeInteger(n)||n<1)throw new UsageError(`\u7248\u306F 1 \u4EE5\u4E0A\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usage);return n}function arrayField(body,key,label){const rows=isRecord(body)&&body["result"]===true?body[key]:void 0;if(!Array.isArray(rows))throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u306B ${key} \
|
|
55
|
-
\u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return rows}function flattenTree(body){
|
|
56
|
-
|
|
57
|
-
|
|
94
|
+
\u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return rows}function flattenTree(body){return flattenNodes(arrayField(body,"tree",`${WIKI_LABEL}\u306E\u30C4\u30EA\u30FC`)).map(row=>{const page={...row};delete page["content"];return page})}function flattenNodes(tree){const out=[];const stack=[...tree].reverse().map(node=>({node,depth:0}));while(stack.length>0){const{node,depth}=stack.pop();if(!isRecord(node))continue;
|
|
95
|
+
const children=Array.isArray(node["children"])?node["children"]:[];const page={...node,depth,child_count:children.length};delete page["children"];out.push(page);for(let i=children.length-1;i>=0;i--)stack.push({node:children[i],depth:depth+1})}return out}function treeDocument(body){const rows=flattenTree(body);if(rows.length===0)return"\uFF08wiki \u30DA\u30FC\u30B8\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\n";return`${rows.map(row=>{const title=typeof row["title"]==="string"&&row["title"].trim()!==
|
|
96
|
+
""?oneLine(row["title"]):"(\u7121\u984C)";const children=typeof row["child_count"]==="number"&&row["child_count"]>0?`\u30FB\u5B50 ${row["child_count"]}`:"";return`${" ".repeat(Number(row["depth"])||0)}- ${title} [${String(row["status"]??"?")}${children}] ${String(row["id"])}`}).join("\n")}
|
|
58
97
|
`}var projectFlag={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u3002\u7701\u7565\u6642\u306F\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var wikiTree={name:"tree",summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E${WIKI_LABEL}\u306E\u89AA\u5B50\u69CB\u9020\u3092\u51FA\u3059\uFF08\u672C\u6587\u306F\u51FA\u3055\u306A\u3044\uFF09`,usage:"twp wiki tree [--project <\u30B3\u30FC\u30C9|ID>]",
|
|
59
98
|
description:`\u5168\u30DA\u30FC\u30B8\u3092\u89AA\u5B50\u306E\u9806\uFF08\u753B\u9762\u306E\u4E26\u3073\uFF09\u30671\u884C\u305A\u3064\u51FA\u3057\u307E\u3059\u3002--output text \u306F\u5B57\u4E0B\u3052\u3057\u305F\u6728\u3001table / tsv \u306F\u8981\u7D04\u5217\uFF08${WIKI_TREE_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
60
99
|
**\u672C\u6587\u306F\u3069\u306E\u51FA\u529B\u5F62\u5F0F\u3067\u3082\u51FA\u3057\u307E\u305B\u3093**\uFF08--output json \u3082\u3001\u5404\u30DA\u30FC\u30B8\u304B\u3089 content \u3068 children \u3092\u5916\u3057 depth / child_count \u3092\u8DB3\u3057\u305F\u5E73\u3089\u306A\u914D\u5217\u3067\u3059\u3002\u30B5\u30FC\u30D0\u304C\u5BFE\u5FDC\u3057\u3066\u3044\u308C\u3070\u5192\u982D\u306E\u8981\u7D04 summary\uFF08\u5E73\u6587\u3067\u5148\u982D200\u6587\u5B57\uFF09\u3068\u672C\u6587\u306E\u6587\u5B57\u6570 content_length \u304C\u5165\u308A\u307E\u3059\uFF09\u3002\u672C\u6587\u306F twp wiki get \u3067\u8AAD\u3081\u307E\u3059\u3002
|
|
61
100
|
\u4E0B\u66F8\u304D\u306F\u4F5C\u6210\u8005\u3068 wiki \u306E\u7BA1\u7406\u8005\u306B\u3057\u304B\u898B\u3048\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u5224\u5B9A\uFF09\u3002`,flags:[projectFlag],async prepare(input,ctx){noArgs(input,"twp wiki tree");return withResolved(input,{project:await ctx.projectId(input.flags.get("--project"))})},plan:input=>({method:"GET",path:`${WIKI_PATH}/tree`,query:wikiTreeQuery(input)}),summarize:body=>flattenTree(body).map(row=>pick(row,WIKI_TREE_COLUMNS)),raw:flattenTree,
|
|
62
101
|
document:treeDocument};var wikiTagList={name:"tags",summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E${WIKI_LABEL}\u306B\u4ED8\u3044\u3066\u3044\u308B\u30BF\u30B0\u3092\u51FA\u3059`,usage:"twp wiki tags [--project <\u30B3\u30FC\u30C9|ID>]",description:"\u516C\u958B\uFF08published\uFF09\u306E\u30DA\u30FC\u30B8\u306B\u4ED8\u3044\u305F\u30BF\u30B0\u3092\u3001\u4ED8\u3044\u3066\u3044\u308B\u30DA\u30FC\u30B8\u306E\u591A\u3044\u9806\u306B\u6700\u592750\u4EF6\u51FA\u3057\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4ED5\u69D8\u3002\u4EF6\u6570\u306F\u8FD4\u308A\u307E\u305B\u3093\uFF09\u3002\n\u4E0B\u66F8\u304D\u306B\u3060\u3051\u4ED8\u3044\u305F\u30BF\u30B0\u306F\u51FA\u307E\u305B\u3093\u3002\u30BF\u30B0\u3067\u30DA\u30FC\u30B8\u3092\u7D5E\u308B\u306A\u3089 twp wiki list --tag <\u30BF\u30B0> \u3067\u3059\u3002",
|
|
63
102
|
flags:[projectFlag],async prepare(input,ctx){noArgs(input,"twp wiki tags");return withResolved(input,{project:await ctx.projectId(input.flags.get("--project"))})},plan:input=>({method:"GET",path:`${WIKI_PATH}/tags`,query:{project_id:requireResolved(input,"project")}}),summarize:body=>arrayField(body,"tags",`${WIKI_LABEL}\u306E\u30BF\u30B0`).map(tag=>({tag})),raw:body=>arrayField(body,"tags",`${WIKI_LABEL}\u306E\u30BF\u30B0`),notes:body=>arrayField(body,"tags",`${WIKI_LABEL}\u306E\u30BF\u30B0`).length>=
|
|
64
|
-
WIKI_TAGS_MAX?[`\u30B5\u30FC\u30D0\u304C\u8FD4\u3059\u30BF\u30B0\u306E\u4E0A\u9650\uFF08${WIKI_TAGS_MAX}\u4EF6\uFF09\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u3053\u308C\u3088\u308A\u5C11\u306A\u3044\u30DA\u30FC\u30B8\u306B\u3060\u3051\u4ED8\u3044\u305F\u30BF\u30B0\u306F\u51FA\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002`]:[]};var
|
|
65
|
-
|
|
66
|
-
|
|
103
|
+
WIKI_TAGS_MAX?[`\u30B5\u30FC\u30D0\u304C\u8FD4\u3059\u30BF\u30B0\u306E\u4E0A\u9650\uFF08${WIKI_TAGS_MAX}\u4EF6\uFF09\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u3053\u308C\u3088\u308A\u5C11\u306A\u3044\u30DA\u30FC\u30B8\u306B\u3060\u3051\u4ED8\u3044\u305F\u30BF\u30B0\u306F\u51FA\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002`]:[]};var WIKI_DIGEST_USAGE="twp wiki digest [--project <\u30B3\u30FC\u30C9|ID>] [--parent <\u30DA\u30FC\u30B8ID>] [--tag <\u30BF\u30B0>] [--max-chars <\u6587\u5B57\u6570>]";
|
|
104
|
+
var WIKI_DIGEST_SUMMARY_MAX=200;var WIKI_DIGEST_COLUMNS=["id","title","summary","tags","version","updated_at"];function digestSummary(content,format){const paragraphs=wikiContentToText(content,format).split(/\n\s*\n/);const isHeadingOrImage=line=>/^#{1,6}\s/.test(line)||/^!\[[^\]]*\]\([^)]*\)$/.test(line);const first=paragraphs.map(paragraph=>{const lines=paragraph.split("\n").map(line=>line.trim()).filter(line=>line!=="");const start=lines.findIndex(line=>!isHeadingOrImage(line));return start<0?
|
|
105
|
+
[]:lines.slice(start)}).find(lines=>lines.length>0);if(first===void 0)return"";const text2=oneLine(first.join("\n"));const chars=[...text2];return chars.length>WIKI_DIGEST_SUMMARY_MAX?`${chars.slice(0,WIKI_DIGEST_SUMMARY_MAX-1).join("")}\u2026`:text2}function digestParent(input){const raw=nonEmpty(input.flags,"--parent");if(raw===void 0)return void 0;const parent=raw.trim();if(parent!==ROOT_PARENT&&!isSafePathSegment(parent)){throw new UsageError(`\u89AA\u30DA\u30FC\u30B8\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${parent}`,
|
|
106
|
+
"\u30DA\u30FC\u30B8\u306E ID \u306F twp wiki tree \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}return parent===ROOT_PARENT?void 0:parent}function digestEntry(page){const meta=[`id: ${page.id}`,...metaLine("\u7248",page.version),...metaLine("\u66F4\u65B0",page.updated_at),...metaLine("\u30BF\u30B0",page.tags),...page.status==="draft"?["\u72B6\u614B: draft"]:[]].join(" \u30FB ");return[`## ${page.title}`,meta,...page.summary===""?[]:[page.summary]].join("\n")}function digestOmittedLine(omitted,maxChars){
|
|
107
|
+
return`\uFF08\u7701\u7565 ${omitted} \u4EF6: --max-chars ${maxChars} \u306B\u53CE\u307E\u3089\u306A\u3044\u305F\u3081\u3002--parent / --tag \u3067\u7D5E\u308B\u304B\u3001--max-chars \u3092\u5E83\u3052\u3066\u304F\u3060\u3055\u3044\uFF09`}function digestText(pages,omitted,maxChars){const parts=pages.map(digestEntry);if(omitted>0&&maxChars!==null)parts.push(digestOmittedLine(omitted,maxChars));if(parts.length===0)return"\uFF08\u8A72\u5F53\u3059\u308B wiki \u30DA\u30FC\u30B8\u306F\u3042\u308A\u307E\u305B\u3093\uFF09";
|
|
108
|
+
return parts.join("\n\n")}function fitDigest(pages,maxChars){const total=pages.length;let shown=total;if(maxChars!==null&&charCount(digestText(pages,0,maxChars))>maxChars){shown=0;let used=0;for(let k=1;k<=total;k++){used+=charCount(digestEntry(pages[k-1]))+(k>1?2:0);if(k===total)break;if(used+2+charCount(digestOmittedLine(total-k,maxChars))>maxChars)break;shown=k}}return{total,shown,omitted:total-shown,max_chars:maxChars,pages:pages.slice(0,shown)}}function digestPages(body,input){const tree=arrayField(
|
|
109
|
+
body,"tree",`${WIKI_LABEL}\u306E\u30C4\u30EA\u30FC`);const parent=digestParent(input);let roots=tree;if(parent!==void 0){const stack=[...tree];let found;while(stack.length>0&&found===void 0){const node=stack.pop();if(!isRecord(node))continue;const children=Array.isArray(node["children"])?node["children"]:[];if(node["id"]===parent)found=children;else for(const child of children)stack.push(child)}if(found===void 0){throw new ResolveError(`\u89AA\u30DA\u30FC\u30B8 ${parent} \u306F\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E wiki \u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093\
|
|
110
|
+
\uFF08\u524A\u9664\u6E08\u307F\u30FB\u4ED6\u4EBA\u306E\u4E0B\u66F8\u304D\u30FB\u5225\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8\u306F\u898B\u3048\u307E\u305B\u3093\uFF09`,404)}roots=found}const tag=nonEmpty(input.flags,"--tag")?.trim();return flattenNodes(roots).map(row=>{const tags=Array.isArray(row["tags"])?row["tags"].filter(t=>typeof t==="string").map(t=>t.trim()):[];const title=typeof row["title"]==="string"&&row["title"].trim()!==""?oneLine(row["title"]):"(\u7121\u984C)";return{
|
|
111
|
+
id:String(row["id"]),title,summary:digestSummary(row["content"],row["content_format"]),tags,version:row["version"]??null,updated_at:row["updated_at"]??null,status:row["status"]??null,depth:Number(row["depth"])||0,parent_page_id:row["parent_page_id"]??null}}).filter(page=>tag===void 0||page.tags.includes(tag))}function digestOf(body){const digest=isRecord(body)&&body["result"]===true?body["digest"]:void 0;if(!isRecord(digest)||!Array.isArray(digest["pages"])){throw new ApiResponseError(`${WIKI_LABEL}\
|
|
112
|
+
\u306E\u7D22\u5F15\u3092\u7D44\u307F\u7ACB\u3066\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return digest}var wikiDigest={name:"digest",summary:`${WIKI_LABEL}\u306E\u7D22\u5F15\uFF08\u4EF6\u540D\u30FBID\u30FB\u5192\u982D\u306E\u6BB5\u843D\u30FB\u30BF\u30B0\u30FB\u66F4\u65B0\u65E5\u30FB\u7248\uFF09\u30921\u56DE\u3067\u51FA\u3059`,usage:WIKI_DIGEST_USAGE,description:`\u30CA\u30EC\u30C3\u30B8\u306B\u4F55\u304C\u3042\u308B\u304B\u30921\u30B3\u30DE\u30F3\u30C9\u3067\u77E5\u308B\u305F\u3081\u306E\u64CD\u4F5C\u3067\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306E\u4EF6\u540D\u30FBID\u30FB\u672C\u6587\u306E\
|
|
113
|
+
\u5192\u982D\u306E\u6BB5\u843D\uFF08\u898B\u51FA\u3057\u3068\u753B\u50CF\u306F\u98DB\u3070\u3057\u3001${WIKI_DIGEST_SUMMARY_MAX}\u6587\u5B57\u307E\u3067\uFF09\u30FB\u30BF\u30B0\u30FB\u66F4\u65B0\u65E5\u30FB\u7248\u3092\u3001\u89AA\u5B50\u306E\u9806\uFF08\u753B\u9762\u306E\u4E26\u3073\uFF09\u3067\u51FA\u3057\u307E\u3059\u3002\u672C\u6587\u306E\u5168\u4F53\u306F twp wiki get \u3067\u8AAD\u3081\u307E\u3059\u3002
|
|
114
|
+
--parent <\u30DA\u30FC\u30B8ID> \u306F\u305D\u306E\u30DA\u30FC\u30B8\u306E\u914D\u4E0B\uFF08\u5B50\u30FB\u5B6B\u2026\u3002\u305D\u306E\u30DA\u30FC\u30B8\u81EA\u8EAB\u306F\u542B\u3081\u306A\u3044\uFF09\u3060\u3051\u3001--tag <\u30BF\u30B0> \u306F\u305D\u306E\u30BF\u30B0\u304C\u4ED8\u3044\u305F\u30DA\u30FC\u30B8\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
115
|
+
|
|
116
|
+
--max-chars <\u6587\u5B57\u6570> \u306F --output text \u306E\u51FA\u529B\u5168\u4F53\u306E\u6587\u5B57\u6570\u306E\u4E0A\u9650\u3067\u3059\u3002\u53CE\u307E\u3089\u306A\u3044\u30DA\u30FC\u30B8\u306F\u4E26\u3073\u306E\u5F8C\u308D\u304B\u3089\u843D\u3068\u3057\u3001\u843D\u3068\u3057\u305F\u4EF6\u6570\u3092\u300C\u7701\u7565 N \u4EF6\u300D\u3068\u3057\u3066\u5FC5\u305A\u51FA\u3057\u307E\u3059\uFF08text \u306F\u672B\u5C3E\u306E\u884C\u3001json \u306F omitted\u3001table / tsv \u306F stderr\uFF09\u30021\u4EF6\u3082\u53CE\u307E\u3089\u306A\u3044\u4E0A\u9650\u3067\u3082\u7701\u7565\u306E\u884C\u306F\u51FA\u3057\u307E\u3059\uFF08\u305D\u306E\u5834\u5408\u3060\u3051\u4E0A\u9650\u3092\u8D85\u3048\u307E\u3059\uFF09\u3002json / table / tsv \u306F text \u3068\u540C\u3058\u30DA\u30FC\u30B8\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\u304C\u3001\u6587\u5B57\u6570\u306E\u4E0A\u9650\u305D\u306E\u3082\u306E\u306F text \u306B\u3060\u3051\u5F53\u305F\u308A\u307E\u3059\u3002
|
|
117
|
+
--tag \u306F\u30BF\u30B0\u306E\u5B8C\u5168\u4E00\u81F4\u3067\u3059\u3002--parent root \u306F\u5168\u30DA\u30FC\u30B8\uFF08\u7D5E\u3089\u306A\u3044\u306E\u3068\u540C\u3058\uFF09\u3067\u3059\u3002
|
|
118
|
+
\u4E0B\u66F8\u304D\u306F\u4F5C\u6210\u8005\u3068 wiki \u306E\u7BA1\u7406\u8005\u306B\u3057\u304B\u898B\u3048\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u5224\u5B9A\uFF09\u3002`,flags:[projectFlag,{name:"--parent",summary:"\u89AA\u30DA\u30FC\u30B8\u306E ID\uFF08\u305D\u306E\u914D\u4E0B\u3060\u3051\u3092\u51FA\u3059\uFF09",takesValue:true,placeholder:"<\u30DA\u30FC\u30B8ID>"},{name:"--tag",summary:"\u3053\u306E\u30BF\u30B0\u304C\u4ED8\u3044\u305F\u30DA\u30FC\u30B8\u3060\u3051\u3092\u51FA\u3059",
|
|
119
|
+
takesValue:true,placeholder:"<\u30BF\u30B0>"},{name:"--max-chars",summary:"--output text \u306E\u51FA\u529B\u5168\u4F53\u306E\u6587\u5B57\u6570\u306E\u4E0A\u9650\uFF08\u8D85\u3048\u308B\u5206\u306F\u300C\u7701\u7565 N \u4EF6\u300D\u3068\u51FA\u3059\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u6570>"}],async prepare(input,ctx){noArgs(input,"twp wiki digest");digestParent(input);positiveInteger(input.flags,"--max-chars");return withResolved(input,{project:await ctx.projectId(input.flags.get(
|
|
120
|
+
"--project"))})},plan:input=>({method:"GET",path:`${WIKI_PATH}/tree`,query:{project_id:requireResolved(input,"project")}}),narrow:(body,input)=>({result:true,digest:fitDigest(digestPages(body,input),positiveInteger(input.flags,"--max-chars")??null)}),summarize:body=>digestOf(body).pages.map(page=>pick({...page,tags:page.tags.join(", ")},WIKI_DIGEST_COLUMNS)),raw:body=>digestOf(body),document:body=>{const digest=digestOf(body);return`${digestText(digest.pages,digest.omitted,digest.max_chars)}
|
|
121
|
+
`},notes:body=>{const digest=digestOf(body);return digest.omitted>0&&digest.max_chars!==null?[`${digest.total} \u4EF6\u4E2D ${digest.omitted} \u4EF6\u3092\u7701\u7565\u3057\u307E\u3057\u305F\uFF08--max-chars ${digest.max_chars} \u306B\u53CE\u307E\u3089\u306A\u3044\u305F\u3081\uFF09\u3002`]:[]}};var WIKI_VERSIONS_USAGE="twp wiki versions <\u30DA\u30FC\u30B8ID> [--limit <\u4EF6\u6570>]";function versionsLimit(input){const limit=positiveInteger(input.flags,"--limit");if(limit!==void 0&&limit>WIKI_VERSIONS_MAX){
|
|
122
|
+
throw new UsageError(`--limit \u306F 1\u301C${WIKI_VERSIONS_MAX} \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${limit}`,`\u30B5\u30FC\u30D0\u304C\u8FD4\u3059\u7248\u306E\u5C65\u6B74\u306F\u65B0\u3057\u3044\u9806\u306B\u6700\u5927${WIKI_VERSIONS_MAX}\u4EF6\u3067\u3059\u3002`)}return limit}var wikiVersions={name:"versions",summary:`${WIKI_LABEL}\u306E\u7248\u306E\u5C65\u6B74\u3092\u65B0\u3057\u3044\u9806\u306B\u51FA\u3059`,usage:WIKI_VERSIONS_USAGE,description:`\u7248\u306F\u672C\u6587\u304B\u4EF6\u540D\u3092\u5909\u3048\u305F\u3068\u304D\u306B1\u3064\u4E0A\u304C\u308A\u307E\u3059\u3002\u65E2\u5B9A\u306F\
|
|
123
|
+
\u65B0\u3057\u3044\u9806\u306B20\u4EF6\u3001--limit \u3067\u6700\u5927${WIKI_VERSIONS_MAX}\u4EF6\u3067\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\u3002\u305D\u308C\u3088\u308A\u53E4\u3044\u7248\u306F\u4E00\u89A7\u306B\u51FA\u307E\u305B\u3093\u304C\u3001\u7248\u756A\u53F7\u304C\u5206\u304B\u308C\u3070 twp wiki version \u3067\u8AAD\u3081\u307E\u3059\uFF09\u3002
|
|
67
124
|
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${WIKI_VERSION_COLUMNS.join(" / ")}\uFF09\u3001--output json \u306F\u5404\u7248\u306E\u672C\u6587\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3059\u3002
|
|
68
125
|
\u7248\u306E\u672C\u6587\u306F twp wiki version <\u30DA\u30FC\u30B8ID> <\u7248>\u30012\u3064\u306E\u7248\u306E\u9055\u3044\u306F twp wiki diff <\u30DA\u30FC\u30B8ID> <\u72481> [<\u72482>] \u3067\u8AAD\u3081\u307E\u3059\u3002`,flags:[{name:"--limit",summary:`\u51FA\u3059\u4EF6\u6570\uFF081\u301C${WIKI_VERSIONS_MAX}\u30FB\u65E2\u5B9A20\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"}],plan(input){const{id,rest}=pageIdAndRest(input,WIKI_VERSIONS_USAGE);if(rest.length>0)throw new UsageError(`twp\
|
|
69
126
|
wiki versions \u304C\u53D7\u3051\u53D6\u308C\u308B\u30DA\u30FC\u30B8 ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,WIKI_VERSIONS_USAGE);return{method:"GET",path:`${WIKI_PATH}/${encodeURIComponent(id)}/versions`,query:{limit:versionsLimit(input)}}},summarize:body=>arrayField(body,"versions",`${WIKI_LABEL}\u306E\u7248\u306E\u5C65\u6B74`).map(row=>pick(row,WIKI_VERSION_COLUMNS)),raw:body=>arrayField(body,"versions",`${WIKI_LABEL}\u306E\u7248\u306E\u5C65\u6B74`),notes(body,input){const rows=arrayField(
|
|
@@ -95,9 +152,10 @@ status_id \u306F\u30BF\u30B9\u30AF\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306E ID
|
|
|
95
152
|
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${WIKI_LINKED_TASK_COLUMNS.join(" / ")}\uFF09\u3001--output json \u306F\u30EA\u30F3\u30AF\u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08task \u306E\u5165\u308C\u5B50\u3092\u542B\u3080\uFF09\u3067\u3059\u3002`,flags:[],plan:input=>({method:"GET",path:`${WIKI_PATH}/${encodeURIComponent(singleId(input,"twp wiki linked-tasks","\u30DA\u30FC\u30B8","twp wiki list"))}/linked-tasks`}),summarize:body=>arrayField(body,"linked_tasks",`${WIKI_LABEL}\
|
|
96
153
|
\u306E\u95A2\u9023\u30BF\u30B9\u30AF`).map(linkedTaskRow),raw:body=>arrayField(body,"linked_tasks",`${WIKI_LABEL}\u306E\u95A2\u9023\u30BF\u30B9\u30AF`)};var WIKI_CONTENT_MAX_CHARS=4e5;var WIKI_TITLE_MAX_CHARS=255;var WIKI_TAG_MAX_CHARS=50;var WIKI_CREATE_USAGE="twp wiki create --project <\u30B3\u30FC\u30C9|ID> --title <\u4EF6\u540D> --content-file <\u30D1\u30B9|-> [--content-format <html|markdown>] [--parent <\u30DA\u30FC\u30B8ID>] [--status <draft|published>] [--tag <\u30BF\u30B0>]... [--verified-at <\u65E5\u4ED8|today>] [--evidence-task <\u30AD\u30FC>]... [--kind <\u7A2E\u5225>]";
|
|
97
154
|
var WIKI_UPDATE_USAGE="twp wiki update <\u30DA\u30FC\u30B8ID> [--title <\u4EF6\u540D>] [--content-file <\u30D1\u30B9|->] [--content-format <html|markdown>] [--status <draft|published>] [--tag <\u30BF\u30B0>]... [--clear-tags] [--verified-at <\u65E5\u4ED8|today>|--clear-verified-at] [--evidence-task <\u30AD\u30FC>...|--clear-evidence-tasks] [--kind <\u7A2E\u5225>|--clear-kind] [--if-version <\u7248>]";var WIKI_MOVE_USAGE="twp wiki move <\u30DA\u30FC\u30B8ID> [--parent <\u30DA\u30FC\u30B8ID>|root] [--sort-order <\u9806>]";
|
|
98
|
-
var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u52A0\u5DE5\u305B\u305A\u306B\u9001\u308B",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var WIKI_CONTENT_FORMAT_FLAG={name:"--content-format",summary:`\u672C\u6587\u306E\u5F62\u5F0F\uFF08${WIKI_CONTENT_FORMATS.join(" / ")}\uFF09`,takesValue:true,placeholder:"<\u5F62\u5F0F>"};var
|
|
99
|
-
|
|
100
|
-
--
|
|
155
|
+
var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u672C\u6587\u3092\u8AAD\u3080\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u52A0\u5DE5\u305B\u305A\u306B\u9001\u308B",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var WIKI_CONTENT_FORMAT_FLAG={name:"--content-format",summary:`\u672C\u6587\u306E\u5F62\u5F0F\uFF08${WIKI_CONTENT_FORMATS.join(" / ")}\uFF09`,takesValue:true,placeholder:"<\u5F62\u5F0F>"};var WIKI_FORMAT_BY_EXTENSION={".md":"markdown",".markdown":"ma\
|
|
156
|
+
rkdown",".html":"html",".htm":"html"};function inferredWikiFormat(input){if(input.flags.has("--content-format"))return void 0;const file=input.flags.get("--content-file");if(file===void 0||file==="-")return void 0;const extension=path.extname(file).toLowerCase();const format=WIKI_FORMAT_BY_EXTENSION[extension];return format===void 0?void 0:{format,extension}}var WIKI_STATUS_FLAG={name:"--status",summary:`\u72B6\u614B\uFF08${WIKI_STATUSES.join(" / ")}\uFF09`,takesValue:true,placeholder:"<\u72B6\u614B>"};
|
|
157
|
+
var WIKI_TAG_FLAG={name:"--tag",summary:`\u30BF\u30B0\uFF08\u8907\u6570\u56DE\u53EF\u30FB${WIKI_TAG_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u30BF\u30B0>",repeatable:true};var WIKI_WRITE_HELP="\u672C\u6587\u306F --content-file \u306E\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u304B\u3089\u8AAD\u307F\u3001\u52A0\u5DE5\u305B\u305A\u306B\u9001\u308A\u307E\u3059\uFF08\u5148\u982D\u306E BOM \u3060\u3051\u843D\u3068\u3057\u307E\u3059\uFF09\u3002\n\u672C\u6587\u306E\u5F62\u5F0F\u306F --content-format\uFF08html / markdown\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u7701\u304F\u3068 --content-file \u306E\u62E1\u5F35\u5B50\u3067\u6C7A\u3081\u307E\u3059\uFF08.md / .markdown \u306F markdown\u3001.html / .htm \u306F html\uFF09\u3002\u62E1\u5F35\u5B50\u3067\u6C7A\u307E\u3089\u306A\u3051\u308C\u3070\u5F62\u5F0F\u3092\u9001\u3089\u305A\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\u306B\u306A\u308A\u307E\u3059\uFF08\u672A\u8A2D\u5B9A\u306A\u3089 HTML\u3002\u65E2\u5B9A\u306F twp project update --wiki-default-\
|
|
158
|
+
format \u3067\u8A2D\u5B9A\uFF09\u3002\nHTML \u306E\u30DA\u30FC\u30B8\u306B Markdown \u3092\u9001\u3063\u3066\u3082\u5909\u63DB\u3057\u306A\u3044\u306E\u3067\u3001\u753B\u9762\u3067\u306F\u8A18\u53F7\u306E\u307E\u307E\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u4F5C\u6210\u5F8C\u306B\u5909\u3048\u3089\u308C\u307E\u305B\u3093\uFF08update \u3067\u9055\u3046\u5F62\u5F0F\u3092\u6307\u5B9A\u3059\u308B\u3068\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09\u3002update \u3067\u5F62\u5F0F\u3092\u62E1\u5F35\u5B50\u304B\u3089\u6C7A\u3081\u305F\u3068\u304D\u306F\u3001\u9001\u308B\u524D\u306B\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u3068\u7167\u5408\u3057\u3001\u9055\u3048\u3070\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u307E\u308A\u307E\u3059\u3002\n\u7DE8\u96C6\u30FB\u79FB\u52D5\u30FB\u524A\u9664\u3067\u304D\u308B\u306E\u306F\u3001\u30DA\u30FC\u30B8\u306E\u4F5C\u6210\u8005\u30FBwiki \u306E\u7BA1\u7406\u8005\u30FB\u7D44\u7E54\u306E\u7BA1\u7406\u8005\u3067\u3059\uFF08\u6A29\u9650\u304C\u7121\u3051\u308C\u3070\u30B5\u30FC\u30D0\u306E 403 \u306E\u6587\u9762\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\uFF09\u3002";
|
|
101
159
|
async function wikiContent(input,usage){return readBody(input,{flag:"--content",fileFlag:"--content-file",label:"wiki \u306E\u672C\u6587",maxChars:WIKI_CONTENT_MAX_CHARS,usage})}function wikiTitle(input){const raw=input.flags.get("--title");if(raw===void 0)return void 0;if(raw.trim()==="")throw new UsageError("--title \u304C\u7A7A\u3067\u3059","\u4EF6\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");const count=charCount(raw);if(count>WIKI_TITLE_MAX_CHARS){throw new UsageError(
|
|
102
160
|
`--title \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${count} \u6587\u5B57\u30FB\u4E0A\u9650 ${WIKI_TITLE_MAX_CHARS} \u6587\u5B57\uFF09`,"\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\u304C255\u6587\u5B57\u3067\u3059\u3002")}return raw}function wikiTags(input){const tags=repeatedValues(input,"--tag").map(tag=>tag.trim());const clear=input.flags.has("--clear-tags");if(clear&&tags.length>0){throw new UsageError("--tag \u3068 --clear-tags \u306F\u4F75\u7528\u3067\u304D\u307E\u305B\u3093","--tag \u306F\u30BF\u30B0\u3092\u307E\u308B\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059\
|
|
103
161
|
\u3002\u6D88\u3059\u3060\u3051\u306A\u3089 --clear-tags \u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}if(clear)return[];if(tags.length===0)return void 0;for(const tag of tags){if(tag==="")throw new UsageError("--tag \u304C\u7A7A\u3067\u3059","\u30BF\u30B0\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");if(charCount(tag)>WIKI_TAG_MAX_CHARS){throw new UsageError(`--tag \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${tag}\u30FB\u4E0A\u9650 ${WIKI_TAG_MAX_CHARS}\
|
|
@@ -119,18 +177,24 @@ ${WIKI_FRESHNESS_HELP}
|
|
|
119
177
|
\u4F8B:
|
|
120
178
|
twp wiki create --project TWP --title \u904B\u7528\u624B\u9806 --content-file notes.html --status published --tag \u904B\u7528
|
|
121
179
|
twp wiki create --project TWP --title \u843D\u3068\u3057\u7A74 --content-file notes.md --content-format markdown --verified-at today --evidence-task PRJ-123 --kind \u843D\u3068\u3057\u7A74
|
|
122
|
-
twp wiki create --project TWP --title \u904B\u7528\u624B\u9806 --content-file notes.md
|
|
180
|
+
twp wiki create --project TWP --title \u904B\u7528\u624B\u9806 --content-file notes.md # \u62E1\u5F35\u5B50\u304B\u3089 markdown
|
|
123
181
|
cat page.html | twp wiki create --title \u4E0B\u66F8\u304D --content-file - --dry-run`,flags:[{name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u3002\u7701\u7565\u6642\u306F\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--title",summary:`\u4EF6\u540D\uFF08\u5FC5\u9808\u30FB${WIKI_TITLE_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u4EF6\u540D>"},
|
|
124
182
|
CONTENT_FILE_FLAG,WIKI_CONTENT_FORMAT_FLAG,{name:"--parent",summary:"\u89AA\u30DA\u30FC\u30B8\u306E ID\uFF08\u7701\u7565\u6642\u306F\u6700\u4E0A\u4F4D\uFF09",takesValue:true,placeholder:"<\u30DA\u30FC\u30B8ID>"},WIKI_STATUS_FLAG,WIKI_TAG_FLAG,...WIKI_FRESHNESS_FLAGS],async prepare(input,ctx){noArgs(input,"twp wiki create");if(wikiTitle(input)===void 0)throw new UsageError("--title \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",WIKI_CREATE_USAGE);oneOf(input,"--status",WIKI_STATUSES);oneOf(
|
|
125
183
|
input,"--content-format",WIKI_CONTENT_FORMATS);wikiTags(input);wikiParent(input,false);wikiFreshnessBody(input);const content=await wikiContent(input,WIKI_CREATE_USAGE);if(content===void 0)throw new UsageError("\u672C\u6587\u3092 --content-file \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",WIKI_CREATE_USAGE);return withResolved(input,{project:await ctx.projectId(input.flags.get("--project")),content})},plan(input){const parent=wikiParent(input,
|
|
126
|
-
false);const contentFormat=oneOf(input,"--content-format",WIKI_CONTENT_FORMATS);return{method:"POST",path:WIKI_PATH,body:{project_id:requireResolved(input,"project"),title:wikiTitle(input),content:requireResolved(input,"content"),...contentFormat!==void 0?{content_format:contentFormat}:{},...oneOf(input,"--status",WIKI_STATUSES)!==void 0?{status:oneOf(input,"--status",WIKI_STATUSES)}:{},...parent!==void 0?{parent_page_id:parent}:{},...wikiTags(input)!==void 0?{
|
|
127
|
-
input)}}},plannedNotes:input=>[...input.flags.has("--status")?[]:["--status \u3092\u7701\u3044\u305F\u306E\u3067\u4E0B\u66F8\u304D\uFF08draft\uFF09\u3067\u4F5C\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\uFF09\u3002"],...input.flags.has("--content-format")
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
184
|
+
false);const contentFormat=oneOf(input,"--content-format",WIKI_CONTENT_FORMATS)??inferredWikiFormat(input)?.format;return{method:"POST",path:WIKI_PATH,body:{project_id:requireResolved(input,"project"),title:wikiTitle(input),content:requireResolved(input,"content"),...contentFormat!==void 0?{content_format:contentFormat}:{},...oneOf(input,"--status",WIKI_STATUSES)!==void 0?{status:oneOf(input,"--status",WIKI_STATUSES)}:{},...parent!==void 0?{parent_page_id:parent}:{},...wikiTags(input)!==void 0?{
|
|
185
|
+
tags:wikiTags(input)}:{},...wikiFreshnessBody(input)}}},plannedNotes:input=>[...input.flags.has("--status")?[]:["--status \u3092\u7701\u3044\u305F\u306E\u3067\u4E0B\u66F8\u304D\uFF08draft\uFF09\u3067\u4F5C\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\uFF09\u3002"],...wikiCreateFormatNotes(input)],summarize:body=>pick(pageFrom(body),WIKI_GET_COLUMNS),raw:pageFrom};function wikiCreateFormatNotes(input){if(input.flags.has("--content-format"))return[];const inferred=inferredWikiFormat(
|
|
186
|
+
input);if(inferred!==void 0){return[`--content-format \u3092\u7701\u3044\u305F\u306E\u3067\u3001--content-file \u306E\u62E1\u5F35\u5B50\uFF08${inferred.extension}\uFF09\u304B\u3089 ${inferred.format} \u306E\u30DA\u30FC\u30B8\u3068\u3057\u3066\u4F5C\u308A\u307E\u3059\u3002\u9055\u3046\u5F62\u5F0F\u306B\u3059\u308B\u306A\u3089 --content-format \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`]}return["--content-format \u3092\u7701\u304D\u3001\u62E1\u5F35\u5B50\u304B\u3089\u3082\u5F62\u5F0F\u304C\u6C7A\u307E\u3089\u306A\u3044\u306E\u3067\u5F62\u5F0F\u3092\u9001\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\u3067\u4F5C\u308A\u307E\u3059\uFF08\u672A\u8A2D\u5B9A\u306A\u3089 HTML\u3002twp projec\
|
|
187
|
+
t get \u306E wiki_default_content_format \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002"]}async function previewWikiUpdate(input,ctx){const expected=positiveInteger(input.flags,"--if-version");const inferred=inferredWikiFormat(input);if(expected===void 0&&inferred===void 0)return{notes:[],warnings:[]};const id=singleId(input,"twp wiki update","\u30DA\u30FC\u30B8","twp wiki list");const page=pageFrom(await ctx.send({method:"GET",path:`${WIKI_PATH}/${encodeURIComponent(id)}`}));const notes=[];
|
|
188
|
+
if(expected!==void 0){const current=page["version"];if(current!==expected){throw new ApiRejectedError(`\u30DA\u30FC\u30B8 ${id} \u306E\u7248\u304C ${String(current)} \u3067\u3059\uFF08--if-version ${expected}\uFF09\u3002\u4ED6\u306E\u66F4\u65B0\u3068\u885D\u7A81\u3057\u305F\u306E\u3067\u4F55\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093\u3002twp wiki get \u3067\u6700\u65B0\u306E\u672C\u6587\u3092\u8AAD\u307F\u3001\u53CD\u6620\u3057\u76F4\u3057\u3066\u304B\u3089 --if-version \u3092\u4ED8\u3051\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
189
|
+
notes.push(`\u7248 ${expected} \u3092\u78BA\u8A8D\u3057\u307E\u3057\u305F\uFF08\u7248\u7167\u5408\u306B\u5BFE\u5FDC\u3057\u305F\u30B5\u30FC\u30D0\u3067\u306F\u9001\u4FE1\u6642\u306B\u3082\u7167\u5408\u3057\u3001\u9593\u306B\u4ED6\u306E\u66F4\u65B0\u304C\u3042\u308C\u3070 409 \u3067\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002`)}if(inferred!==void 0){const pageFormat=typeof page["content_format"]==="string"&&page["content_format"]!==""?page["content_format"]:"html";if(pageFormat!==inferred.format){throw new ApiRejectedError(
|
|
190
|
+
`\u30DA\u30FC\u30B8 ${id} \u306E\u5F62\u5F0F\u306F ${pageFormat} \u3067\u3059\u304C\u3001--content-file \u306E\u62E1\u5F35\u5B50\uFF08${inferred.extension}\uFF09\u306F ${inferred.format} \u3067\u3059\u3002\u4F55\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093\u3002\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u4F5C\u6210\u5F8C\u306B\u5909\u3048\u3089\u308C\u307E\u305B\u3093\u3002\u672C\u6587\u3092 ${pageFormat} \u3067\u66F8\u304D\u76F4\u3059\u304B\u3001${inferred.format} \u3067\u65B0\u3057\u3044\u30DA\u30FC\u30B8\u3092\u4F5C\u3063\u3066\u304F\u3060\u3055\u3044\uFF08\u3053\u306E\u672C\u6587\u3092\u305D\u306E\u307E\u307E\u9001\u308B\
|
|
191
|
+
\u306A\u3089 --content-format ${pageFormat} \u3092\u660E\u793A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`)}notes.push(`--content-file \u306E\u62E1\u5F35\u5B50\uFF08${inferred.extension}\uFF09\u304C\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\uFF08${pageFormat}\uFF09\u3068\u4E00\u81F4\u3059\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u307E\u3057\u305F\u3002`)}return{notes,warnings:[]}}var wikiUpdate={name:"update",summary:`${WIKI_LABEL}\u3092\u66F4\u65B0\u3059\u308B\uFF08\u4EF6\u540D\u30FB\u672C\u6587\u30FB\u72B6\u614B\u30FB\u30BF\u30B0\uFF09`,
|
|
192
|
+
usage:WIKI_UPDATE_USAGE,description:`${WIKI_WRITE_HELP}
|
|
131
193
|
\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u9001\u308A\u307E\u3059\u3002--tag \u306F\u30BF\u30B0\u3092\u307E\u308B\u3054\u3068\u7F6E\u304D\u63DB\u3048\u3001--clear-tags \u306F\u30BF\u30B0\u3092\u7A7A\u306B\u3057\u307E\u3059\u3002
|
|
132
|
-
--
|
|
133
|
-
|
|
194
|
+
--content-file \u306E\u62E1\u5F35\u5B50\u304B\u3089\u5F62\u5F0F\u304C\u6C7A\u307E\u308B\u3068\u304D\uFF08--content-format \u3092\u7701\u3044\u305F\u3068\u304D\uFF09\u306F\u3001\u9001\u308B\u524D\u306B\u30DA\u30FC\u30B8\u3092\u53D6\u5F97\u3057\u3066\u5F62\u5F0F\u3092\u7167\u5408\u3057\u307E\u3059\u3002
|
|
195
|
+
--if-version <\u7248> \u3092\u4ED8\u3051\u308B\u3068\u3001\u30DA\u30FC\u30B8\u306E\u7248\uFF08twp wiki get \u306E version\uFF09\u304C\u4E00\u81F4\u3059\u308B\u3068\u304D\u3060\u3051\u66F4\u65B0\u3057\u307E\u3059\u3002
|
|
196
|
+
\u7248\u7167\u5408\u306B\u5BFE\u5FDC\u3057\u305F\u30B5\u30FC\u30D0\uFF08TWP-6838 \u4EE5\u964D\uFF09\u306F\u66F8\u304D\u8FBC\u307F\u306E\u6642\u70B9\u3067\u3082\u7167\u5408\u3057\u3001\u4ED6\u306E\u66F4\u65B0\u3068\u885D\u7A81\u3059\u308B\u3068\u4F55\u3082\u5909\u3048\u305A\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u3067\u6B62\u307E\u308A\u307E\u3059\uFF08\u73FE\u5728\u306E\u7248\u3092\u8868\u793A\u3057\u307E\u3059\uFF09\u3002
|
|
197
|
+
\u5BFE\u5FDC\u524D\u306E\u30B5\u30FC\u30D0\u3067\u306F\u9001\u308B\u76F4\u524D\u306E\u7167\u5408\u3060\u3051\u306B\u306A\u308A\u3001\u7167\u5408\u3068\u9001\u4FE1\u306E\u9593\u306E\u4ED6\u4EBA\u306E\u66F4\u65B0\u307E\u3067\u306F\u9632\u3052\u307E\u305B\u3093\u3002\u7248\u304C\u4E0A\u304C\u308B\u306E\u306F\u672C\u6587\u304B\u4EF6\u540D\u3092\u5909\u3048\u305F\u3068\u304D\u3060\u3051\u3067\u3059\u3002
|
|
134
198
|
\u89AA\u30DA\u30FC\u30B8\u306E\u4ED8\u3051\u66FF\u3048\u306F twp wiki move \u3067\u3059\u3002
|
|
135
199
|
${WIKI_FRESHNESS_HELP}
|
|
136
200
|
--evidence-task \u306F\u6839\u62E0\u30BF\u30B9\u30AF\u3092\u307E\u308B\u3054\u3068\u7F6E\u304D\u63DB\u3048\u307E\u3059\u3002--clear-verified-at / --clear-evidence-tasks / --clear-kind \u306F\u305D\u308C\u305E\u308C\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3057\u307E\u3059\u3002\u9BAE\u5EA6\u5C5E\u6027\u3060\u3051\u3092\u5909\u3048\u3066\u3082\u7248\u306F\u4E0A\u304C\u308A\u307E\u305B\u3093\u3002
|
|
@@ -138,12 +202,12 @@ ${WIKI_FRESHNESS_HELP}
|
|
|
138
202
|
\u4F8B:
|
|
139
203
|
twp wiki update 0f8b2c6e-... --content-file notes.html --if-version 3
|
|
140
204
|
twp wiki update 0f8b2c6e-... --verified-at today --evidence-task PRJ-123`,flags:[{name:"--title",summary:`\u4EF6\u540D\uFF08${WIKI_TITLE_MAX_CHARS}\u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u4EF6\u540D>"},CONTENT_FILE_FLAG,WIKI_CONTENT_FORMAT_FLAG,WIKI_STATUS_FLAG,WIKI_TAG_FLAG,{name:"--clear-tags",summary:"\u30BF\u30B0\u3092\u7A7A\u306B\u3059\u308B",takesValue:false},...WIKI_FRESHNESS_FLAGS,{name:"--clear-verified-at",summary:"\u6700\u7D42\u5B9F\u6E2C\u65E5\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3059",
|
|
141
|
-
takesValue:false},{name:"--clear-evidence-tasks",summary:"\u6839\u62E0\u30BF\u30B9\u30AF\u3092\u7A7A\u306B\u3059\u308B",takesValue:false},{name:"--clear-kind",summary:"\u7A2E\u5225\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3059",takesValue:false},{name:"--if-version",summary:"\
|
|
142
|
-
"twp wiki list");const title=wikiTitle(input);const status=oneOf(input,"--status",WIKI_STATUSES);const contentFormat=oneOf(input,"--content-format",WIKI_CONTENT_FORMATS);const tags=wikiTags(input);positiveInteger(input.flags,"--if-version");const freshness=wikiFreshnessBody(input);const content=await wikiContent(input,WIKI_UPDATE_USAGE);if(title===void 0&&status===void 0&&tags===void 0&&
|
|
143
|
-
\u3093",`--title / --content-file / --content-format / --status / --tag / --clear-tags / --verified-at / --evidence-task / --kind\uFF08\u3068\u5404 --clear-*\uFF09\u306E\u3069\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
144
|
-
${WIKI_UPDATE_USAGE}`)}return content===void 0?input:withResolved(input,{content})},preview:
|
|
145
|
-
void 0?{title}:{},...content!==void 0?{content}:{},...contentFormat!==void 0?{content_format:contentFormat}:{},...status!==void 0?{status}:{},...tags!==void 0?{tags}:{},...wikiFreshnessBody(input)}}},summarize:body=>pick(pageFrom(body),WIKI_GET_COLUMNS),raw:pageFrom};var wikiMove={name:"move",summary:`${WIKI_LABEL}\u306E\u89AA\u30DA\u30FC\u30B8\u3092\u4ED8\u3051\u66FF\u3048\u308B\uFF08root \u3067\u6700\u4E0A\u4F4D\u3078\uFF09`,
|
|
146
|
-
\u81EA\u5206\u81EA\u8EAB\u3084\u81EA\u5206\u306E\u5B50\u5B6B\u306E\u4E0B\u3078\u306F\u79FB\u305B\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF09\u3002
|
|
205
|
+
takesValue:false},{name:"--clear-evidence-tasks",summary:"\u6839\u62E0\u30BF\u30B9\u30AF\u3092\u7A7A\u306B\u3059\u308B",takesValue:false},{name:"--clear-kind",summary:"\u7A2E\u5225\u3092\u672A\u8A2D\u5B9A\u306B\u623B\u3059",takesValue:false},{name:"--if-version",summary:"\u4E00\u81F4\u3059\u308B\u3068\u304D\u3060\u3051\u66F4\u65B0\u3059\u308B\u7248\uFF08\u9001\u308B\u524D\u3068\u3001\u5BFE\u5FDC\u30B5\u30FC\u30D0\u3067\u306F\u66F8\u304D\u8FBC\u307F\u6642\u306B\u3082\u7167\u5408\u3057\u3001\u9055\u3048\u3070\u4F55\u3082\u5909\u3048\u306A\u3044\uFF09",
|
|
206
|
+
takesValue:true,placeholder:"<\u7248>"}],async prepare(input){singleId(input,"twp wiki update","\u30DA\u30FC\u30B8","twp wiki list");const title=wikiTitle(input);const status=oneOf(input,"--status",WIKI_STATUSES);const contentFormat=oneOf(input,"--content-format",WIKI_CONTENT_FORMATS);const tags=wikiTags(input);positiveInteger(input.flags,"--if-version");const freshness=wikiFreshnessBody(input);const content=await wikiContent(input,WIKI_UPDATE_USAGE);if(title===void 0&&status===void 0&&tags===void 0&&
|
|
207
|
+
content===void 0&&contentFormat===void 0&&Object.keys(freshness).length===0){throw new UsageError("\u66F4\u65B0\u3059\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093",`--title / --content-file / --content-format / --status / --tag / --clear-tags / --verified-at / --evidence-task / --kind\uFF08\u3068\u5404 --clear-*\uFF09\u306E\u3069\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
|
208
|
+
${WIKI_UPDATE_USAGE}`)}return content===void 0?input:withResolved(input,{content})},preview:previewWikiUpdate,plan(input){const id=singleId(input,"twp wiki update","\u30DA\u30FC\u30B8","twp wiki list");const title=wikiTitle(input);const status=oneOf(input,"--status",WIKI_STATUSES);const tags=wikiTags(input);const content=input.resolved?.["content"];const contentFormat=oneOf(input,"--content-format",WIKI_CONTENT_FORMATS);const expectedVersion=positiveInteger(input.flags,"--if-version");return{method:"\
|
|
209
|
+
PUT",path:`${WIKI_PATH}/${encodeURIComponent(id)}`,body:{...title!==void 0?{title}:{},...content!==void 0?{content}:{},...contentFormat!==void 0?{content_format:contentFormat}:{},...status!==void 0?{status}:{},...tags!==void 0?{tags}:{},...expectedVersion!==void 0?{expected_version:expectedVersion}:{},...wikiFreshnessBody(input)}}},summarize:body=>pick(pageFrom(body),WIKI_GET_COLUMNS),raw:pageFrom};var wikiMove={name:"move",summary:`${WIKI_LABEL}\u306E\u89AA\u30DA\u30FC\u30B8\u3092\u4ED8\u3051\u66FF\u3048\u308B\uFF08root \u3067\u6700\u4E0A\u4F4D\u3078\uFF09`,
|
|
210
|
+
usage:WIKI_MOVE_USAGE,description:`--parent ${ROOT_PARENT} \u3067\u6700\u4E0A\u4F4D\u3078\u79FB\u3057\u307E\u3059\u3002\u81EA\u5206\u81EA\u8EAB\u3084\u81EA\u5206\u306E\u5B50\u5B6B\u306E\u4E0B\u3078\u306F\u79FB\u305B\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C 422 \u3067\u65AD\u308A\u307E\u3059\uFF09\u3002
|
|
147
211
|
--sort-order \u306F\u5144\u5F1F\u306E\u4E2D\u3067\u306E\u8868\u793A\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\u6570\uFF09\u3067\u3059\u3002--sort-order \u3060\u3051\u306A\u3089\u89AA\u306F\u305D\u306E\u307E\u307E\u3067\u4E26\u3079\u66FF\u3048\u307E\u3059\u3002`,flags:[{name:"--parent",summary:`\u79FB\u52D5\u5148\u306E\u89AA\u30DA\u30FC\u30B8\u306E ID\uFF08${ROOT_PARENT} \u3067\u6700\u4E0A\u4F4D\uFF09`,takesValue:true,placeholder:"<\u30DA\u30FC\u30B8ID>|root"},{name:"--sort-order",summary:"\u8868\u793A\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\
|
|
148
212
|
\u6570\uFF09",takesValue:true,placeholder:"<\u9806>"}],plan(input){const id=singleId(input,"twp wiki move","\u30DA\u30FC\u30B8","twp wiki list");const parent=wikiParent(input,true);const sortRaw=nonEmpty(input.flags,"--sort-order");let sortOrder;if(sortRaw!==void 0){sortOrder=/^\d+$/.test(sortRaw.trim())?Number(sortRaw.trim()):Number.NaN;if(!Number.isSafeInteger(sortOrder))throw new UsageError(`--sort-order \u306F 0 \u4EE5\u4E0A\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${sortRaw}`,
|
|
149
213
|
WIKI_MOVE_USAGE)}if(parent===void 0&&sortOrder===void 0){throw new UsageError(`--parent \u304B --sort-order \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u6700\u4E0A\u4F4D\u3078\u79FB\u3059\u306A\u3089 --parent ${ROOT_PARENT}\uFF09`,WIKI_MOVE_USAGE)}return{method:"PUT",path:`${WIKI_PATH}/${encodeURIComponent(id)}/move`,body:{...parent!==void 0?{parent_page_id:parent}:{},...sortOrder!==void 0?{sort_order:sortOrder}:{}}}},summarize:body=>pick(pageFrom(body),WIKI_GET_COLUMNS),raw:pageFrom};
|
|
@@ -195,5 +259,5 @@ ine"]],["\u72B6\u614B",status]])}`]}).join("\n")}function attendeeNames(value,ke
|
|
|
195
259
|
|
|
196
260
|
--output table / tsv \u306F\u8981\u7D04\u5217\uFF08${MEETING_GET_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
|
|
197
261
|
\u95B2\u89A7\u3067\u304D\u306A\u3044\u8B70\u4E8B\u9332\u306F\u300C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u300D\u306B\u306A\u308A\u307E\u3059\uFF08\u516C\u958B\u7BC4\u56F2\u306E\u5224\u5B9A\u306F\u30B5\u30FC\u30D0\uFF09\u3002`,flags:[],plan:input=>({method:"GET",path:`${MEETINGS_PATH}/${encodeURIComponent(singleId(input,"twp meeting get","\u8B70\u4E8B\u9332","twp meeting list"))}`}),summarize:body=>pick(record(body,"meeting",MEETING_LABEL),MEETING_GET_COLUMNS),raw:body=>record(body,"meeting",
|
|
198
|
-
MEETING_LABEL),document:meetingDocument};var wikiDomain={name:"wiki",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E wiki\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u30FB\u69CB\u9020\u30FB\u30BF\u30B0\u30FB\u7248\u306E\u5C65\u6B74\u3068\u5DEE\u5206\u30FB\u88AB\u30EA\u30F3\u30AF\u30FB\u95A2\u9023\u30BF\u30B9\u30AF\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u79FB\u52D5\u30FB\u524A\u9664\uFF09",operations:[wikiList,wikiGet,wikiTree,wikiTagList,wikiVersions,wikiVersion,wikiDiff,wikiBacklinks,
|
|
199
|
-
wikiCreate,wikiUpdate,wikiMove,wikiDelete]};var noteDomain={name:"note",summary:"\u30CE\u30FC\u30C8\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u3092\u8AAD\u3080\uFF09",operations:[noteList,noteGet]};var meetingDomain={name:"meeting",summary:"\u8B70\u4E8B\u9332\uFF08\u671F\u9593\u3067\u306E\u4E00\u89A7\u30FB\u672C\u6587\u3092\u8AAD\u3080\uFF09",operations:[meetingList,meetingGet]};export{meetingDomain,noteDomain,wikiDomain};
|
|
262
|
+
MEETING_LABEL),document:meetingDocument};var wikiDomain={name:"wiki",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E wiki\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u30FB\u69CB\u9020\u30FB\u30BF\u30B0\u30FB\u7248\u306E\u5C65\u6B74\u3068\u5DEE\u5206\u30FB\u88AB\u30EA\u30F3\u30AF\u30FB\u95A2\u9023\u30BF\u30B9\u30AF\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u79FB\u52D5\u30FB\u524A\u9664\uFF09",operations:[wikiList,wikiGet,wikiTree,wikiTagList,wikiDigest,wikiVersions,wikiVersion,wikiDiff,wikiBacklinks,
|
|
263
|
+
wikiLinkedTasks,wikiCreate,wikiUpdate,wikiMove,wikiDelete]};var noteDomain={name:"note",summary:"\u30CE\u30FC\u30C8\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u3092\u8AAD\u3080\uFF09",operations:[noteList,noteGet]};var meetingDomain={name:"meeting",summary:"\u8B70\u4E8B\u9332\uFF08\u671F\u9593\u3067\u306E\u4E00\u89A7\u30FB\u672C\u6587\u3092\u8AAD\u3080\uFF09",operations:[meetingList,meetingGet]};export{digestSummary,fitDigest,meetingDomain,noteDomain,resolveWikiPath,wikiDomain};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-
|
|
4
|
-
import"./chunk-
|
|
3
|
+
import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-D37WSWBT.js";import"./chunk-7SYIYLHX.js";import"./chunk-5P22UEUF.js";import"./chunk-MNJYY3PR.js";import{USER_REF_FLAG,USER_REF_HELP,assertMonthsOpen,userPath}from"./chunk-2YVJ3QVJ.js";import{dateFlag}from"./chunk-EXT4AIDF.js";import"./chunk-FHOJFKR3.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";
|
|
4
|
+
import"./chunk-4B6GJBYP.js";import{UUID_RE}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";
|
|
5
5
|
import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_USAGE="twp leave list";var GRANTS_USAGE="twp leave grants [<\u30E6\u30FC\u30B6\u30FC> | --user <\u30E6\u30FC\u30B6\u30FC>]";var USAGE_COLUMNS=["used_date","type_label","days","hours","status_label","reason","is_post_application","id"];var GRANT_COLUMNS=["grant_date","type_label","days","remaining_days","remaining_hours","expiry_date","status_label","reason","id"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.
|
|
6
6
|
args.join(" ")}`,`twp leave ${operation} help`)}}function summaryBody(body){if(!isRecord(body)||!isRecord(body["summary"])){throw new ApiResponseError("\u6709\u7D66\u30B5\u30DE\u30EA\u306E\u5FDC\u7B54\u306B summary \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function usagesBody(body){if(!isRecord(body)||!Array.isArray(body["usages"])){throw new ApiResponseError("\u6709\u7D66\u306E\u53D6\u5F97\u5C65\u6B74\u306E\u5FDC\u7B54\u306B usages \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
7
7
|
return body}function grantsBody(body){if(!isRecord(body)||!Array.isArray(body["grants"])){throw new ApiResponseError("\u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\u306E\u5FDC\u7B54\u306B grants \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function listBody(body){const combined=isRecord(body)?body:{};return{summary:summaryBody(combined["summary"]),usages:usagesBody(combined["usages"])}}async function list(input,ctx){
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CONCURRENCY,DEFAULT_INACTIVE_DAYS,LOGIN_HISTORY_RETENTION_DAYS,daysBetween,lastLogin,lastLoginText,mapPool,pacedSender,primaryAssignment,recentlyHired,spreadsheetSafe,userDetail}from"./chunk-
|
|
4
|
-
withResolved}from"./chunk-PS5QFKHB.js";import
|
|
3
|
+
import{CONCURRENCY,DEFAULT_INACTIVE_DAYS,LOGIN_HISTORY_RETENTION_DAYS,daysBetween,lastLogin,lastLoginText,mapPool,pacedSender,primaryAssignment,recentlyHired,spreadsheetSafe,userDetail}from"./chunk-DYNNGNXR.js";import"./chunk-QLENN5DD.js";import{positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{DEPARTMENTS_PATH}from"./chunk-4B6GJBYP.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";
|
|
4
|
+
import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LICENSE_FEATURE_NAMES={content_management:"\u30B3\u30F3\u30C6\u30F3\u30C4\u7BA1\u7406",inquiry:"\u554F\u3044\u5408\u308F\u305B\u7BA1\u7406",workflow:"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",hearing:"\u30D2\u30A2\u30EA\u30F3\u30B0",task_management:"\u30BF\u30B9\u30AF\u7BA1\u7406",sales:"\u53D6\u5F15\u7BA1\u7406",attendance:"\u52E4\u6020\u7BA1\u7406",report:"\u30EC\u30DD\u30FC\u30C8",hr_management:"\u4EBA\u6750\u7BA1\u7406",learning:"\u5B66\u7FD2\u7BA1\u7406",expense:"\u7D4C\u8CBB\u7BA1\u7406",test:"\
|
|
5
5
|
\u30B7\u30CA\u30EA\u30AA\u30C6\u30B9\u30C8\u7BA1\u7406",chat:"\u30C1\u30E3\u30C3\u30C8",customer:"\u9867\u5BA2\u7BA1\u7406",survey:"\u30A2\u30F3\u30B1\u30FC\u30C8",organization_survey:"\u7D44\u7E54\u30B5\u30FC\u30D9\u30A4",feedback:"\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF",notes:"\u30CE\u30FC\u30C8",wiki_management:"Wiki",meeting_minutes:"\u8B70\u4E8B\u9332",equipment_management:"\u5099\u54C1\u7BA1\u7406",floor_map:"\u30D5\u30ED\u30A2\u30DE\u30C3\u30D7"};var LICENSES_PATH="/api/v2/licenses";var FORBIDDEN="\
|
|
6
6
|
\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp license \u306F\u30C6\u30CA\u30F3\u30C8\u306E\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059";var LIST_USAGE="twp license list";var ASSIGNMENTS_USAGE="twp license assignments <\u6A5F\u80FD\u30B3\u30FC\u30C9|\u6A5F\u80FD\u540D> | --all-features [--inactive-days <\u65E5\u6570>]";var ASSIGNMENTS_HELP="twp license assignments help";var RELEASE_COMMAND_PENDING="twp user permission set \u306F\u4ECA\u5F8C\u306E\u7248\
|
|
7
7
|
\u3067\u8FFD\u52A0\u3055\u308C\u308B\u30B3\u30DE\u30F3\u30C9\u3067\u3059\u3002\u307E\u3060\u7121\u3044\u7248\u3067\u306F";var DEPARTMENT_LIMIT=1e3;function featureName(code){return LICENSE_FEATURE_NAMES[code]??code}function featureSegment(code){if(!/^[a-z][a-z0-9_]*$/.test(code)){throw new ApiResponseError(`\u6A5F\u80FD\u30B3\u30FC\u30C9\u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${code}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return code}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{defaultIsLoopProcess,readLockOwner,sameTwpHome}from"./chunk-3WHC4FSG.js";import{LEGACY_STATE_DIR_NAME,STATE_DIR_NAME,loopStateDir}from"./chunk-
|
|
3
|
+
import{defaultIsLoopProcess,readLockOwner,sameTwpHome}from"./chunk-3WHC4FSG.js";import{LEGACY_STATE_DIR_NAME,STATE_DIR_NAME,loopStateDir}from"./chunk-GAXJPIKO.js";import"./chunk-VYDPW2YO.js";import"./chunk-FABDZBDZ.js";import"./chunk-XMPHGOW4.js";import"./chunk-TTST7UDR.js";import"./chunk-6CS5L24D.js";import"./chunk-N2UVRM3Z.js";import"./chunk-GY7KI5E5.js";import"./chunk-PMOUHEJQ.js";import"./chunk-5WGOHFAS.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";
|
|
4
4
|
import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import os from"os";import path from"path";var PIDLESS_GRACE_MS=6e4;function defaultStateDirs(env){const home=os.homedir();const dirs=[loopStateDir(env),path.join(home,STATE_DIR_NAME),path.join(home,LEGACY_STATE_DIR_NAME)].map(d=>path.resolve(d));return[...new Set(dirs)]}function readPidFile(lockDir){try{const raw=fs.readFileSync(path.join(lockDir,"pid"),"utf8").split("\n")[0]?.trim()??"";const n=Number.parseInt(raw,10);return{pid:Number.isInteger(n)&&n>0?n:null,error:null}}catch(err){const code=err.code;return{pid:null,error:code==="ENO\
|
|
5
5
|
ENT"?null:code??err.message}}}function findLoopsUsingProfile(profileName,deps={}){const env=deps.env??process.env;const now=deps.now??Date.now;const isLoopProcess=deps.isLoopProcess??defaultIsLoopProcess;const myHome=twpHomeDir(env);const result={users:[],undetermined:[]};for(const stateDir of deps.stateDirs??defaultStateDirs(env)){let dirs;try{dirs=fs.readdirSync(stateDir).filter(d=>/^task-loop-.*\.lock\.d$/.test(d))}catch(err){if(err.code==="ENOENT")continue;result.undetermined.push({pid:null,
|
|
6
6
|
lockDir:stateDir,reason:`\u30ED\u30C3\u30AF\u306E\u7F6E\u304D\u5834\u6240\u3092\u8AAD\u3081\u307E\u305B\u3093\uFF08${err.code??err.message}\uFF09`});continue}for(const dir of dirs){const lockDir=path.join(stateDir,dir);const pidFile=readPidFile(lockDir);if(pidFile.error!==null){result.undetermined.push({pid:null,lockDir,reason:`pid \u3092\u8AAD\u3081\u307E\u305B\u3093\uFF08${pidFile.error}\uFF09`});continue}const owner=readLockOwner(lockDir);let pid=pidFile.pid;if(pid===null){if(owner.ok){pid=owner.
|