@tocca-systems/twp-cli 0.63.0 → 0.65.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 +16 -0
- package/README.md +90 -4
- package/dist/{agent-TLKSUAYA.js → agent-HM4FHCJT.js} +1 -1
- package/dist/{agent-loop-6FS7FFXY.js → agent-loop-VC47FGPR.js} +2 -2
- package/dist/{ai-dispatch-HRXPRWCT.js → ai-dispatch-GN5ZQPHC.js} +2 -2
- package/dist/analysis-NEZXCJGT.js +5 -0
- package/dist/{announcement-LNG32J6X.js → announcement-BEPIDOMO.js} +1 -1
- package/dist/{api-command-SFJFE2PE.js → api-command-HP3ABNDG.js} +4 -4
- package/dist/{app-N2ZLD6HG.js → app-C4TUNEAO.js} +4 -4
- package/dist/{attendance-correct-3C2BHJQG.js → attendance-correct-ZEWRXHUU.js} +2 -2
- package/dist/{attendance-lists-VMOIE3XO.js → attendance-lists-BXAHFZYY.js} +2 -2
- package/dist/{backlog-D5LZIEN4.js → backlog-UD226SVD.js} +38 -28
- package/dist/{budget-RENLLCYQ.js → budget-6HOZNG3E.js} +2 -2
- package/dist/capacity-report-command-A6RYG2NV.js +15 -0
- package/dist/{chunk-UVCIVMT6.js → chunk-2G6ZZPME.js} +2 -2
- package/dist/{chunk-T5CRU4DB.js → chunk-5AQ2JPIS.js} +1 -1
- package/dist/{chunk-52V2AZ7D.js → chunk-AYE4DF6J.js} +1 -1
- package/dist/{chunk-EWRZ4GSN.js → chunk-BTN4M7Y5.js} +2 -2
- package/dist/{chunk-S5DEP2HA.js → chunk-BXTAAF5F.js} +1 -1
- package/dist/{chunk-2B7A3OY7.js → chunk-CGHGQAEM.js} +14 -52
- package/dist/{chunk-7LFYDASU.js → chunk-ENVASCZU.js} +2 -2
- package/dist/{chunk-PIB6MGG5.js → chunk-FAHDBWW2.js} +1 -1
- package/dist/{chunk-4PROMNXI.js → chunk-FBBKRVVS.js} +1 -1
- package/dist/{chunk-LMYOCAEY.js → chunk-FTAKYID7.js} +1 -1
- package/dist/{chunk-WBSAJ3P2.js → chunk-G26GIBRL.js} +1 -1
- package/dist/chunk-G4TZFGNN.js +41 -0
- package/dist/{chunk-EO3M43TN.js → chunk-G6RLNOIZ.js} +1 -1
- package/dist/{chunk-NXWXTUU6.js → chunk-RSATLT5H.js} +1 -1
- package/dist/{chunk-CSXCHRYE.js → chunk-SCU74Z4U.js} +16 -13
- package/dist/chunk-SPZ3GBYC.js +16 -0
- package/dist/{chunk-QEWCTKPV.js → chunk-UODNIEO2.js} +1 -1
- package/dist/chunk-UUP4X3WH.js +97 -0
- package/dist/{chunk-4ZREAAP4.js → chunk-WG6NCT4L.js} +18 -17
- package/dist/{chunk-T4YEQWJO.js → chunk-WHCMWXLC.js} +2 -2
- package/dist/{chunk-BZJJAJGN.js → chunk-XNOZJ6T2.js} +1 -1
- package/dist/{chunk-SLD6FCXA.js → chunk-Y2J4M2MG.js} +1 -1
- package/dist/chunk-YASL34FY.js +11 -0
- package/dist/chunk-YYURQG4E.js +4 -0
- package/dist/{chunk-HEQCEFAW.js → chunk-Z2I5BGXV.js} +1 -1
- package/dist/{chunk-E3KMIBSP.js → chunk-ZJW3GBE5.js} +57 -18
- package/dist/{chunk-MYWDL3WX.js → chunk-ZSPWHEBL.js} +44 -37
- package/dist/cli.js +82 -10
- package/dist/{commands-6QNMVCU3.js → commands-2FOGOL65.js} +97 -149
- package/dist/{commands-WIQVCMQE.js → commands-EK3EYLQH.js} +1 -1
- package/dist/{company-F3IGQMOJ.js → company-MUGKJNY3.js} +2 -2
- package/dist/{completion-MUSSUG6N.js → completion-DGPGHQNL.js} +4 -3
- package/dist/{contract-OWR27GIO.js → contract-DJJQBAWX.js} +2 -2
- package/dist/{department-3QDHMZ5P.js → department-RMZ72N6B.js} +1 -1
- package/dist/{deposit-IPYESXIQ.js → deposit-45Y3POXT.js} +1 -1
- package/dist/{estimate-4P67OZWB.js → estimate-HTAF6FZT.js} +3 -3
- package/dist/{evaluation-ZA23GR7P.js → evaluation-J634U7JQ.js} +1 -1
- package/dist/{expense-GEOAM7B3.js → expense-EVNQ653C.js} +1 -1
- package/dist/fiscal-year-MVOGDAIP.js +17 -0
- package/dist/{inquiry-3SCMJOEM.js → inquiry-XO5R47OO.js} +1 -1
- package/dist/{invoice-ONTG53HY.js → invoice-WE2SOMYN.js} +3 -3
- package/dist/{job-title-OQQH5W6C.js → job-title-3CGRQILF.js} +1 -1
- package/dist/{knowledge-IX7AZIBJ.js → knowledge-X3FGXIBL.js} +1 -1
- package/dist/{leave-7HMMZPCR.js → leave-IFYBLQBF.js} +3 -3
- package/dist/{logout-guard-GQBF3GQH.js → logout-guard-S2PVXK4V.js} +1 -1
- package/dist/{media-4RUOR6LY.js → media-X32Y2MOY.js} +3 -3
- package/dist/{notification-ZT23M4R6.js → notification-MHYSQKYZ.js} +1 -1
- package/dist/{oneshot-4NIS4J4S.js → oneshot-VL45DNR7.js} +1 -1
- package/dist/{outlook-AAS5DXYQ.js → outlook-YG7GFF44.js} +1 -1
- package/dist/{plan-submit-AWMD7XOY.js → plan-submit-CUVVYDTN.js} +2 -1
- package/dist/{position-HWBHYAD2.js → position-6UC7X2BJ.js} +1 -1
- package/dist/{project-3ROID2HA.js → project-LG47ZCEZ.js} +1 -1
- package/dist/{prospect-7B5UWFLH.js → prospect-FEU3WQYN.js} +2 -2
- package/dist/{purchase-QVINV4TM.js → purchase-44B2NOOB.js} +3 -3
- package/dist/{receivable-66MYAIVR.js → receivable-NQNZ2B6B.js} +1 -1
- package/dist/redmine-T3JDIH37.js +35 -0
- package/dist/{registry-4V3YNENU.js → registry-LBL4AOZW.js} +1 -1
- package/dist/{report-XFTM4GCX.js → report-GJK2YXVO.js} +1 -1
- package/dist/{run-J7ACNZ3D.js → run-RLV6W5JA.js} +2 -2
- package/dist/{sales-ai-review-IVRISSWX.js → sales-ai-review-PUJCOMP6.js} +1 -1
- package/dist/{sales-master-BGVF2AZL.js → sales-master-GRR4WKLO.js} +3 -3
- package/dist/{sales-numbering-4423JWN6.js → sales-numbering-IUYAABSM.js} +1 -1
- package/dist/{schedule-command-R5KTFAVZ.js → schedule-command-ZX5WNSAC.js} +1 -1
- package/dist/{search-TMROBRYD.js → search-N5UE5CUL.js} +1 -1
- package/dist/segment-FQHY6DVH.js +6 -0
- package/dist/server-settings-77MPN3UN.js +3 -0
- package/dist/{server-skills-IFTDV3IQ.js → server-skills-KX236POI.js} +1 -1
- package/dist/{setup-MUPUY2AX.js → setup-PF2VH2TW.js} +1 -1
- package/dist/{skill-S7EPMW5Z.js → skill-PWCJCIQO.js} +1 -1
- package/dist/{supplier-payment-O7GZSKGD.js → supplier-payment-HTENSEXJ.js} +2 -2
- package/dist/{support-U3VY5JI5.js → support-DOWAY63P.js} +1 -1
- package/dist/{task-EQBPQ7H4.js → task-OMYFPWQZ.js} +3 -3
- package/dist/{teams-GPJ6HMIX.js → teams-AUFHZRDH.js} +1 -1
- package/dist/{user-XYUB54QT.js → user-C7UKUPGT.js} +2 -2
- package/dist/user-contract-type-DO576EHJ.js +32 -0
- package/dist/{worker-agent-VPRWBAWG.js → worker-agent-OBYRYPLC.js} +1 -1
- package/dist/{workflow-GMP6W5EF.js → workflow-C2BEVHQ2.js} +1 -1
- package/package.json +1 -1
- package/dist/analysis-XO3WRAJR.js +0 -4
- package/dist/chunk-AT432SCP.js +0 -15
- package/dist/chunk-PNLP5SXG.js +0 -10
- package/dist/chunk-QHX5YFMM.js +0 -23
- package/dist/chunk-QZBE4KC2.js +0 -4
- package/dist/server-settings-3YD7RR3A.js +0 -3
|
@@ -3,7 +3,8 @@ const require = __twpCreateRequire(import.meta.url);
|
|
|
3
3
|
import{ResolveError,ULID_RE,UUID_RE,isSafePathSegment,resolveProjectRef,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{graphNextCursor,ms365NamedRow,ms365NotConnectedGuidance,ms365Path,ms365Segment}from"./chunk-H4CDX4TX.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{UsageError}from"./chunk-VFPY2A23.js";import{loadProjectConfig,loadUserConfig}from"./chunk-4VZKNEVN.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";var BACKLOG_BASE_PATH="/api/v2/integrations/backlog";function assertBacklogPathSegment(value,label){if(!isSafePathSegment(value)){throw new ResolveError(`${label}\u3068\u3057\u3066 URL \u306B\u5165\u308C\u3089\u308C\u306A\u3044\u5024\u304C\u30B5\u30FC\u30D0\u304B\u3089\u8FD4\u308A\u307E\u3057\u305F: ${JSON.stringify(value)}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function backlogSpacePath(spaceId,suffix=""){assertBacklogPathSegment(spaceId,
|
|
4
4
|
"Backlog \u30B9\u30DA\u30FC\u30B9 ID");return`${BACKLOG_BASE_PATH}/${encodeURIComponent(spaceId)}${suffix}`}function idString(value){if(typeof value==="number"&&Number.isFinite(value))return String(value);if(typeof value==="string"&&value.trim()!=="")return value.trim();return null}function text(value){return typeof value==="string"&&value.trim()!==""?value.trim():null}function backlogSpaceAliases(spaceUrl){const aliases=[];const trimmed=spaceUrl.trim().replace(/\/+$/,"");if(trimmed==="")return aliases;
|
|
5
5
|
let host;try{host=new URL(trimmed).host}catch{host=trimmed.replace(/^\/+/,"").split("/")[0]??""}if(host==="")return aliases;aliases.push(host);const label=host.split(".")[0];if(label!==void 0&&label!==""&&label!==host)aliases.push(label);return aliases}function backlogSpaceRow(row){const url=text(row["space_url"]);return{id:idString(row["id"]),name:url,code:null,aliases:url!==null?backlogSpaceAliases(url):[]}}function backlogProjectRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:text(
|
|
6
|
-
row["projectKey"])}}function backlogStatusRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null}}function backlogUserRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null,aliases:[text(row["userId"]),text(row["mailAddress"])].filter(v=>v!==null)}}var
|
|
6
|
+
row["projectKey"])}}function backlogStatusRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null}}function backlogUserRow(row){return{id:idString(row["id"]),name:text(row["name"]),code:null,aliases:[text(row["userId"]),text(row["mailAddress"])].filter(v=>v!==null)}}var REDMINE_BASE_PATH="/api/v2/integrations/redmine";function redmineServerPath(serverId,suffix=""){assertBacklogPathSegment(serverId,"Redmine \u63A5\u7D9A\u5148 ID");return`${REDMINE_BASE_PATH}/${encodeURIComponent(serverId)}${suffix}`}function text2(value){return typeof value==="string"&&value.trim()!==""?value.trim():null}function redmineServerAliases(baseUrl){const trimmed=baseUrl.trim().replace(/\/+$/,"");if(trimmed==="")return[];const aliases=[trimmed];try{const host=new URL(trimmed).host;
|
|
7
|
+
if(host!==""&&host!==trimmed)aliases.push(host)}catch{}return aliases}function redmineServerRow(row){const url=text2(row["base_url"]);const id=typeof row["id"]==="string"&&row["id"].trim()!==""?row["id"].trim():null;return{id,name:text2(row["name"])??url,code:null,aliases:url!==null?redmineServerAliases(url):[]}}var DEFAULT_LOOKUP_SCOPE="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8";function fold(value){return value.trim().toLowerCase()}function keysOf(ref){return[ref.id,ref.code,ref.name,...ref.aliases??[]].filter(v=>typeof v==="string"&&v.trim()!=="").map(fold)}function describe(ref){return ref.code!==void 0&&ref.code!==null&&ref.code!==""&&ref.code!==ref.name?`${ref.name}\uFF08${ref.code}\uFF09`:ref.name}async function suggest(input,candidates){try{const{default:fuzzysort}=await import("./fuzzysort-DFVKV4B4.js");
|
|
7
8
|
const indexed=candidates.map(ref=>({hay:keysOf(ref).join(" "),ref}));const hits=fuzzysort.go(input.trim(),indexed,{key:"hay",limit:5,threshold:-1e4});return hits.map(hit=>hit.obj.ref)}catch{return[]}}function listCandidates(candidates,limit=10){const shown=candidates.slice(0,limit).map(describe).join(" / ");return candidates.length>limit?`${shown} \u2026\uFF08\u5168 ${candidates.length} \u4EF6\uFF09`:shown}async function resolveNamed(input,candidates,ctx){const needle=fold(input);if(needle===""){
|
|
8
9
|
throw new UsageError(`${ctx.flag} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`)}if(candidates.length===0){throw new UsageError(`${ctx.scope??DEFAULT_LOOKUP_SCOPE}\u306B\u306F${ctx.label}\u304C1\u4EF6\u3082\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08${ctx.flag} ${input}\uFF09`)}const hits=candidates.filter(ref=>keysOf(ref).includes(needle));const distinct=[...new Map(hits.map(ref=>[ref.id,ref])).values()];if(distinct.length===1)return distinct[0];if(distinct.
|
|
9
10
|
length>1){throw new UsageError(`${ctx.flag} \u306E\u300C${input}\u300D\u304C${ctx.label}${distinct.length}\u4EF6\u306B\u4E00\u81F4\u3057\u307E\u3059: ${listCandidates(distinct)}`,`\u3069\u308C\u304B1\u3064\u306B\u6C7A\u307E\u308B\u5024\uFF08ID \u304B\u30B3\u30FC\u30C9\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const near=await suggest(input,candidates);throw new UsageError(`${ctx.flag} \u306E\u300C${input}\u300D\u306B\u4E00\u81F4\u3059\u308B${ctx.label}\u304C\u3042\u308A\u307E\u305B\u3093`,
|
|
@@ -14,12 +15,13 @@ env);const fromProfile=usable(user.profiles?.[profileName]?.project);if(fromProf
|
|
|
14
15
|
"dir"))return false}return true}function readCache(key,options={}){if(options.refresh===true)return null;const env=options.env??process.env;const file=cacheFilePath(key,env);if(!isCacheLocationTrusted(env)||!isOursAndPrivate(file,"file"))return null;let parsed;try{parsed=JSON.parse(fs.readFileSync(file,"utf8"))}catch{return null}if(parsed?.version!==CACHE_VERSION||!parsed.key||!sameKey(parsed.key,key))return null;const fetchedAt=Date.parse(parsed.fetched_at);if(!Number.isFinite(fetchedAt))return null;
|
|
15
16
|
const ttl=options.ttlMs??DEFAULT_TTL_MS;const now=(options.now??Date.now)();if(Math.abs(now-fetchedAt)>ttl)return null;return parsed.value}function writeCache(key,value,options={}){const env=options.env??process.env;const dir=cacheDir(env);const file=cacheFilePath(key,env);const body={version:CACHE_VERSION,key:{profile:key.profile,scope:key.scope,...key.project!==void 0?{project:key.project}:{}},fetched_at:new Date((options.now??Date.now)()).toISOString(),value};if(!isCacheLocationTrusted(env))return;
|
|
16
17
|
const tmp=`${file}.${process.pid}.tmp`;try{fs.mkdirSync(dir,{recursive:true,mode:448});fs.writeFileSync(tmp,`${JSON.stringify(body)}
|
|
17
|
-
`,{mode:384});fs.renameSync(tmp,file)}catch{try{fs.rmSync(tmp,{force:true})}catch{}}}function removeCache(key,options={}){const env=options.env??process.env;if(!isCacheLocationTrusted(env))return;try{fs.rmSync(cacheFilePath(key,env),{force:true})}catch{}}var SELF_REF="me";var PRIVATE_TASKS_PATH="/api/v2/tasks/private";var PRIVATE_MASTERS_CACHE_KEY="__private__";var BACKLOG_SPACES_CACHE_KEY="__backlog__";var MS365_TEAMS_CACHE_KEY="__ms365__";var MS365_SCOPE_LABEL="\u53C2\u52A0\u3057\u3066\u3044\u308B Teams";var MS365_RESOLVE_MAX_PAGES=20;var BACKLOG_SCOPE_LABEL="\u3053\u306E\u63A5\u7D9A\u5148";var BACKLOG_PROJECT_SCOPE_LABEL="\
|
|
18
|
-
__tenant__";var TENANT_SCOPE_LABEL="\u3053\u306E\u30C6\u30CA\u30F3\u30C8";var ADMIN_USERS_LIST_PATH="/api/v2/admin/users/list";var PROJECT_MEMBERS_LIMIT=1e4;var DEPARTMENTS_PATH="/api/v2/organization/departments";var POSITIONS_PATH="/api/v2/organization/positions";var JOB_TITLES_PATH="/api/v2/organization/job-titles";var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var
|
|
18
|
+
`,{mode:384});fs.renameSync(tmp,file)}catch{try{fs.rmSync(tmp,{force:true})}catch{}}}function removeCache(key,options={}){const env=options.env??process.env;if(!isCacheLocationTrusted(env))return;try{fs.rmSync(cacheFilePath(key,env),{force:true})}catch{}}var SELF_REF="me";var PRIVATE_TASKS_PATH="/api/v2/tasks/private";var PRIVATE_MASTERS_CACHE_KEY="__private__";var BACKLOG_SPACES_CACHE_KEY="__backlog__";var REDMINE_SERVERS_CACHE_KEY="__redmine__";var REDMINE_SCOPE_LABEL="\u767B\u9332\u6E08\u307F\u306E Redmine \u63A5\u7D9A\u5148";var MS365_TEAMS_CACHE_KEY="__ms365__";var MS365_SCOPE_LABEL="\u53C2\u52A0\u3057\u3066\u3044\u308B Teams";var MS365_RESOLVE_MAX_PAGES=20;var BACKLOG_SCOPE_LABEL="\u3053\u306E\u63A5\u7D9A\u5148";var BACKLOG_PROJECT_SCOPE_LABEL="\
|
|
19
|
+
\u3053\u306E Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8";var PRIVATE_SCOPE_LABEL="\u500B\u4EBA\u30BF\u30B9\u30AF";var TENANT_CACHE_KEY="__tenant__";var TENANT_SCOPE_LABEL="\u3053\u306E\u30C6\u30CA\u30F3\u30C8";var ADMIN_USERS_LIST_PATH="/api/v2/admin/users/list";var PROJECT_MEMBERS_LIMIT=1e4;var DEPARTMENTS_PATH="/api/v2/organization/departments";var POSITIONS_PATH="/api/v2/organization/positions";var JOB_TITLES_PATH="/api/v2/organization/job-titles";var SEGMENTS_PATH="/api/v2/organization/seg\
|
|
20
|
+
ments";var USER_CONTRACT_TYPES_PATH="/api/v2/organization/user-contract-types";var FISCAL_YEAR_SETTINGS_PATH="/api/v2/organization/fiscal-year-settings";var PROCESS_MASTERS_PATH="/api/v2/project/processes";var INQUIRY_CATEGORIES_PATH="/api/v2/inquiries/categories";var SUPPORTS_PATH="/api/v2/supports";var SUPPORT_CATEGORIES_PATH="/api/v2/supports/categories";var NOTIFICATIONS_PATH="/api/v2/notifications";var ANNOUNCEMENTS_PATH="/api/v2/announcements";var WORKER_AGENTS_PATH="/api/v2/worker-agents";
|
|
21
|
+
var AGENT_SESSIONS_PATH="/api/v2/agent/sessions";var AGENT_REPOSITORIES_PATH="/api/v2/agent/repositories";var NOTIFICATION_COUNT_MAX_PAGES=20;var NOTIFICATION_COUNT_PAGE_LIMIT=100;var WORKFLOWS_PATH="/api/v2/workflows";var REPORTS_PATH="/api/v2/reports";var ATTENDANCE_REPORTS_PATH="/api/v2/attendance/reports";var ATTENDANCE_REPORT_MASTER_PATHS={categories:"/api/v2/attendance/report-categories",reasons:"/api/v2/attendance/report-reasons",details:"/api/v2/attendance/report-reason-details"};var ATTENDANCE_REPORT_MASTER_LABELS={
|
|
22
|
+
categories:"\u9023\u7D61\u533A\u5206",reasons:"\u9023\u7D61\u7406\u7531",details:"\u9023\u7D61\u7406\u7531\u8A73\u7D30"};var SALES_ESTIMATES_PATH="/api/v2/sales/estimates";var SALES_INVOICES_PATH="/api/v2/sales/invoices";var SALES_CONTRACTS_PATH="/api/v2/sales/contracts";var SALES_INVOICE_AUTO_TEMPLATES_PATH="/api/v2/sales/invoice-auto-templates";var SALES_DEPOSITS_PATH="/api/v2/sales/deposits";var SALES_PURCHASES_PATH="/api/v2/sales/purchases";var SALES_SUPPLIER_PAYMENTS_PATH="/api/v2/sales/sup\
|
|
23
|
+
plier-payments";var SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH="/api/v2/sales/supplier-payment-schedules";var SALES_BUSINESS_PLACES_PATH="/api/v2/sales/business-places";var SALES_PAYEES_PATH="/api/v2/sales/payees";var SALES_SEAL_IMPRESSIONS_PATH="/api/v2/sales/seal-impressions";var SALES_PURCHASE_AI_MAPPINGS_PATH="/api/v2/sales/purchase-ai-field-mappings";var SALES_ESTIMATE_NO_RULES_PATH="/api/v2/sales/estimate-no-rules";var SALES_INVOICE_NO_RULES_PATH="/api/v2/sales/invoice-no-rules";var SALES_PURCHASE_NO_RULES_PATH="\
|
|
24
|
+
/api/v2/sales/purchase-no-rules";var SALES_ESTIMATE_FORMATS_PATH="/api/v2/sales/estimate-formats";var SALES_ROUNDING_SETTING_PATH="/api/v2/sales/rounding-setting";var SALES_RECORD_KINDS={estimate:{path:SALES_ESTIMATES_PATH,label:"\u898B\u7A4D"},invoice:{path:SALES_INVOICES_PATH,label:"\u8ACB\u6C42"},contract:{path:SALES_CONTRACTS_PATH,label:"\u53D6\u5F15\u5951\u7D04"},"invoice-auto-template":{path:SALES_INVOICE_AUTO_TEMPLATES_PATH,label:"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"},
|
|
23
25
|
deposit:{path:SALES_DEPOSITS_PATH,label:"\u5165\u91D1"},purchase:{path:SALES_PURCHASES_PATH,label:"\u4ED5\u5165"},"supplier-payment":{path:SALES_SUPPLIER_PAYMENTS_PATH,label:"\u652F\u6255"},"supplier-payment-schedule":{path:SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,label:"\u652F\u6255\u5148\u30DE\u30B9\u30BF"},"business-place":{path:SALES_BUSINESS_PLACES_PATH,label:"\u4E8B\u696D\u6240"},payee:{path:SALES_PAYEES_PATH,label:"\u632F\u8FBC\u5148"},"seal-impression":{path:SALES_SEAL_IMPRESSIONS_PATH,label:"\
|
|
24
26
|
\u5370\u5F71"},"purchase-ai-mapping":{path:SALES_PURCHASE_AI_MAPPINGS_PATH,label:"\u4ED5\u5165AI\u30DE\u30C3\u30D4\u30F3\u30B0"},"estimate-no-rule":{path:SALES_ESTIMATE_NO_RULES_PATH,label:"\u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB"},"invoice-no-rule":{path:SALES_INVOICE_NO_RULES_PATH,label:"\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB"},"purchase-no-rule":{path:SALES_PURCHASE_NO_RULES_PATH,label:"\u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB"},"estimate-format":{path:SALES_ESTIMATE_FORMATS_PATH,label:"\
|
|
25
27
|
\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8"}};var SALES_COMPANIES_PATH="/api/v2/sales/companies";var CUSTOMERS_PATH="/api/v2/customers";var COMPANY_SEARCH_PAGE_LIMIT=100;var COMPANY_SEARCH_MAX_PAGES=10;var CUSTOMER_CHILDREN_PAGE_LIMIT=100;var PROSPECTS_PATH="/api/v2/prospects";var PROSPECT_SEARCH_PAGE_LIMIT=100;var PROSPECT_SEARCH_MAX_PAGES=10;function isExactNumericId(value){return/^[0-9]+$/.test(value)&&String(Number(value))===value}function exactCompanyId(ref,label){if(!isExactNumericId(
|
|
@@ -49,18 +51,20 @@ env}:{})}async user(input,flag="<\u30E6\u30FC\u30B6\u30FC>"){const trimmed=input
|
|
|
49
51
|
\u305F\u305F\u3081\u3001\u8868\u793A\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\u3060\u3051\u3067\u7167\u5408\u3057\u307E\u3057\u305F\uFF09`,err.hint)}throw err}}async searchUsers(keyword){const query=new URLSearchParams({keyword,include_hidden:"true",limit:"100"});const res=await this.get(`${ADMIN_USERS_LIST_PATH}?${query.toString()}`);if(!res.ok)return{refs:null,failure:`HTTP ${res.status}`};return{refs:namedFromRows(rawListFrom(res,"items","\u30E6\u30FC\u30B6\u30FC"),"\u30E6\u30FC\u30B6\u30FC",
|
|
50
52
|
userRow),failure:null}}async visibleUsers(){return this.cached("admin-users-visible",TENANT_CACHE_KEY,async()=>{const rows=[];let cursor=null;for(let page=0;;page++){if(page>=USER_LIST_MAX_PAGES){throw new ResolveError(`\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u304C ${USER_LIST_MAX_PAGES} \u30DA\u30FC\u30B8\u3092\u8D85\u3048\u305F\u305F\u3081\u3001\u540D\u524D\u3067\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3002ID \u304B\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
|
|
51
53
|
const query=new URLSearchParams({limit:"100"});if(cursor!==null)query.set("cursor",cursor);const res=await this.get(`${ADMIN_USERS_LIST_PATH}?${query.toString()}`);rows.push(...rawListFrom(res,"items","\u30E6\u30FC\u30B6\u30FC"));const body=isRecord(res.json)?res.json:{};if(body["has_more"]===false)break;const next=str(body["next_cursor"]);if(body["has_more"]!==true||next===null){throw new ResolveError("\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B has_more / next_cursor \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
52
|
-
res.status)}cursor=next}return namedFromRows(rows,"\u30E6\u30FC\u30B6\u30FC",userRow)})}async department(input,flag="--department"){return resolveNamed(input,await this.departments(),{flag,label:"\u90E8\u7F72",scope:TENANT_SCOPE_LABEL})}async position(input,flag="--position"){return resolveNamed(input,await this.positions(),{flag,label:"\u5F79\u8077",scope:TENANT_SCOPE_LABEL})}async jobTitle(input,flag="--job-title"){return resolveNamed(input,await this.jobTitles(),{flag,label:"\u8077\u4F4D",scope:TENANT_SCOPE_LABEL})}async
|
|
53
|
-
return this.
|
|
54
|
-
await this.get(`${
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
get(`${
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
res.status)}cursor=next}return namedFromRows(rows,"\u30E6\u30FC\u30B6\u30FC",userRow)})}async department(input,flag="--department"){return resolveNamed(input,await this.departments(),{flag,label:"\u90E8\u7F72",scope:TENANT_SCOPE_LABEL})}async position(input,flag="--position"){return resolveNamed(input,await this.positions(),{flag,label:"\u5F79\u8077",scope:TENANT_SCOPE_LABEL})}async jobTitle(input,flag="--job-title"){return resolveNamed(input,await this.jobTitles(),{flag,label:"\u8077\u4F4D",scope:TENANT_SCOPE_LABEL})}async segment(input,flag="\
|
|
55
|
+
--segment"){return resolveNamed(input,await this.segments(),{flag,label:"\u30BB\u30B0\u30E1\u30F3\u30C8",scope:TENANT_SCOPE_LABEL})}async userContractType(input,flag="--contract-type"){return resolveNamed(input,await this.userContractTypes(),{flag,label:"\u5951\u7D04\u5F62\u614B",scope:TENANT_SCOPE_LABEL})}async departments(){return this.cached("departments",TENANT_CACHE_KEY,async()=>namedFromRows(masterList(await this.get(`${DEPARTMENTS_PATH}?limit=${ORG_MASTER_LIMIT}`),"\u90E8\u7F72"),"\u90E8\u7F72",
|
|
56
|
+
codedMasterRow))}async positions(){return this.cached("positions",TENANT_CACHE_KEY,async()=>namedFromRows(masterList(await this.get(`${POSITIONS_PATH}?limit=${ORG_MASTER_LIMIT}`),"\u5F79\u8077"),"\u5F79\u8077",codedMasterRow))}async segments(){return this.cached("segments",TENANT_CACHE_KEY,async()=>namedFromRows(masterList(await this.get(`${SEGMENTS_PATH}?limit=${ORG_MASTER_LIMIT}`),"\u30BB\u30B0\u30E1\u30F3\u30C8"),"\u30BB\u30B0\u30E1\u30F3\u30C8",codedMasterRow))}async userContractTypes(){return this.
|
|
57
|
+
cached("user-contract-types",TENANT_CACHE_KEY,async()=>namedFromRows(masterList(await this.get(USER_CONTRACT_TYPES_PATH),"\u5951\u7D04\u5F62\u614B"),"\u5951\u7D04\u5F62\u614B",codedMasterRow))}async jobTitles(){return this.cached("job-titles",TENANT_CACHE_KEY,async()=>namedFromRows(masterList(await this.get(`${JOB_TITLES_PATH}?limit=${ORG_MASTER_LIMIT}`),"\u8077\u4F4D"),"\u8077\u4F4D",codedMasterRow))}async workerAgent(input,flag="<\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8>"){const trimmed=input.trim();
|
|
58
|
+
if(trimmed==="")throw new UsageError(`${flag} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`);if(ULID_RE.test(trimmed.toUpperCase()))return{id:trimmed.toUpperCase(),name:trimmed};const res=await this.get(WORKER_AGENTS_PATH);if(res.status===401||res.status===403){throw new ApiError(res.status,isRecord(res.json)?res.json:null,"GET",WORKER_AGENTS_PATH)}const rows=rawListFrom(res,"items","\u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8");return resolveNamed(trimmed,
|
|
59
|
+
namedFromRows(rows,"\u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8",workerAgentRow),{flag,label:"\u30EF\u30FC\u30AB\u30FC\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8",scope:"\u3042\u306A\u305F\u304C\u53C2\u7167\u3067\u304D\u308B\u7BC4\u56F2"})}async processMaster(input,flag="--process"){return resolveNamed(input,await this.processMasters(),{flag,label:"\u5DE5\u7A0B\u30DE\u30B9\u30BF",scope:TENANT_SCOPE_LABEL})}async processMasters(){return this.cached("process-masters",TENANT_CACHE_KEY,async()=>namedFromRows(
|
|
60
|
+
masterList(await this.get(`${PROCESS_MASTERS_PATH}?limit=${ORG_MASTER_LIMIT}`),"\u5DE5\u7A0B\u30DE\u30B9\u30BF"),"\u5DE5\u7A0B\u30DE\u30B9\u30BF",codedMasterRow))}async workflow(input,flag="<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>",category){return resolveNamed(input,await this.applicableWorkflows(category),{flag,label:category===void 0?"\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC":`\u7533\u8ACB\u3067\u304D\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08${category}\uFF09`,scope:TENANT_SCOPE_LABEL})}async workflowDefinition(id){
|
|
61
|
+
if(!isSafePathSegment(id)){throw new ResolveError(`\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const res=await this.get(`${WORKFLOWS_PATH}/${encodeURIComponent(id)}`);if(res.status===404){throw new ResolveError(`\u7533\u8ACB\u66F8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${id}`,404)}if(!res.ok){throw new ResolveError(`\u7533\u8ACB\u66F8\u306E\u5B9A\u7FA9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${id}\
|
|
62
|
+
\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const workflow=isRecord(res.json)?res.json["workflow"]:void 0;if(!isRecord(workflow)){throw new ResolveError("\u7533\u8ACB\u66F8\u306E\u5FDC\u7B54\u306B workflow \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return workflow}async attendanceReportMasters(){
|
|
63
|
+
const load=async(path2,label)=>rawListFrom(await this.get(`${path2}/active`),"list",label);const[categories,reasons,details]=await Promise.all([load(ATTENDANCE_REPORT_MASTER_PATHS.categories,"\u52E4\u6020\u9023\u7D61\u306E\u533A\u5206"),load(ATTENDANCE_REPORT_MASTER_PATHS.reasons,"\u52E4\u6020\u9023\u7D61\u306E\u7406\u7531"),load(ATTENDANCE_REPORT_MASTER_PATHS.details,"\u52E4\u6020\u9023\u7D61\u306E\u7406\u7531\u8A73\u7D30")]);return{categories,reasons,details}}async attendanceReportMaster(kind,input,flag){
|
|
64
|
+
const label=ATTENDANCE_REPORT_MASTER_LABELS[kind];const rows=masterList(await this.get(`${ATTENDANCE_REPORT_MASTER_PATHS[kind]}?limit=${ORG_MASTER_LIMIT}`),label);return resolveNamed(input,namedFromRows(rows,label,codedMasterRow),{flag,label,scope:TENANT_SCOPE_LABEL})}async attendanceReport(id){if(!isSafePathSegment(id)){throw new ResolveError(`\u52E4\u6020\u9023\u7D61\u306E ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}`)}const res=await this.get(`${ATTENDANCE_REPORTS_PATH}/${encodeURIComponent(
|
|
65
|
+
id)}`);if(res.status===404){throw new ResolveError(`\u52E4\u6020\u9023\u7D61\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${id}`,404)}if(!res.ok){throw new ResolveError(`\u52E4\u6020\u9023\u7D61\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${id}\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const report=isRecord(res.json)?res.json["report"]:void 0;if(!isRecord(
|
|
66
|
+
report)){throw new ResolveError("\u52E4\u6020\u9023\u7D61\u306E\u5FDC\u7B54\u306B report \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return report}async applicableWorkflows(category){const path2=category===void 0?`${WORKFLOWS_PATH}/applicable`:`${WORKFLOWS_PATH}/applicable/${encodeURIComponent(category)}`;const scope=category===void 0?"workflows-applicable":`workflows-applicable-${category}`;return this.cached(
|
|
67
|
+
scope,TENANT_CACHE_KEY,async()=>{const res=await this.get(path2);const rows=rawListFrom(res,"list","\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC");const sum=isRecord(res.json)?res.json["sum"]:void 0;if(typeof sum==="number"&&sum>rows.length){throw new ResolveError(`\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u4E00\u89A7\u304C ${sum} \u4EF6\u4E2D ${rows.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\u308C\u305F\u305F\u3081\u3001\u540D\u524D\u3067\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3002ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,
|
|
64
68
|
res.status)}return namedFromRows(rows,"\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC",row=>({id:str(row["id"]),name:str(row["name"]),code:null}))})}async reportFormat(input,flag="--format",usableOnly=false){const load=async()=>rawListFrom(await this.get(`${REPORTS_PATH}/formats${usableOnly?"?include_unavailable=false":""}`),"formats","\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8");const rows=usableOnly?await load():await this.cached("report-formats",TENANT_CACHE_KEY,load);return resolveNamed(
|
|
65
69
|
input,namedFromRows(rows,"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8",row=>({id:str(row["id"]),name:str(row["name"]),code:str(row["code"])})),{flag,label:usableOnly?"\u4F5C\u6210\u3067\u304D\u308B\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8":"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8",scope:TENANT_SCOPE_LABEL})}async company(input,options){const trimmed=input.trim();if(trimmed==="")throw new UsageError(`${options.flag} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`);
|
|
66
70
|
if(isExactNumericId(trimmed))return options.mustExist===true?this.companyById(trimmed,options):{id:trimmed,name:trimmed};if(/^[0-9]+$/.test(trimmed)){throw new UsageError(`${options.flag} \u306E ID \u306F\u5148\u982D\u306B 0 \u3092\u4ED8\u3051\u306A\u3044\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${trimmed}`)}const label=options.source==="customer"?"\u9867\u5BA2":"\u53D6\u5F15\u5148";const base=options.source==="customer"?CUSTOMERS_PATH:SALES_COMPANIES_PATH;const rows=[];
|
|
@@ -118,21 +122,24 @@ from,to]of Object.entries(table)){if(from.trim().toLowerCase()===needle&&typeof
|
|
|
118
122
|
const spaces=await this.backlogSpaces();if(spaces.length===1)return spaces[0];if(spaces.length===0){throw new UsageError("Backlog \u30B9\u30DA\u30FC\u30B9\u304C1\u4EF6\u3082\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093","TWP \u306E\u5916\u90E8\u9023\u643A\u8A2D\u5B9A\u3067 Backlog \u30B9\u30DA\u30FC\u30B9\u3092\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp backlog space list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002")}throw new UsageError(`Backlog \u30B9\u30DA\u30FC\u30B9\u304C ${spaces.
|
|
119
123
|
length} \u4EF6\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001--space \u30671\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,`twp backlog space list \u3067 ID \u3068\u30B9\u30DA\u30FC\u30B9URL\u3092\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}async backlogProjects(spaceId){return this.cached("backlog-projects",spaceId,()=>this.namedList(backlogSpacePath(spaceId,"/projects"),"projects","Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",backlogProjectRow))}async backlogStatuses(spaceId,projectId){
|
|
120
124
|
return this.cached("backlog-statuses",`${spaceId}/${projectId}`,()=>this.namedList(backlogSpacePath(spaceId,`/projects/${encodeURIComponent(assertBacklogPathSegment(projectId,"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ID"))}/statuses`),"statuses","Backlog \u30B9\u30C6\u30FC\u30BF\u30B9",backlogStatusRow))}async backlogUsers(spaceId,projectId){return this.cached("backlog-users",`${spaceId}/${projectId}`,()=>this.namedList(backlogSpacePath(spaceId,`/projects/${encodeURIComponent(assertBacklogPathSegment(
|
|
121
|
-
projectId,"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ID"))}/users`),"users","Backlog \u30E6\u30FC\u30B6\u30FC",backlogUserRow))}async
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
res.status)}
|
|
128
|
-
|
|
129
|
-
"\u4E00\u89A7\
|
|
130
|
-
|
|
131
|
-
\
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
125
|
+
projectId,"Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ID"))}/users`),"users","Backlog \u30E6\u30FC\u30B6\u30FC",backlogUserRow))}async redmineServers(){return this.cached("redmine-servers",REDMINE_SERVERS_CACHE_KEY,()=>this.namedList(`${REDMINE_BASE_PATH}/servers`,"items","Redmine \u63A5\u7D9A\u5148",redmineServerRow))}async redmineServer(ref){return resolveNamed(ref,await this.redmineServers(),{flag:"--space",label:"Redmine \u63A5\u7D9A\u5148",scope:REDMINE_SCOPE_LABEL})}async redmineDefaultServer(){
|
|
126
|
+
const servers=await this.redmineServers();if(servers.length===1)return servers[0];if(servers.length===0){throw new UsageError("Redmine \u306E\u63A5\u7D9A\u5148\u304C1\u4EF6\u3082\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093","TWP \u306E\u500B\u4EBA\u8A2D\u5B9A\uFF08\u5916\u90E8\u30B7\u30B9\u30C6\u30E0\u9023\u643A\uFF09\u3067 Redmine \u3092\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp redmine space list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002")}throw new UsageError(
|
|
127
|
+
`Redmine \u306E\u63A5\u7D9A\u5148\u304C ${servers.length} \u4EF6\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001--space \u30671\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,"twp redmine space list \u3067 ID \u3068\u63A5\u7D9A\u5148URL\u3092\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002")}async ms365Teams(){return this.cached("ms365-teams",MS365_TEAMS_CACHE_KEY,()=>this.ms365NamedList(ms365Path("/teams/teams"),"Teams \u306E\u30C1\u30FC\u30E0"))}async ms365Team(ref){return resolveNamed(
|
|
128
|
+
ref,await this.ms365Teams(),{flag:"--team",label:"\u30C1\u30FC\u30E0",scope:MS365_SCOPE_LABEL})}async ms365Channels(teamId){return this.cached("ms365-channels",teamId,()=>this.ms365NamedList(ms365Path(`/teams/teams/${ms365Segment(teamId,"\u30C1\u30FC\u30E0 ID")}/channels`),"Teams \u306E\u30C1\u30E3\u30CD\u30EB"))}async ms365Channel(teamId,ref){return resolveNamed(ref,await this.ms365Channels(teamId),{flag:"--channel",label:"\u30C1\u30E3\u30CD\u30EB",scope:"\u3053\u306E\u30C1\u30FC\u30E0"})}async ms365Message(messageId){
|
|
129
|
+
const res=await this.get(ms365Path(`/outlook/messages/${ms365Segment(messageId,"\u30E1\u30FC\u30EBID")}`));if(!res.ok){throw new ResolveError(ms365NotConnectedGuidance(res.json)??`\u5143\u306E\u30E1\u30FC\u30EB\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}\uFF09\u3002\u30E1\u30FC\u30EBID \u306F twp outlook mail list \u306E id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const data=isRecord(res.json)?res.json["data"]:void 0;
|
|
130
|
+
if(!isRecord(data)){throw new ResolveError("\u5143\u306E\u30E1\u30FC\u30EB\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return data}async ms365Event(eventId){const res=await this.get(ms365Path(`/calendar/events/${ms365Segment(eventId,"\u4E88\u5B9AID")}`));if(!res.ok){throw new ResolveError(ms365NotConnectedGuidance(res.json)??`\u4E88\u5B9A\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.
|
|
131
|
+
status}\uFF09\u3002\u4E88\u5B9AID \u306F twp outlook event list \u306E id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const data=isRecord(res.json)?res.json["data"]:void 0;if(!isRecord(data)){throw new ResolveError("\u4E88\u5B9A\u306E\u5FDC\u7B54\u306B data \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return data}async ms365NamedList(path2,label){const rows=[];let cursor=null;for(let page=1;page<=
|
|
132
|
+
MS365_RESOLVE_MAX_PAGES;page+=1){const res=await this.get(cursor===null?path2:`${path2}?skiptoken=${encodeURIComponent(cursor)}`);if(!res.ok){throw new ResolveError(ms365NotConnectedGuidance(res.json)??`${label}\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const data=isRecord(res.json)?res.json["\
|
|
133
|
+
data"]:void 0;const value=isRecord(data)?data["value"]:void 0;if(!isRecord(data)||!Array.isArray(value)){throw new ResolveError(`${label}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B data.value \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}value.forEach((row,index)=>{if(!isRecord(row)){throw new ResolveError(`${label}\u4E00\u89A7\u306E ${rows.length+index+1} \u4EF6\u76EE\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,
|
|
134
|
+
res.status)}rows.push(row)});const next=data["@odata.nextLink"];if(next===void 0||next===null)return namedFromRows(rows,label,ms365NamedRow,res.status??void 0);const parsed=typeof next==="string"?graphNextCursor(next):null;if(parsed===null||parsed.kind!=="skiptoken"){throw new ResolveError(`${label}\u4E00\u89A7\u306E\u7D9A\u304D\uFF08@odata.nextLink\uFF09\u3092\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}cursor=parsed.
|
|
135
|
+
value}throw new UsageError(`${label}\u304C\u591A\u3059\u304E\u308B\u305F\u3081\u540D\u524D\u3067\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08${MS365_RESOLVE_MAX_PAGES} \u30DA\u30FC\u30B8\u3092\u8D85\u3048\u307E\u3057\u305F\uFF09`,"\u4E00\u89A7\u30B3\u30DE\u30F3\u30C9\u306E\u51FA\u529B\u306B\u3042\u308B id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}get apiClient(){return this.client}};function assertMembersComplete(rows){if(rows.length>=PROJECT_MEMBERS_LIMIT){throw new ResolveError(
|
|
136
|
+
`\u30E1\u30F3\u30D0\u30FC\u304C ${PROJECT_MEMBERS_LIMIT} \u4EBA\u4EE5\u4E0A\u3044\u308B\u305F\u3081\u3001\u5168\u54E1\u3092\u7167\u5408\u3067\u304D\u307E\u305B\u3093\u3002ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return rows}function rawListFrom(res,envelope,label){if(!res.ok){throw new ResolveError(`${label}\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,
|
|
137
|
+
res.status)}const list=isRecord(res.json)?res.json[envelope]:void 0;if(!Array.isArray(list)){throw new ResolveError(`${label}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B ${envelope} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}return list.map((row,index)=>{if(!isRecord(row)){throw new ResolveError(`${label}\u4E00\u89A7\u306E ${index+1} \u4EF6\u76EE\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,
|
|
138
|
+
res.status)}return row})}function userRow(row){const email=str(row["email"]);const employeeCode=str(row["employee_code"]);return{id:str(row["user_id"]),name:str(row["user_name"]),code:employeeCode??email,aliases:[email,employeeCode].filter(v=>v!==null)}}function notificationCategoryRow(row){return{id:str(row["key"]),name:str(row["name"]),code:str(row["key"])}}function supportCategoryRow(row){return{id:str(row["id"]),name:str(row["name"])}}function workerAgentRow(row){return{id:str(row["agent_id"]),
|
|
139
|
+
name:str(row["name"])}}function agentRepositoryRow(row){const short=str(row["name"]);return{id:str(row["id"]),name:str(row["full_name"]),aliases:short===null?[]:[short]}}function inquiryCategoryRow(row){return{id:str(row["id"]),name:str(row["title"]),code:str(row["category_code"])}}function masterList(res,label){const rows=rawListFrom(res,"list",label);const count=isRecord(res.json)?res.json["count"]:void 0;if(typeof count==="number"&&count>rows.length){throw new ResolveError(`${label}\u4E00\u89A7\u304C ${count}\
|
|
140
|
+
\u4EF6\u4E2D ${rows.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\u308C\u305F\u305F\u3081\u3001\u540D\u524D\u3067\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3002ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}return rows}function codedMasterRow(row){return{id:str(row["id"]),name:str(row["name"]),code:str(row["code"]),isDefault:truthyFlag(row["is_default"])}}function namedListFrom(res,envelope,label,map){return namedFromRows(rawListFrom(res,envelope,label),label,
|
|
141
|
+
map,res.status??void 0)}function namedFromRows(rows,label,map,status=200){return rows.map((row,index)=>{const mapped=map(row);if(mapped.id===null||mapped.name===null){throw new ResolveError(`${label}\u4E00\u89A7\u306E ${index+1} \u4EF6\u76EE\u306B id / \u540D\u524D\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,status)}return{id:mapped.id,name:mapped.name,...mapped.code!==void 0?{code:mapped.code}:{},...mapped.aliases!==void 0&&
|
|
142
|
+
mapped.aliases.length>0?{aliases:mapped.aliases}:{},...mapped.isDefault!==void 0?{isDefault:mapped.isDefault}:{}}})}function requireDefault(candidates,ctx){const hit=candidates.find(ref=>ref.isDefault===true);if(hit!==void 0)return hit;throw new UsageError(`${ctx.flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${ctx.scope??DEFAULT_LOOKUP_SCOPE}\u306B\u306F\u65E2\u5B9A\u306E${ctx.label}\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF09`,`\u6307\u5B9A\u3067\u304D\u308B${ctx.
|
|
143
|
+
label}: ${candidates.map(ref=>ref.name).join(" / ")}\uFF08\u53E4\u3044\u30AD\u30E3\u30C3\u30B7\u30E5\u304C\u6B8B\u3063\u3066\u3044\u308B\u5834\u5408\u306F --refresh \u3067\u53D6\u308A\u76F4\u305B\u307E\u3059\uFF09`)}export{BACKLOG_BASE_PATH,backlogSpacePath,REDMINE_BASE_PATH,redmineServerPath,resolveNamed,requireDefaultProject,PRIVATE_TASKS_PATH,BACKLOG_SCOPE_LABEL,BACKLOG_PROJECT_SCOPE_LABEL,PROJECT_MEMBERS_LIMIT,DEPARTMENTS_PATH,POSITIONS_PATH,JOB_TITLES_PATH,SEGMENTS_PATH,USER_CONTRACT_TYPES_PATH,FISCAL_YEAR_SETTINGS_PATH,INQUIRY_CATEGORIES_PATH,SUPPORTS_PATH,SUPPORT_CATEGORIES_PATH,NOTIFICATIONS_PATH,ANNOUNCEMENTS_PATH,WORKER_AGENTS_PATH,AGENT_SESSIONS_PATH,AGENT_REPOSITORIES_PATH,WORKFLOWS_PATH,REPORTS_PATH,
|
|
144
|
+
ATTENDANCE_REPORTS_PATH,ATTENDANCE_REPORT_MASTER_PATHS,ATTENDANCE_REPORT_MASTER_LABELS,SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,SALES_CONTRACTS_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,SALES_DEPOSITS_PATH,SALES_PURCHASES_PATH,SALES_SUPPLIER_PAYMENTS_PATH,SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,SALES_BUSINESS_PLACES_PATH,SALES_PAYEES_PATH,SALES_SEAL_IMPRESSIONS_PATH,SALES_PURCHASE_AI_MAPPINGS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ESTIMATE_FORMATS_PATH,
|
|
145
|
+
SALES_ROUNDING_SETTING_PATH,SALES_COMPANIES_PATH,CUSTOMERS_PATH,PROSPECTS_PATH,isExactNumericId,ORG_MASTER_LIMIT,TASK_MASTERS,Resolver};
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
3
3
|
const require = __twpCreateRequire(import.meta.url);
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-WG6NCT4L.js";import"./chunk-2LOT54OO.js";import"./chunk-YYURQG4E.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.65.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
|
|
5
5
|
|
|
6
6
|
\u4F7F\u3044\u65B9:
|
|
7
7
|
twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
|
|
@@ -63,6 +63,11 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
63
63
|
\u8A08\u753BAI\u304C\u8A08\u753B\u3092\u30EB\u30FC\u30D7\u3078\u63D0\u51FA\u3059\u308B\uFF08\u8A08\u753B\u30D5\u30A7\u30FC\u30BA\u306E\u4E2D\u3067\u3060\u3051\u53D7\u3051\u4ED8\u3051\u308B\uFF09\u3002
|
|
64
64
|
step \u3054\u3068\u306B\u53D7\u7406/\u68C4\u5374\u3068\u7406\u7531\u3092\u8868\u793A\u3057\u3001\u68C4\u5374\u304C\u3042\u308C\u3070\u975E0\u3067\u7D42\u308F\u308B\u3002
|
|
65
65
|
\u51FA\u3057\u76F4\u3059\u3068\u6700\u5F8C\u306E\u63D0\u51FA\u304C\u6709\u52B9\u3002--check \u306F\u691C\u67FB\u3060\u3051\u3067\u7F6E\u304B\u306A\u3044
|
|
66
|
+
twp task-loop capacity report --project <\u30AD\u30FC|UUID>
|
|
67
|
+
\u30EB\u30FC\u30D7\u3092\u56DE\u3055\u305A\u306B AI \u30A2\u30AB\u30A6\u30F3\u30C8\u67A0\u306E\u89B3\u6E2C\u5024\u30921\u56DE\u3060\u3051\u9001\u308B\uFF08\u5E38\u99D0\u3057\u306A\u3044\u3002
|
|
68
|
+
\u5B9A\u671F\u5B9F\u884C\u306F systemd timer / cron / launchd \u306B\u4EFB\u305B\u308B\uFF09\u3002\u8A2D\u5B9A\u306F\u30EB\u30FC\u30D7\u3068
|
|
69
|
+
\u540C\u3058 capacity_probe\u3002\u672A\u8A2D\u5B9A\u306A\u3089\u4F55\u3082\u305B\u305A 0\u3001\u540C\u3058\u6A5F\u306E\u30EB\u30FC\u30D7\u304C\u767B\u9332\u6E08\u307F
|
|
70
|
+
\u306A\u3089\u9001\u3089\u305A 0\u3001\u30D7\u30ED\u30FC\u30D6\u304C\u5931\u6557\u3057\u3066\u3082 error \u3092\u9001\u308C\u308C\u3070 0\u3001\u9001\u4FE1\u306E\u5931\u6557\u306F 1
|
|
66
71
|
twp --mode <id> \u8D77\u52D5\u6642\u306E\u30E2\u30FC\u30C9\u3092\u6307\u5B9A\uFF08dev | biz | plan\uFF09
|
|
67
72
|
twp --permission-mode <v>
|
|
68
73
|
\u30C4\u30FC\u30EB\u5B9F\u884C\u306E\u65E2\u5B9A\u3092\u4E0A\u66F8\u304D\uFF08plan | acceptEdits | denyAll\uFF09\u3002
|
|
@@ -331,6 +336,36 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
331
336
|
\u52E4\u6020\u9023\u7D61\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u52E4\u6020\u306E\u7BA1\u7406\u8005\uFF09
|
|
332
337
|
twp attendance report reasons
|
|
333
338
|
\u52E4\u6020\u9023\u7D61\u3067\u4F7F\u3048\u308B\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u7D44\u307F\u5408\u308F\u305B
|
|
339
|
+
twp attendance report-category list
|
|
340
|
+
\u52E4\u6020\u9023\u7D61\u306E\u9023\u7D61\u533A\u5206\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\uFF08\u7121\u52B9\u3092\u542B\u3080\uFF09
|
|
341
|
+
twp attendance report-category get <\u9023\u7D61\u533A\u5206>
|
|
342
|
+
\u9023\u7D61\u533A\u52061\u4EF6\u306E\u8A73\u7D30
|
|
343
|
+
twp attendance report-category create
|
|
344
|
+
\u9023\u7D61\u533A\u5206\u3092\u4F5C\u6210\u3059\u308B\uFF08--code\u30FB--name \u5FC5\u9808\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
345
|
+
twp attendance report-category update <\u9023\u7D61\u533A\u5206>
|
|
346
|
+
\u9023\u7D61\u533A\u5206\u3092\u5909\u66F4\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
347
|
+
twp attendance report-category delete <\u9023\u7D61\u533A\u5206>
|
|
348
|
+
\u9023\u7D61\u533A\u5206\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u5B50 \u2192 \u89AA\u306E\u9806\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
349
|
+
twp attendance report-reason list
|
|
350
|
+
\u52E4\u6020\u9023\u7D61\u306E\u9023\u7D61\u7406\u7531\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\uFF08\u7121\u52B9\u3092\u542B\u3080\uFF09
|
|
351
|
+
twp attendance report-reason get <\u9023\u7D61\u7406\u7531>
|
|
352
|
+
\u9023\u7D61\u7406\u75311\u4EF6\u306E\u8A73\u7D30
|
|
353
|
+
twp attendance report-reason create
|
|
354
|
+
\u9023\u7D61\u7406\u7531\u3092\u4F5C\u6210\u3059\u308B\uFF08--code\u30FB--name \u5FC5\u9808\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
355
|
+
twp attendance report-reason update <\u9023\u7D61\u7406\u7531>
|
|
356
|
+
\u9023\u7D61\u7406\u7531\u3092\u5909\u66F4\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
357
|
+
twp attendance report-reason delete <\u9023\u7D61\u7406\u7531>
|
|
358
|
+
\u9023\u7D61\u7406\u7531\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u5B50 \u2192 \u89AA\u306E\u9806\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
359
|
+
twp attendance report-reason-detail list
|
|
360
|
+
\u52E4\u6020\u9023\u7D61\u306E\u9023\u7D61\u7406\u7531\u8A73\u7D30\u30DE\u30B9\u30BF\u306E\u4E00\u89A7\uFF08\u7121\u52B9\u3092\u542B\u3080\uFF09
|
|
361
|
+
twp attendance report-reason-detail get <\u9023\u7D61\u7406\u7531\u8A73\u7D30>
|
|
362
|
+
\u9023\u7D61\u7406\u7531\u8A73\u7D301\u4EF6\u306E\u8A73\u7D30
|
|
363
|
+
twp attendance report-reason-detail create
|
|
364
|
+
\u9023\u7D61\u7406\u7531\u8A73\u7D30\u3092\u4F5C\u6210\u3059\u308B\uFF08--code\u30FB--name \u5FC5\u9808\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
365
|
+
twp attendance report-reason-detail update <\u9023\u7D61\u7406\u7531\u8A73\u7D30>
|
|
366
|
+
\u9023\u7D61\u7406\u7531\u8A73\u7D30\u3092\u5909\u66F4\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
367
|
+
twp attendance report-reason-detail delete <\u9023\u7D61\u7406\u7531\u8A73\u7D30>
|
|
368
|
+
\u9023\u7D61\u7406\u7531\u8A73\u7D30\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u5B50 \u2192 \u89AA\u306E\u9806\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\uFF09
|
|
334
369
|
twp attendance overtime \u6708\u306E\u6B8B\u696D\u30B5\u30DE\u30EA\uFF08\u793E\u54E1\u5225\u30FB--month\u30FB--agreement36 \u306736\u5354\u5B9A\u3002\u7BA1\u7406\u8005\uFF09
|
|
335
370
|
twp attendance closings list
|
|
336
371
|
\u6708\u306E\u7DE0\u3081\u72B6\u6CC1\uFF08\u7DE0\u3081\u6E08\u307F\u306E\u4EBA\u306E\u4E00\u89A7\u30FB--month\u3002\u7BA1\u7406\u8005\uFF09
|
|
@@ -484,6 +519,16 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
484
519
|
Backlog \u8AB2\u984C\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092 --out \u3078\u66F8\u304D\u51FA\u3059
|
|
485
520
|
twp backlog status list Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u4E00\u89A7\u3059\u308B\uFF08--project \u304C\u8981\u308B\uFF09
|
|
486
521
|
twp backlog user list Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08--project \u304C\u8981\u308B\uFF09
|
|
522
|
+
twp redmine space list \u767B\u9332\u6E08\u307F\u306E Redmine \u63A5\u7D9A\u5148\u3092\u4E00\u89A7\u3059\u308B
|
|
523
|
+
twp redmine project list
|
|
524
|
+
Redmine \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B
|
|
525
|
+
twp redmine issue list Redmine \u30C1\u30B1\u30C3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08--project / --status / --assignee\uFF09
|
|
526
|
+
twp redmine issue get <\u30C1\u30B1\u30C3\u30C8\u756A\u53F7>
|
|
527
|
+
Redmine \u30C1\u30B1\u30C3\u30C81\u4EF6\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u30FB\u30B3\u30E1\u30F3\u30C8\u30FB\u6DFB\u4ED8\u4E00\u89A7\u3064\u304D\uFF09
|
|
528
|
+
twp redmine attachment list <\u30C1\u30B1\u30C3\u30C8\u756A\u53F7>
|
|
529
|
+
Redmine \u30C1\u30B1\u30C3\u30C8\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08id / filename / filesize\uFF09
|
|
530
|
+
twp redmine attachment download <\u6DFB\u4ED8ID> --out <\u30D1\u30B9>
|
|
531
|
+
Redmine \u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092 --out \u3078\u66F8\u304D\u51FA\u3059
|
|
487
532
|
twp outlook mail list Outlook \u306E\u30E1\u30FC\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u53D7\u4FE1\u30C8\u30EC\u30A4\u30FB--unread / --search\uFF09
|
|
488
533
|
twp outlook mail get <\u30E1\u30FC\u30EBID>
|
|
489
534
|
\u30E1\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u3064\u304D\uFF09
|
|
@@ -613,6 +658,33 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
|
|
|
613
658
|
\u8077\u4F4D\u3092\u66F4\u65B0\u3059\u308B\uFF08--status inactive \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
614
659
|
twp job-title delete <\u8077\u4F4D>
|
|
615
660
|
\u8077\u4F4D\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
661
|
+
twp segment list \u30BB\u30B0\u30E1\u30F3\u30C8\u3092\u4E00\u89A7\u3059\u308B
|
|
662
|
+
twp segment get <\u30BB\u30B0\u30E1\u30F3\u30C8>
|
|
663
|
+
\u30BB\u30B0\u30E1\u30F3\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
664
|
+
twp segment create \u30BB\u30B0\u30E1\u30F3\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
665
|
+
twp segment update <\u30BB\u30B0\u30E1\u30F3\u30C8>
|
|
666
|
+
\u30BB\u30B0\u30E1\u30F3\u30C8\u3092\u66F4\u65B0\u3059\u308B\uFF08--status inactive \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
667
|
+
twp segment delete <\u30BB\u30B0\u30E1\u30F3\u30C8>
|
|
668
|
+
\u30BB\u30B0\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
669
|
+
twp user-contract-type list
|
|
670
|
+
\u5951\u7D04\u5F62\u614B\u3092\u4E00\u89A7\u3059\u308B\uFF08--active \u3067\u7D5E\u308A\u8FBC\u307F\uFF09
|
|
671
|
+
twp user-contract-type get <\u5951\u7D04\u5F62\u614B>
|
|
672
|
+
\u5951\u7D04\u5F62\u614B1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
673
|
+
twp user-contract-type create
|
|
674
|
+
\u5951\u7D04\u5F62\u614B\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
675
|
+
twp user-contract-type update <\u5951\u7D04\u5F62\u614B>
|
|
676
|
+
\u5951\u7D04\u5F62\u614B\u3092\u66F4\u65B0\u3059\u308B\uFF08--active false \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
677
|
+
twp user-contract-type delete <\u5951\u7D04\u5F62\u614B>
|
|
678
|
+
\u5951\u7D04\u5F62\u614B\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
679
|
+
twp fiscal-year list \u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A\u3092\u4E00\u89A7\u3059\u308B
|
|
680
|
+
twp fiscal-year get <\u5E74\u5EA6>
|
|
681
|
+
\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
682
|
+
twp fiscal-year create <\u5E74\u5EA6>
|
|
683
|
+
\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
684
|
+
twp fiscal-year update <\u5E74\u5EA6>
|
|
685
|
+
\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A\u3092\u66F4\u65B0\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
686
|
+
twp fiscal-year delete <\u5E74\u5EA6>
|
|
687
|
+
\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
616
688
|
twp evaluation list \u898B\u3066\u3088\u3044\u7BC4\u56F2\u306E\u4EBA\u4E8B\u8A55\u4FA1\u3092\u4E00\u89A7\u3059\u308B\uFF08--period\u30FB--status\uFF09
|
|
617
689
|
twp evaluation subordinates --period <\u8A55\u4FA1\u671F\u9593ID>
|
|
618
690
|
\u8A55\u4FA1\u8005\u3068\u3057\u3066\u6301\u3064\u90E8\u4E0B\u3068\u8A55\u4FA1\u306E\u72B6\u614B\u3092\u4E00\u89A7\u3059\u308B
|
|
@@ -1125,16 +1197,16 @@ TUI \u5185:
|
|
|
1125
1197
|
TWP API \u3092\u547C\u3079\u307E\u3059\u3002TWP API \u306E\u30C4\u30FC\u30EB\u306F\u65E2\u5B9A\u3067\u78BA\u8A8D\u304C\u51FA\u307E\u3059\uFF08-p \u3067\u306F\u62D2\u5426\u3002--allowed-tools \u3067\u540D\u524D\u3092\u8A31\u53EF\uFF09\u3002
|
|
1126
1198
|
\u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
|
|
1127
1199
|
`;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
|
|
1128
|
-
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-
|
|
1129
|
-
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-
|
|
1200
|
+
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-DGPGHQNL.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
|
|
1201
|
+
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-LBL4AOZW.js"),import("./config-3CNEQ7KN.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-3H3CGGBI.js");process.exitCode=
|
|
1130
1202
|
await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
1131
1203
|
`);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
|
|
1132
1204
|
|
|
1133
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-
|
|
1134
|
-
domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-
|
|
1135
|
-
void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-NCAVUXSX.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-
|
|
1136
|
-
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-
|
|
1205
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-RLV6W5JA.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
|
|
1206
|
+
{},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-HP3ABNDG.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
|
|
1207
|
+
profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-NCAVUXSX.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-EK3EYLQH.js");
|
|
1208
|
+
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-2FOGOL65.js");process.exitCode=await runTaskLoop(
|
|
1137
1209
|
{action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,
|
|
1138
|
-
skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,planOp:args.planOp,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-
|
|
1139
|
-
void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-
|
|
1140
|
-
isTTY,doctor:args.doctor,version:VERSION})}await main();
|
|
1210
|
+
skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,planOp:args.planOp,capacityOp:args.capacityOp,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-VL45DNR7.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.
|
|
1211
|
+
mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-C4TUNEAO.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,
|
|
1212
|
+
noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
|