@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{isModeId,isPermissionModeId}from"./chunk-2LOT54OO.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-
|
|
3
|
+
import{isModeId,isPermissionModeId}from"./chunk-2LOT54OO.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-YYURQG4E.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill","plan","capacity"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revision","--dir","--output","--query"]);var BOOLEAN_FLAGS=new Set(
|
|
4
4
|
["-h","--help","-v","--version","--no-tui","--doctor","--password","--token","--no-browser","--safe","--daemon","--force-runner","--force","--drain","--yes","-y","--no-ai-config-file","--verbose","--all","--empty","--check","--dry-run","--debug","--refresh"]);function dispatch(argv,limit=2){const tokens=[];const indexes=[];let truncated=false;for(let i=0;i<argv.length;i++){const arg=argv[i];if(arg===void 0)continue;if(arg.startsWith("-")&&arg!=="-"){const{name,value:inline}=splitFlagToken(arg);if(BOOLEAN_FLAGS.
|
|
5
5
|
has(name)){if(inline!==void 0){truncated=true;break}continue}if(VALUE_FLAGS.has(name)){if(inline!==void 0)continue;const next=argv[i+1];if(next!==void 0&&(!next.startsWith("-")||next==="-"))i++;continue}truncated=true;break}if(arg===""||arg==="-")continue;if(tokens.length>=limit)break;tokens.push(arg);indexes.push(i)}return{tokens,indexes,truncated}}function isBuiltin(token){return token!==void 0&&BUILTIN_COMMANDS.includes(token)}function isTaskLoopAction(token){return token!==void 0&&TASK_LOOP_ACTIONS.
|
|
6
6
|
includes(token)}function resolveRoute(result){const{tokens,indexes}=result;const[first,second]=tokens;const firstIndex=indexes[0];if(first===void 0||firstIndex===void 0)return{kind:"none",consumed:[]};const consumed=[firstIndex];const secondIndex=indexes[1];if(isBuiltin(first)){if(first==="task-loop"&&isTaskLoopAction(second)){if(secondIndex!==void 0)consumed.push(secondIndex);return{kind:"builtin",command:first,action:second,consumed}}return{kind:"builtin",command:first,...first==="task-loop"?{
|
|
@@ -18,19 +18,20 @@ ect",inline);if(value!==void 0){out.project=value;i+=step}break}case"--engine":{
|
|
|
18
18
|
true;break;case"--ai":{const{value:v,step}=takeValue(i,"--ai",inline);if(v!==void 0){out.ais=[...out.ais??[],v];i+=step}break}case"--no-ai-config-file":out.noAiConfigFile=true;break;case"--workspace":{const{value:v,step}=takeValue(i,"--workspace",inline);if(v!==void 0){out.workspace=v;i+=step}break}case"--ai-config-file":{const{value:v,step}=takeValue(i,"--ai-config-file",inline);if(v!==void 0){out.aiConfigFile=v;i+=step}break}case"--verbose":out.verbose=true;break;case"--now":{const{value:v,step}=takeValue(
|
|
19
19
|
i,"--now",inline);if(v!==void 0){out.scheduleNow=v;i+=step}break}case"--counts":{const{value:v,step}=takeValue(i,"--counts",inline);if(v!==void 0){out.scheduleCounts=v;i+=step}break}case"--gate":{const{value:v,step}=takeValue(i,"--gate",inline);if(v!==void 0){out.scheduleGate=v;i+=step}break}case"--file":{if(inline===void 0&&argv[i+1]==="-"){out.charterFile="-";i+=1;break}const{value:v,step}=takeValue(i,"--file",inline);if(v!==void 0){out.charterFile=v;i+=step}break}case"--out":{const{value:v,step}=takeValue(
|
|
20
20
|
i,"--out",inline);if(v!==void 0){out.charterOut=v;i+=step}break}case"--revision":{const{value:v,step}=takeValue(i,"--revision",inline);if(v!==void 0){out.charterRevision=v;i+=step}break}case"--dir":{const{value:v,step}=takeValue(i,"--dir",inline);if(v!==void 0){out.skillDir=v;i+=step}break}case"--all":out.skillAll=true;break;case"--empty":out.planEmpty=true;break;case"--check":out.planCheck=true;break;default:if(out.command==="task-loop"&&out.taskLoopAction==="charter"&&out.charterOp===void 0&&(raw===
|
|
21
|
-
"push"||raw==="pull")){out.charterOp=raw;break}if(out.command==="task-loop"&&out.taskLoopAction==="plan"&&out.planOp===void 0&&raw==="submit"){out.planOp="submit";break}if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0&&(raw==="push"||raw==="pull")){out.skillOp=raw;break}if(out.skillOp!==void 0&&out.skillName===void 0&&!raw.startsWith(
|
|
22
|
-
loginMethod==="password"?"--password":"--token");out.loginMethod="browser"}if(out.permissionMode!==void 0&&out.command!=="tui"&&out.command!=="print"){out.unknown.push("--permission-mode");delete out.permissionMode}if(out.command!=="tui"&&out.command!=="print"){if(out.allowedTools.length>0)out.unknown.push("--allowed-tools");if(out.disallowedTools.length>0)out.unknown.
|
|
23
|
-
"browser")){out.unknown.push("--no-browser");out.loginNoBrowser=false}if(out.command==="logout"&&out.stopForce){out.logoutForce=true;out.stopForce=false}if(out.command!=="task-loop"){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.stopForce)out.unknown.push("--force");
|
|
24
|
-
"--
|
|
25
|
-
|
|
26
|
-
-yes");const acceptsOutput=isDomainRoute||out.command==="whoami";if(!acceptsOutput){if(out.output!==void 0)out.unknown.push("--output");if(out.query!==void 0)out.unknown.push("--query")}if(!isDomainRoute){if(out.dryRun)out.unknown.push("--dry-run");if(out.debug)out.unknown.push("--debug");if(out.refresh)out.unknown.push("--refresh")}if(out.command==="api"&&out.refresh){
|
|
27
|
-
unknown.push("--
|
|
28
|
-
push("--force \u3068 --drain \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");out.stopForce=false;out.stopDrain=false}if(out.command==="task-loop"&&out.taskLoopAction!=="setup"){if(out.yes&&out.taskLoopAction!=="charter"&&out.taskLoopAction!=="skill")out.unknown.push("--yes");if(out.ais!==void 0)out.unknown.push("--ai");if(out.workspace!==void 0)out.
|
|
29
|
-
push("--no-ai-config-file")}if(out.command==="task-loop"&&(out.taskLoopAction==="stop"||out.taskLoopAction==="status")){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==
|
|
30
|
-
out.unknown.push("--engine");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}if(out.command==="task-loop"&&out.taskLoopAction==="charter"){if(out.charterOp===void 0){out.unknown.
|
|
31
|
-
"push"&&out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOp!=="push"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.charterOp!=="pull"&&out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)
|
|
32
|
-
push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0){out.unknown.push("skill \u306B\u306F push \u304B pull \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}else if(out.skillName===void 0&&!out.skillAll){out.unknown.push(`skill ${out.skillOp} \u306B\u306F\u30B9\u30AD\u30EB\u540D\u304B --all \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`)}else if(out.
|
|
33
|
-
\u3093")}if(out.skillOp!=="push"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
21
|
+
"push"||raw==="pull")){out.charterOp=raw;break}if(out.command==="task-loop"&&out.taskLoopAction==="plan"&&out.planOp===void 0&&raw==="submit"){out.planOp="submit";break}if(out.command==="task-loop"&&out.taskLoopAction==="capacity"&&out.capacityOp===void 0&&raw==="report"){out.capacityOp="report";break}if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0&&(raw==="push"||raw==="pull")){out.skillOp=raw;break}if(out.skillOp!==void 0&&out.skillName===void 0&&!raw.startsWith(
|
|
22
|
+
"-")){out.skillName=raw;break}}out.unknown.push(raw)}}if(out.command!=="login"&&out.loginMethod!=="browser"){out.unknown.push(out.loginMethod==="password"?"--password":"--token");out.loginMethod="browser"}if(out.permissionMode!==void 0&&out.command!=="tui"&&out.command!=="print"){out.unknown.push("--permission-mode");delete out.permissionMode}if(out.command!=="tui"&&out.command!=="print"){if(out.allowedTools.length>0)out.unknown.push("--allowed-tools");if(out.disallowedTools.length>0)out.unknown.
|
|
23
|
+
push("--disallowed-tools");out.allowedTools=[];out.disallowedTools=[]}if(out.loginNoBrowser&&!(out.command==="login"&&out.loginMethod==="browser")){out.unknown.push("--no-browser");out.loginNoBrowser=false}if(out.command==="logout"&&out.stopForce){out.logoutForce=true;out.stopForce=false}if(out.command!=="task-loop"){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.stopForce)out.unknown.push("--force");
|
|
24
|
+
if(out.stopDrain)out.unknown.push("--drain");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles");if(out.project!==void 0)out.unknown.push("--project");if(out.verbose)out.unknown.push("--verbose");if(out.scheduleNow!==void 0)out.unknown.push("--now");if(out.scheduleCounts!==void 0)out.unknown.push("--counts");if(out.scheduleGate!==void 0)out.unknown.push("--gate");if(out.ais!==void 0)
|
|
25
|
+
out.unknown.push("--ai");if(out.workspace!==void 0)out.unknown.push("--workspace");if(out.aiConfigFile!==void 0)out.unknown.push("--ai-config-file");if(out.noAiConfigFile)out.unknown.push("--no-ai-config-file");if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.skillDir!==void 0)out.unknown.push("--dir");if(out.skillAll)out.unknown.push("--all");if(out.planEmpty)out.unknown.
|
|
26
|
+
push("--empty");if(out.planCheck)out.unknown.push("--check")}if(out.yes&&out.command!=="task-loop"&&!isDomainRoute)out.unknown.push("--yes");const acceptsOutput=isDomainRoute||out.command==="whoami";if(!acceptsOutput){if(out.output!==void 0)out.unknown.push("--output");if(out.query!==void 0)out.unknown.push("--query")}if(!isDomainRoute){if(out.dryRun)out.unknown.push("--dry-run");if(out.debug)out.unknown.push("--debug");if(out.refresh)out.unknown.push("--refresh")}if(out.command==="api"&&out.refresh){
|
|
27
|
+
out.unknown.push("--refresh");out.refresh=false}if(out.command==="task-loop"&&out.taskLoopAction!=="schedule"){if(out.verbose)out.unknown.push("--verbose");if(out.scheduleNow!==void 0)out.unknown.push("--now");if(out.scheduleCounts!==void 0)out.unknown.push("--counts");if(out.scheduleGate!==void 0)out.unknown.push("--gate")}if(out.command==="task-loop"&&out.taskLoopAction!=="stop"&&out.stopForce){out.unknown.push("--force")}if(out.command==="task-loop"&&out.taskLoopAction!=="stop"&&out.stopDrain){
|
|
28
|
+
out.unknown.push("--drain")}if(out.command==="task-loop"&&out.taskLoopAction==="stop"&&out.stopForce&&out.stopDrain){out.unknown.push("--force \u3068 --drain \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");out.stopForce=false;out.stopDrain=false}if(out.command==="task-loop"&&out.taskLoopAction!=="setup"){if(out.yes&&out.taskLoopAction!=="charter"&&out.taskLoopAction!=="skill")out.unknown.push("--yes");if(out.ais!==void 0)out.unknown.push("--ai");if(out.workspace!==void 0)out.
|
|
29
|
+
unknown.push("--workspace");if(out.aiConfigFile!==void 0)out.unknown.push("--ai-config-file");if(out.noAiConfigFile)out.unknown.push("--no-ai-config-file")}if(out.command==="task-loop"&&(out.taskLoopAction==="stop"||out.taskLoopAction==="status")){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==
|
|
30
|
+
void 0)out.unknown.push("--max-cycles")}if(out.command==="task-loop"&&out.taskLoopAction==="setup"){if(out.engine!==void 0)out.unknown.push("--engine");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}if(out.command==="task-loop"&&out.taskLoopAction==="charter"){if(out.charterOp===void 0){out.unknown.
|
|
31
|
+
push("charter \u306B\u306F push \u304B pull \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}if(out.charterOp!=="push"&&out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOp!=="push"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.charterOp!=="pull"&&out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)
|
|
32
|
+
out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0){out.unknown.push("skill \u306B\u306F push \u304B pull \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}else if(out.skillName===void 0&&!out.skillAll){out.unknown.push(`skill ${out.skillOp} \u306B\u306F\u30B9\u30AD\u30EB\u540D\u304B --all \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`)}else if(out.
|
|
33
|
+
skillName!==void 0&&out.skillAll){out.unknown.push("\u30B9\u30AD\u30EB\u540D\u3068 --all \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093")}if(out.skillOp!=="push"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==
|
|
34
|
+
void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="plan"){if(out.planOp===void 0)out.unknown.push("plan \u306B\u306F submit \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.safe)out.unknown.push("--safe");if(out.
|
|
35
|
+
daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="capacity"){if(out.capacityOp===void 0)out.unknown.push("capacity \u306B\u306F report \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(out.charterFile!==void 0)out.unknown.push(
|
|
36
|
+
"--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"){if(out.charterFile!==void 0)out.unknown.
|
|
37
|
+
push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision")}if(out.command==="task-loop"&&out.taskLoopAction!=="skill"){if(out.skillDir!==void 0)out.unknown.push("--dir");if(out.skillAll)out.unknown.push("--all")}if(out.command==="task-loop"&&out.taskLoopAction!=="plan"){if(out.planEmpty)out.unknown.push("--empty");if(out.planCheck)out.unknown.push("--check")}return out}export{BUILTIN_COMMANDS,TASK_LOOP_ACTIONS,VALUE_FLAGS,GLOBAL_FLAGS,parseArgv};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{salesAdminForbidden}from"./chunk-
|
|
4
|
-
SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-
|
|
3
|
+
import{salesAdminForbidden}from"./chunk-ENVASCZU.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-G6RLNOIZ.js";import{booleanText,boundedText}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,
|
|
4
|
+
SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-ZSPWHEBL.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INT_MAX=2147483647;var MEMBER_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
|
|
5
5
|
"string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return data}function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function integerValue(flag,raw,min,max=INT_MAX){const trimmed=raw.
|
|
6
6
|
trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isSafeInteger(value)||value<min||value>max)throw new UsageError(`${flag} \u306F ${min} \u4EE5\u4E0A ${max} \u4EE5\u4E0B\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);return value}var RULE_COLUMNS=["id","rule_name","prefix","digit_count","current_number","count_up_num","next_number","sort_order"];function nextNumber(rule,purchaseFormat){const current=rule["current_number"];const step=rule["\
|
|
7
7
|
count_up_num"]??1;const digits=rule["digit_count"];if(typeof current!=="number"||typeof step!=="number"||typeof digits!=="number")return void 0;const width=purchaseFormat&&digits===0?4:digits;const padded=String(current+step).padStart(width,"0");const prefix=rule["prefix"];if(purchaseFormat)return`${prefix===null||prefix===void 0?"2000":text(prefix)}${padded}`;return typeof prefix==="string"&&prefix!==""&&prefix!=="0"?`${prefix}${padded}`:padded}function withNext(spec,row){const next=nextNumber(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{contentTypeFor,inspectLocalFile,issued}from"./chunk-I4TR55UF.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{
|
|
3
|
+
import{contentTypeFor,inspectLocalFile,issued}from"./chunk-I4TR55UF.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import{featureLicenseGuidance}from"./chunk-G6RLNOIZ.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-SCU74Z4U.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-ZSPWHEBL.js";
|
|
4
4
|
import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,errorListMessages}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import fs from"fs";import path from"path";function levelForbidden(licenseGuidance,levelGuidance){return body=>body?.error==="permission_denied"?licenseGuidance:levelGuidance}var COMPANY_LICENSE="\u53D6\u5F15\u5148\u3092\u6271\u3046\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u304B\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u304C\u3001\u3069\u3061\u3089\u3082\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u3069\u3061\u3089\u3082\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u6A29\u9650\u304C\u3069\u3061\u3089\u3082\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
5
5
|
var CUSTOMER_LICENSE=featureLicenseGuidance("\u9867\u5BA2\u7BA1\u7406");var COMPANY_WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u304B\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
|
|
6
6
|
var LEVEL_LABELS={admin:"\u7BA1\u7406\u8005",editor:"\u7DE8\u96C6\u8005",viewer:"\u95B2\u89A7\u8005",none:"\u306A\u3057"};var CHILD_DELETE_NEEDS="\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059";var CUSTOMER_DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u524A\u9664\u306B\u306F\u3001\u4F01\u696D\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304B\u8CA9\u58F2\u7BA1\u7406\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u3001\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{salesAdminForbidden}from"./chunk-
|
|
3
|
+
import{salesAdminForbidden}from"./chunk-ENVASCZU.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PATH="/api/v2/sales/receivables";var FORBIDDEN=salesAdminForbidden("\u58F2\u639B\u91D1\u6B8B\u9AD8\u3068\u7DE0\u3081");var CLOSING_LIST_MAX=36;var SUMMARY_LABELS=[["previous_balance","\u524D\u6708\u6B8B\u9AD8"],["current_debit","\u5F53\u6708\u501F\u65B9\uFF08\u5F53\u6708\u8ACB\u6C42\u984D\uFF09"],["current_credit","\u5F53\u6708\u8CB8\u65B9\uFF08\u5F53\u6708\u5165\u91D1\u5F15\u5F53\u984D\uFF09"],["current_balance","\u5F53\u6708\u6B8B\u9AD8"],["current_month_uncollected","\u2460 \u5F53\u6708\u8ACB\u6C42 \u672A\u56DE\u53CE"],
|
|
4
4
|
["previous_uncollected","\u2461 \u524D\u6708\u4EE5\u524D \u672A\u5165\u91D1\u58F2\u639B\u91D1"],["advance_received","\u524D\u53D7\u91D1\uFF08\u7FCC\u6708\u4EE5\u964D\u8ACB\u6C42\u3078\u306E\u5165\u91D1\uFF09"],["future_invoice_total","\u2462 \u7FCC\u6708\u4EE5\u964D \u58F2\u639B\u91D1\uFF08\u8ACB\u6C42\u7DCF\u984D\u30FB\u53C2\u8003\uFF09"]];var ITEM_COLUMNS=["invoice_id","invoice_no","company_name","title","invoice_date","due_date","total","collected","uncollected"];var CLOSING_COLUMNS=["year_mo\
|
|
5
5
|
nth","basis_date","closed_at","closed_by_name","has_variance"];function usageOf(op){return`twp receivable ${op} help`}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja-JP")} \u5186`:"\uFF08\u4E0D\u660E\uFF09"}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function yearMonthValue(raw,label){const value=raw.trim();if(!/^\d{4}-(0[1-9]|1[0-2])$/.test(value))throw new UsageError(`${label} \u306F YYYY-MM \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,
|
|
6
6
|
"\u4F8B: 2026-09");return value}function previousYearMonth(yearMonth){const[y,m]=yearMonth.split("-").map(Number);return m===1?`${y-1}-12`:`${y}-${String(m-1).padStart(2,"0")}`}function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function withoutResult(body){return Object.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
var LOADERS={agent:async()=>(await import("./agent-HM4FHCJT.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-VC47FGPR.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-PUJCOMP6.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-NEZXCJGT.js")).analysisDomain,announcement:async()=>(await import("./announcement-BEPIDOMO.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-ZEWRXHUU.js")).attendanceDomainWithRecords,
|
|
4
|
+
backlog:async()=>(await import("./backlog-UD226SVD.js")).backlogDomain,budget:async()=>(await import("./budget-6HOZNG3E.js")).budgetDomain,"business-place":async()=>(await import("./sales-master-GRR4WKLO.js")).businessPlaceDomain,company:async()=>(await import("./company-MUGKJNY3.js")).companyDomain,contract:async()=>(await import("./contract-DJJQBAWX.js")).contractDomain,customer:async()=>(await import("./company-MUGKJNY3.js")).customerDomain,department:async()=>(await import("./department-RMZ72N6B.js")).
|
|
5
|
+
departmentDomain,deposit:async()=>(await import("./deposit-45Y3POXT.js")).depositDomain,estimate:async()=>(await import("./estimate-HTAF6FZT.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-J634U7JQ.js")).evaluationDomain,expense:async()=>(await import("./expense-EVNQ653C.js")).expenseDomain,"fiscal-year":async()=>(await import("./fiscal-year-MVOGDAIP.js")).fiscalYearDomain,"goal-sheet":async()=>(await import("./evaluation-J634U7JQ.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-XO5R47OO.js")).
|
|
6
|
+
inquiryDomain,invoice:async()=>(await import("./invoice-WE2SOMYN.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-3CGRQILF.js")).jobTitleDomain,leave:async()=>(await import("./leave-IFYBLQBF.js")).leaveDomain,media:async()=>(await import("./media-X32Y2MOY.js")).mediaDomain,meeting:async()=>(await import("./knowledge-X3FGXIBL.js")).meetingDomain,note:async()=>(await import("./knowledge-X3FGXIBL.js")).noteDomain,notification:async()=>(await import("./notification-MHYSQKYZ.js")).
|
|
7
|
+
notificationDomain,onedrive:async()=>(await import("./onedrive-ZY3GTU26.js")).onedriveDomain,outlook:async()=>(await import("./outlook-YG7GFF44.js")).outlookDomain,payee:async()=>(await import("./sales-master-GRR4WKLO.js")).payeeDomain,position:async()=>(await import("./position-6UC7X2BJ.js")).positionDomain,project:async()=>(await import("./project-LG47ZCEZ.js")).projectDomain,prospect:async()=>(await import("./prospect-FEU3WQYN.js")).prospectDomain,purchase:async()=>(await import("./purchase-44B2NOOB.js")).
|
|
8
|
+
purchaseDomain,qualification:async()=>(await import("./skill-PWCJCIQO.js")).qualificationDomain,receivable:async()=>(await import("./receivable-NQNZ2B6B.js")).receivableDomain,redmine:async()=>(await import("./redmine-T3JDIH37.js")).redmineDomain,report:async()=>(await import("./report-GJK2YXVO.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-IUYAABSM.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-GRR4WKLO.js")).sealImpressionDomain,
|
|
9
|
+
search:async()=>(await import("./search-N5UE5CUL.js")).searchDomain,segment:async()=>(await import("./segment-FQHY6DVH.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-BXAHFZYY.js")).shiftDomain,skill:async()=>(await import("./skill-PWCJCIQO.js")).skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-HTENSEXJ.js")).supplierPaymentDomain,support:async()=>(await import("./support-DOWAY63P.js")).
|
|
10
|
+
supportDomain,task:async()=>(await import("./task-OMYFPWQZ.js")).taskDomain,teams:async()=>(await import("./teams-AUFHZRDH.js")).teamsDomain,user:async()=>(await import("./user-C7UKUPGT.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-DO576EHJ.js")).userContractTypeDomain,wiki:async()=>(await import("./knowledge-X3FGXIBL.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-BXAHFZYY.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-OBYRYPLC.js")).
|
|
11
|
+
workerAgentDomain,workflow:async()=>(await import("./workflow-C2BEVHQ2.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
var DOMAIN_NAMES=["agent","agent-loop","ai-review-reason","analysis","announcement","attendance","backlog","budget","business-place","company","contract","customer","department","deposit","estimate","evaluation","expense","fiscal-year","goal-sheet","inquiry","invoice","job-title","leave","media","meeting","note","notification","onedrive","outlook","payee","position","project","prospect","purchase","qualification","receivable","redmine","report","rounding-setting","seal-impression","search","segm\
|
|
4
|
+
ent","shift","skill","storage","supplier-payment","support","task","teams","user","user-contract-type","wiki","workchange","worker-agent","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CRITERION_RE,checkCounts,checksOf,envelope,reasonsMap,reviewOf,withoutResult}from"./chunk-
|
|
3
|
+
import{CRITERION_RE,checkCounts,checksOf,envelope,reasonsMap,reviewOf,withoutResult}from"./chunk-FBBKRVVS.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{WORKFLOWS_PATH}from"./chunk-ZSPWHEBL.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,
|
|
4
4
|
pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var INSTANCES_PATH=`${WORKFLOWS_PATH}/instances`;var COMMENT_MAX_CHARS=2e3;var IN_FLIGHT=new Set(["pending","processing"]);var GET_USAGE="twp workflow ai-review get <\u7533\u8ACBID>";var UPDATE_USAGE="twp workflow ai-review-comment update <\u6307\u6458ID> --instance <\u7533\u8ACBID> (--text <\u672C\u6587> | --text-file <\u30D1\u30B9>)";var DELETE_USAGE="twp workflow ai-review-comment delete <\u6307\u6458ID> --instance <\u7533\u8ACBID> --yes";function instanceUuid(raw,usage,what){const id=raw?.trim()??
|
|
5
5
|
"";if(id==="")throw new UsageError(`\u7533\u8ACBID \u3092${what}\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(!UUID_RE.test(id))throw new UsageError(`\u7533\u8ACBID \u306F UUID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${usage}
|
|
6
6
|
\u7533\u8ACBID \u306F twp workflow approval pending \u306E id \u5217\u3067\u3059\u3002`);return id}function workflowReviewPath(instanceId){return`${INSTANCES_PATH}/${encodeURIComponent(instanceId)}/ai-review`}function reviewTarget(input){if(input.args.length>1)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${input.args.slice(1).join(" ")}`,GET_USAGE);return workflowReviewPath(instanceUuid(input.args[0],GET_USAGE,"\u4F4D\u7F6E\u5F15\u6570"))}function commentTarget(input,usage){
|
|
@@ -1,9 +1,48 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{
|
|
4
|
-
UsageError}from"./chunk-VFPY2A23.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
3
|
+
import{dateFlag,monthFlag}from"./chunk-EXT4AIDF.js";import{STATUS_VALUES,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,targetId,truncationNotes,updateFlags}from"./chunk-SCU74Z4U.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{ATTENDANCE_REPORTS_PATH,ATTENDANCE_REPORT_MASTER_LABELS,ATTENDANCE_REPORT_MASTER_PATHS,ORG_MASTER_LIMIT,resolveNamed}from"./chunk-ZSPWHEBL.js";
|
|
4
|
+
import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var USER_REF_HELP="<\u30E6\u30FC\u30B6\u30FC> \u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u30FBme\uFF08\u81EA\u5206\uFF09\u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u6C0F\u540D\u306F\u5B8C\u5168\u4E00\u81F4\u30671\u4EBA\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF08\u540C\u59D3\u540C\u540D\u306A\u3089\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308B\u306E\u3067\u3001\n\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304B\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3057\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002ID \u4EE5\u5916\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\n\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002\n\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u793E\u54E1\u756A\u53F7\u3067\u306F\u5F15\u3051\u307E\u305B\u3093\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
5
5
|
function userPath(input,suffix=""){const userId=requireResolved(input,"userId");if(!isSafePathSegment(userId)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`${encodeURIComponent(userId)}${suffix}`}var USER_REF_FLAG={name:"--user",summary:"\u5BFE\u8C61\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",
|
|
6
|
-
takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"};async function prepareUser(input,ctx,usage){const ref=singleRef(input,{flag:"--user",label:"\u30E6\u30FC\u30B6\u30FC",usage});const user=await ctx.resolver.user(ref);return withResolved(input,{userId:user.id})}var
|
|
6
|
+
takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"};async function prepareUser(input,ctx,usage){const ref=singleRef(input,{flag:"--user",label:"\u30E6\u30FC\u30B6\u30FC",usage});const user=await ctx.resolver.user(ref);return withResolved(input,{userId:user.id})}var COMMAND="twp attendance";function label(kind){return ATTENDANCE_REPORT_MASTER_LABELS[kind]}function commonFields(name){return[{kind:"text",flag:"--code",key:"code",label:`${name}\u30B3\u30FC\u30C9`,maxChars:50,summary:`${name}\u30B3\u30FC\u30C9\uFF08\u30C6\u30CA\u30F3\u30C8\u5185\u3067\u4E00\u610F\uFF09`},{kind:"text",flag:"--name",key:"name",label:`${name}\u540D`,maxChars:255,summary:`${name}\u540D`}]}function tailFields(){return[{kind:"integer",flag:"--sort",key:"sort",label:"\u8868\u793A\u9806",
|
|
7
|
+
min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\u3002\u5C0F\u3055\u3044\u307B\u3069\u4E0A\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF1D\u52E4\u6020\u9023\u7D61\u306E\u9078\u629E\u80A2\u306B\u51FA\u306A\u3044\uFF09"},{kind:"boolean",flag:"--admin-only",key:"is_admin_only",summary:"\u7BA1\u7406\u8005\u3060\u3051\u304C\u9078\u3079\u308B\u304B\uFF08true / false\uFF09"},{kind:"text",flag:"\
|
|
8
|
+
--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"}]}function parentFlag(parent,mode){const parentLabel=label(parent.kind);const summary=mode==="create"?`\u7D10\u3065\u3051\u308B${parentLabel}\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\u3002\u7701\u304F\u3068\u6709\u52B9\u306A${parentLabel}\u3059\u3079\u3066\u306B\u7D10\u3065\u304F\uFF09`:`\u7D10\u3065\u3051\u308B${parentLabel}\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\u3002\
|
|
9
|
+
\u6307\u5B9A\u3057\u305F\u3082\u306E\u3067\u7F6E\u304D\u63DB\u3048\u308B\uFF09`;return{name:parent.flag,summary,takesValue:true,placeholder:`<${parentLabel}>`,repeatable:true}}async function resolveParents(input,ctx,parent){const refs=repeatedValues(input,parent.flag);if(refs.length===0)return void 0;const ids=[];for(const ref of refs){if(ref.trim()==="")throw new UsageError(`${parent.flag} \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`);const id=(await ctx.resolver.attendanceReportMaster(
|
|
10
|
+
parent.kind,ref,parent.flag)).id;if(!ids.includes(id))ids.push(id)}return ids}function parentIds(input){const raw=input.resolved?.["parentIds"];return raw===void 0?void 0:JSON.parse(raw)}function writeBody(input,spec,fields){const body=fieldBody(input,fields);const ids=parentIds(input);if(spec.parent!==void 0&&ids!==void 0)body[spec.parent.bodyKey]=ids;return body}function noArgs(input,operation,usage){if(input.args.length>0)throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
|
|
11
|
+
args.join(" ")}`,usage)}function masterResource(spec){const name=label(spec.kind);const base=`${COMMAND} ${spec.name}`;const fields=[...commonFields(name),...spec.fields];const forbidden=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${name}\u306E\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u306F\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059\uFF08\u95B2\u89A7\u306F\u8AB0\u3067\u3082\u3067\u304D\u307E\u3059\uFF09`;const refHelp=`\
|
|
12
|
+
<${name}> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u7121\u52B9\u306B\u3057\u305F\u3082\u306E\u3082\u542B\u3081\u3066\u5B8C\u5168\u4E00\u81F4\u3002\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2\uFF09\u3002`;const refFlag={name:`--${spec.name}`,summary:`\u5BFE\u8C61\u306E${name}\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09`,
|
|
13
|
+
takesValue:true,placeholder:`<${name}>`};const prepareTarget=async(input,ctx,usage)=>withResolved(input,{id:await targetId(input,{flag:refFlag.name,label:name,usage,resolve:ref=>ctx.resolver.attendanceReportMaster(spec.kind,ref,`<${name}>`)})});const itemPath=input=>`${ATTENDANCE_REPORT_MASTER_PATHS[spec.kind]}/${idSegment(input,name)}`;const item=body=>masterItem(body,spec.itemKey,name);const parent=spec.parent;const parentLabel=parent===void 0?void 0:label(parent.kind);const withParents=async(input,ctx)=>{
|
|
14
|
+
if(parent===void 0)return input;const ids=await resolveParents(input,ctx,parent);return ids===void 0?input:withResolved(input,{parentIds:JSON.stringify(ids)})};const listUsage=`${base} list [--status active|inactive] [--keyword <\u8A9E>]${parent!==void 0?` [${parent.flag} <${parentLabel}>]`:""} [--limit <\u4EF6\u6570>]`;const listOperation2={name:"list",summary:`${name}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u7121\u52B9\u306A\u3082\u306E\u3082\u542B\u3080\uFF09`,usage:listUsage,description:`GET ${ATTENDANCE_REPORT_MASTER_PATHS[spec.
|
|
15
|
+
kind].replace("/api","")} \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u753B\u9762\u300C\u5404\u7A2E\u30DE\u30B9\u30BF\u8A2D\u5B9A > ${name}\u300D\u3068\u540C\u3058\uFF09\u3002
|
|
16
|
+
--keyword \u306F\u30B3\u30FC\u30C9\u3068\u540D\u524D\u306E\u90E8\u5206\u4E00\u81F4\u3067\u3059\u3002
|
|
17
|
+
`+(parent!==void 0?`${parent.flag} \u3092\u4ED8\u3051\u308B\u3068\u3001\u305D\u306E${parentLabel}\u306B\u7D10\u3065\u304F${name}\u3060\u3051\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
18
|
+
`:"")+`\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001--limit \u4EF6\uFF08\u65E2\u5B9A ${ORG_MASTER_LIMIT}\uFF09\u3067\u6253\u3061\u5207\u308A\u307E\u3059\u3002\u6253\u3061\u5207\u3063\u305F\u3068\u304D\u306F stderr \u3067\u77E5\u3089\u305B\u307E\u3059\u3002
|
|
19
|
+
|
|
20
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
21
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${spec.listColumns.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--status",summary:"\u72B6\u614B\u3067\u7D5E\u308A\u8FBC\u3080\uFF08active / inactive\uFF09",takesValue:true,placeholder:"<active|inactive>"},{name:"--keyword",summary:"\u30B3\u30FC\u30C9\u30FB\u540D\u524D\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},...parent!==void 0?[{name:parent.flag,summary:`\u7D10\u3065\u304F${parentLabel}\
|
|
22
|
+
\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09`,takesValue:true,placeholder:`<${parentLabel}>`}]:[],{name:"--limit",summary:`\u53D6\u5F97\u3059\u308B\u4EF6\u6570\u306E\u4E0A\u9650\uFF08\u65E2\u5B9A ${ORG_MASTER_LIMIT}\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"}],async prepare(input,ctx){noArgs(input,"list",listUsage);if(parent===void 0)return input;const ref=nonEmpty(input.flags,parent.flag);if(ref===void 0)return input;return withResolved(input,{
|
|
23
|
+
parentId:(await ctx.resolver.attendanceReportMaster(parent.kind,ref,parent.flag)).id})},plan(input){const raw=nonEmpty(input.flags,"--status");const status=raw?.trim().toLowerCase();if(status!==void 0&&!STATUS_VALUES.includes(status)){throw new UsageError(`--status \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${STATUS_VALUES.join(" / ")} \u3067\u3059\u3002`)}const query={status,keyword:nonEmpty(input.flags,"--keyword"),limit:positiveInteger(
|
|
24
|
+
input.flags,"--limit")??ORG_MASTER_LIMIT};if(parent!==void 0&&input.flags.has(parent.flag))query[parent.queryKey]=requireResolved(input,"parentId");return{method:"GET",path:ATTENDANCE_REPORT_MASTER_PATHS[spec.kind],query}},summarize:body=>masterRows(body,name).map(row=>pick(row,spec.listColumns)),raw:body=>masterRows(body,name),notes:body=>truncationNotes(body,name)};const createUsage=`${base} create --code <\u30B3\u30FC\u30C9> --name <\u540D\u524D>${parent!==void 0?` [${parent.flag} <${parentLabel}\
|
|
25
|
+
>]\u2026`:""} [\u9805\u76EE\u2026]`;const updateUsage=`${base} update <${name}> [\u9805\u76EE\u2026]`;return{name:spec.name,summary:`\u52E4\u6020\u9023\u7D61\u306E${name}\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\uFF09`,operations:[listOperation2,{name:"get",summary:`${name}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B`,usage:`${base} get <${name}>`,description:`${refHelp}
|
|
26
|
+
|
|
27
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[refFlag],prepare:(input,ctx)=>prepareTarget(input,ctx,`${base} get help`),plan:input=>({method:"GET",path:itemPath(input)}),summarize:body=>pick(item(body),spec.getColumns),raw:body=>item(body)},{name:"create",summary:`${name}\u3092\u4F5C\u6210\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\uFF09`,usage:createUsage,description:`--code \u3068 --name \u304C\u5FC5\u9808\u3067\u3059\
|
|
28
|
+
\u3002\u305D\u306E\u307B\u304B\u306E\u9805\u76EE\u306F\u7701\u304F\u3068\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\uFF08\u6709\u52B9\u30FB\u8868\u793A\u9806 0\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002
|
|
29
|
+
`+(parent!==void 0?`${parent.flag} \u3092\u7701\u304F\u3068\u3001\u30B5\u30FC\u30D0\u304C\u305D\u306E\u6642\u70B9\u3067\u6709\u52B9\u306A${parentLabel}\u3059\u3079\u3066\u306B\u7D10\u3065\u3051\u307E\u3059\uFF08\u5168${parentLabel}\u306E\u9078\u629E\u80A2\u306B\u51FA\u307E\u3059\uFF09\u3002
|
|
30
|
+
\u4F5C\u3063\u305F\u76F4\u5F8C\u306E${parentLabel}\u3082\u540D\u524D\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u306E\u7167\u5408\u306F\u30AD\u30E3\u30C3\u30B7\u30E5\u3057\u307E\u305B\u3093\uFF09\u3002
|
|
31
|
+
`:"")+`
|
|
32
|
+
\u4F5C\u6210\u3057\u305F${name}\u306E ID \u304C\u8FD4\u308A\u307E\u3059\u3002`,forbidden,flags:[...createFlags(fields),...parent!==void 0?[parentFlag(parent,"create")]:[]],async prepare(input,ctx){noArgs(input,"create",createUsage);const body=fieldBody(input,fields);for(const key of["code","name"]){if(body[key]===void 0)throw new UsageError(`--${key} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,createUsage)}return withParents(input,ctx)},plan:input=>({method:"POST",path:ATTENDANCE_REPORT_MASTER_PATHS[spec.
|
|
33
|
+
kind],body:writeBody(input,spec,fields)}),summarize:body=>pick(item(body),spec.getColumns),raw:body=>item(body)},{name:"update",summary:`${name}\u3092\u5909\u66F4\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\uFF09`,usage:updateUsage,description:`\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
34
|
+
`+(parent!==void 0?`${parent.flag} \u306F\u7D10\u3065\u3051\u3092**\u6307\u5B9A\u3057\u305F\u3082\u306E\u3067\u7F6E\u304D\u63DB\u3048\u307E\u3059**\uFF08\u8DB3\u3059\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
|
|
35
|
+
`:"")+`\u4ECA\u5F8C\u4F7F\u308F\u306A\u3044${name}\u306F\u3001\u524A\u9664\u305B\u305A\u306B --status inactive \u3067\u7121\u52B9\u306B\u3067\u304D\u307E\u3059\uFF08\u904E\u53BB\u306E\u52E4\u6020\u9023\u7D61\u306E\u8868\u793A\u306F\u305D\u306E\u307E\u307E\u6B8B\u308A\u307E\u3059\uFF09\u3002
|
|
36
|
+
|
|
37
|
+
${refHelp}`,forbidden,flags:[...updateFlags(fields),...parent!==void 0?[parentFlag(parent,"update")]:[],refFlag],async prepare(input,ctx){const parentGiven=parent!==void 0&&repeatedValues(input,parent.flag).length>0;if(!hasAnyField(input,fields)&&!parentGiven){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`${base} update help`)}fieldBody(input,fields);const target=await prepareTarget(input,ctx,`${base} update \
|
|
38
|
+
help`);return withParents(target,ctx)},plan:input=>({method:"PUT",path:itemPath(input),body:writeBody(input,spec,fields)}),summarize:body=>pick(item(body),spec.getColumns),raw:body=>item(body)},{name:"delete",summary:`${name}\u3092\u524A\u9664\u3059\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09`,usage:`${base} delete <${name}> --yes`,description:`${spec.deleteGuidance}
|
|
39
|
+
|
|
40
|
+
${refHelp}`,destructive:true,forbidden,rejected:server=>server.includes("\u524A\u9664\u3067\u304D\u307E\u305B\u3093")?spec.deleteGuidance:void 0,flags:[refFlag],prepare:(input,ctx)=>prepareTarget(input,ctx,`${base} delete help`),plan:input=>({method:"DELETE",path:itemPath(input)}),summarize:body=>acknowledgement(body,`${name}\u524A\u9664`),raw:body=>acknowledgement(body,`${name}\u524A\u9664`)}]}}var reportCategoryResource=masterResource({kind:"categories",name:"report-category",itemKey:"category",
|
|
41
|
+
fields:[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},...tailFields()],listColumns:["id","code","name","name_short","sort","status","is_admin_only"],getColumns:["id","code","name","name_short","sort","status","is_admin_only","description"],deleteGuidance:"\u9023\u7D61\u7406\u7531\u304C\u7D10\u3065\u3044\u3066\u3044\u308B\u9023\u7D61\u533A\u5206\u306F\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3092\u65AD\u308A\u307E\u3059\uFF08\u524A\u9664\u306F\u5B50 \u2192 \u89AA\u306E\u9806\uFF09\u3002\n\u7D10\u3065\u304F\u7406\u7531\u306F twp attendance report-reason list --category <\u533A\u5206> \u3067\u78BA\u304B\u3081\u3001\u7406\u7531\u3092\u6D88\u3059\u304B\u7D10\u3065\u3051\u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\uFF08report-reason update <\u7406\u7531> --category <\u5225\u306E\u533A\u5206>\uFF09\u3002\n\u4ECA\u5F8C\u4F7F\u308F\u306A\u3044\u3060\u3051\u306A\u3089\u3001\u524A\u9664\u305B\u305A\
|
|
42
|
+
\u306B\u7121\u52B9\u306B\u3067\u304D\u307E\u3059: twp attendance report-category update <\u533A\u5206> --status inactive"});var reportReasonResource=masterResource({kind:"reasons",name:"report-reason",itemKey:"reason",fields:tailFields(),parent:{kind:"categories",flag:"--category",bodyKey:"category_ids",queryKey:"category_id"},listColumns:["id","code","name","category_ids","sort","status","is_admin_only"],getColumns:["id","code","name","category_ids","sort","status","is_admin_only","description"],
|
|
43
|
+
deleteGuidance:"\u9023\u7D61\u7406\u7531\u8A73\u7D30\u304C\u7D10\u3065\u3044\u3066\u3044\u308B\u9023\u7D61\u7406\u7531\u306F\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3092\u65AD\u308A\u307E\u3059\uFF08\u524A\u9664\u306F\u5B50 \u2192 \u89AA\u306E\u9806\uFF09\u3002\n\u7D10\u3065\u304F\u7406\u7531\u8A73\u7D30\u306F twp attendance report-reason-detail list --reason <\u7406\u7531> \u3067\u78BA\u304B\u3081\u3001\u7406\u7531\u8A73\u7D30\u3092\u6D88\u3059\u304B\u7D10\u3065\u3051\u3092\u5916\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u4ECA\u5F8C\u4F7F\u308F\u306A\u3044\u3060\u3051\u306A\u3089\u3001\u524A\u9664\u305B\u305A\u306B\u7121\u52B9\u306B\u3067\u304D\u307E\u3059: twp attendance report-reason update <\u7406\u7531> --status inactive"});
|
|
44
|
+
var reportReasonDetailResource=masterResource({kind:"details",name:"report-reason-detail",itemKey:"reason_detail",fields:[...tailFields(),{kind:"boolean",flag:"--yearly-count",key:"show_yearly_count",summary:"\u5E74\u5EA6\u5185\u53D6\u5F97\u56DE\u6570\u8868\u793A\uFF08\u52E4\u6020\u9023\u7D61\u3067\u3053\u306E\u7406\u7531\u8A73\u7D30\u3092\u9078\u3093\u3060\u3068\u304D\u3001\u5E74\u5EA6\u5185\u306E\u53D6\u5F97\u56DE\u6570\u3092\u51FA\u3059\u304B\u3002true / false\uFF09"}],parent:{kind:"reasons",
|
|
45
|
+
flag:"--reason",bodyKey:"reason_ids",queryKey:"reason_id"},listColumns:["id","code","name","reason_ids","sort","status","is_admin_only","show_yearly_count"],getColumns:["id","code","name","reason_ids","sort","status","is_admin_only","show_yearly_count","description"],deleteGuidance:"\u9023\u7D61\u7406\u7531\u8A73\u7D30\u306F\u7D10\u3065\u304F\u5B50\u3092\u6301\u305F\u306A\u3044\u306E\u3067\u3001\u305D\u306E\u307E\u307E\u524A\u9664\u3067\u304D\u307E\u3059\u3002\n\u4ECA\u5F8C\u4F7F\u308F\u306A\u3044\u3060\u3051\u306A\u3089\u3001\u524A\u9664\u305B\u305A\u306B\u7121\u52B9\u306B\u3067\u304D\u307E\u3059: twp attendance report-reason-detail update <\u7406\u7531\u8A73\u7D30> --status inactive"});var REPORT_LIST_USAGE="twp attendance report list [--month <YYYY-MM> | --from <YYYY-MM-DD> --to <YYYY-MM-DD>] [--user <\u30E6\u30FC\u30B6\u30FC>]";var REPORT_GET_USAGE="twp attendance report get <ID>";var REPORT_REASONS_USAGE="twp attendance report reasons";var REPORT_CREATE_USAGE="twp attendance report create (--date <YYYY-MM-DD> | --from <YYYY-MM-DD> --to <YYYY-MM-DD>) --category <\u533A\u5206> --reason <\u7406\u7531> [--detail <\u7406\u7531\u8A73\u7D30>] [--start-time <HH:MM>] [--end-time <HH:MM>] [--note <\u9023\u7D61\u5185\u5BB9> | --note-file <\u30D1\u30B9>]\
|
|
7
46
|
[--private-note <\u975E\u516C\u958B\u30E1\u30E2> | --private-note-file <\u30D1\u30B9>] [--user <\u30E6\u30FC\u30B6\u30FC>]";var REPORT_UPDATE_USAGE="twp attendance report update <ID> [--category <\u533A\u5206> --reason <\u7406\u7531>] [--reason <\u7406\u7531>] [--detail <\u7406\u7531\u8A73\u7D30> | --clear-detail] [--start-time <HH:MM>] [--end-time <HH:MM>] [--note <\u9023\u7D61\u5185\u5BB9> | --note-file <\u30D1\u30B9>] [--private-note <\u975E\u516C\u958B\u30E1\u30E2> | --private-note-file <\u30D1\u30B9>]";
|
|
8
47
|
var REPORT_DELETE_USAGE="twp attendance report delete <ID> --yes";var TEAM_USAGE="twp attendance team [--mode all|related|project] [--project <\u30B3\u30FC\u30C9|ID>]";var FLEX_USAGE="twp attendance flex-settlement [--month <YYYY-MM>] [--user <\u30E6\u30FC\u30B6\u30FC>]";var RANGE_MONTHS_MAX=12;var NOTE_MAX=2e3;var TIME_PATTERN=/^([01]\d|2[0-3]):[0-5]\d$/;var FOREIGN_ID_PREFIXES={"paid-leave-":"\u6709\u7D66\u4F11\u6687\uFF08twp leave\uFF09","work-change-":"\u52E4\u52D9\u5909\u66F4\uFF08twp workchange\uFF09"};
|
|
9
48
|
var REPORT_COLUMNS=["report_date","user_name","kind","reason","detail","time","content","id"];var TEAM_COLUMNS=["user_name","user_code","status_label","last_type","last_recorded_at","project","work_location","notices","user_id"];var FLEX_COLUMNS=["settlement_period","settlement_start_month","settlement_end_month","current_year_month","is_settlement_month","total_scheduled_work_hours","total_actual_work_hours","carry_over_from_previous_hours","excess_or_deficiency_hours","legal_excess_hours","def\
|
|
@@ -13,8 +52,8 @@ takesValue:true,placeholder:"<\u533A\u5206>"},{name:"--reason",summary:"\u9023\u
|
|
|
13
52
|
--start-time",summary:"\u5BFE\u8C61\u306E\u958B\u59CB\u6642\u523B\uFF08HH:MM\u3002\u9045\u523B\u306E\u51FA\u52E4\u4E88\u5B9A\u306A\u3069\uFF09",takesValue:true,placeholder:"<HH:MM>"},{name:"--end-time",summary:"\u5BFE\u8C61\u306E\u7D42\u4E86\u6642\u523B\uFF08HH:MM\u3002\u65E9\u9000\u306E\u9000\u52E4\u4E88\u5B9A\u306A\u3069\uFF09",takesValue:true,placeholder:"<HH:MM>"},{name:"--note",summary:`\u9023\u7D61\u5185\u5BB9\uFF08${NOTE_MAX} \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u9023\
|
|
14
53
|
\u7D61\u5185\u5BB9>"},{name:"--note-file",summary:"\u9023\u7D61\u5185\u5BB9\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u306F\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--private-note",summary:`\u975E\u516C\u958B\u30E1\u30E2\uFF08\u672C\u4EBA\u30FB\u4F5C\u6210\u8005\u30FB\u7BA1\u7406\u8005\u3060\u3051\u304C\u898B\u3089\u308C\u308B\u30FB${NOTE_MAX} \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u30E1\u30E2>"},{name:"--priv\
|
|
15
54
|
ate-note-file",summary:"\u975E\u516C\u958B\u30E1\u30E2\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u306F\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"}];function monthsBetween(start,end){const months=[];let year=Number(start.slice(0,4));let month=Number(start.slice(5,7));const last=end.slice(0,7);for(;;){const current=`${String(year)}-${String(month).padStart(2,"0")}`;months.push(current);if(current>=last)return months;month+=1;if(month>12){month=1;
|
|
16
|
-
year+=1}}}function
|
|
17
|
-
0)throw new UsageError(`ID \u306F1\u3064\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059: ${rest.join(" ")}`,usage);if(!isSafePathSegment(id.trim()))throw new UsageError(`\u52E4\u6020\u9023\u7D61\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u6587\u5B57\u3092\u542B\u307F\u307E\u3059: ${id}`,usage);return id.trim()}function assertOwnReportId(id,usage){for(const[prefix,
|
|
55
|
+
year+=1}}}function noArgs2(input,operation,usage){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage)}}function reportId(input,usage){const[id,...rest]=input.args;if(id===void 0||id.trim()==="")throw new UsageError("\u52E4\u6020\u9023\u7D61\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08twp attendance report list \u306E id \u5217\uFF09",usage);if(rest.length>
|
|
56
|
+
0)throw new UsageError(`ID \u306F1\u3064\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059: ${rest.join(" ")}`,usage);if(!isSafePathSegment(id.trim()))throw new UsageError(`\u52E4\u6020\u9023\u7D61\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u6587\u5B57\u3092\u542B\u307F\u307E\u3059: ${id}`,usage);return id.trim()}function assertOwnReportId(id,usage){for(const[prefix,label2]of Object.entries(FOREIGN_ID_PREFIXES)){if(id.startsWith(prefix)){throw new UsageError(`${id} \u306F\u52E4\u6020\u9023\u7D61\u3067\u306F\u306A\u304F${label2}\
|
|
18
57
|
\u3067\u3059\u3002\u52E4\u6020\u9023\u7D61\u306E\u30B3\u30DE\u30F3\u30C9\u3067\u306F\u5909\u66F4\u30FB\u524A\u9664\u3067\u304D\u307E\u305B\u3093`,usage)}}}async function resolveUserFlag(input,ctx){const ref=input.flags.get("--user");if(ref===void 0)return{};return{userId:(await ctx.resolver.user(ref,"--user")).id}}function timeFlag(input,name,usage){const raw=input.flags.get(name);if(raw===void 0)return void 0;if(!TIME_PATTERN.test(raw.trim()))throw new UsageError(`${name} \u306F HH:MM \u5F62\u5F0F\uFF0800:00\u301C23:59\
|
|
19
58
|
\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${raw}\uFF09`,usage);return raw.trim()}function str(value){return typeof value==="string"&&value!==""?value:null}function rowsToRefs(rows){return rows.flatMap(row=>{const id=str(row["id"]);const name=str(row["name"]);return id===null||name===null?[]:[{id,name,code:str(row["code"])}]})}function linkedTo(row,key,parentId){const ids=row[key];return Array.isArray(ids)&&ids.includes(parentId)}async function resolveMasters(ctx,names){
|
|
20
59
|
const masters=await ctx.resolver.attendanceReportMasters();const out={};let categoryId=names.categoryId;if(names.category!==void 0){categoryId=(await resolveNamed(names.category,rowsToRefs(masters.categories),{flag:"--category",label:"\u6709\u52B9\u306A\u9023\u7D61\u533A\u5206",scope:"\u3053\u306E\u30C6\u30CA\u30F3\u30C8"})).id;out["categoryId"]=categoryId}let reasonId=names.reasonId;if(names.reason!==void 0){const candidates=categoryId===void 0?masters.reasons:masters.reasons.filter(row=>linkedTo(
|
|
@@ -40,7 +79,7 @@ user_name"],kind:kindOf(row),reason:row["reason_name"]??(isRecord(row["reason"])
|
|
|
40
79
|
${USER_REF_HELP}
|
|
41
80
|
\u627F\u8A8D\u6E08\u307F\u306E\u6709\u7D66\u4F11\u6687\uFF08id \u304C paid-leave-\u2026\uFF09\u3068\u52E4\u52D9\u5909\u66F4\uFF08work-change-\u2026\uFF09\u3082\u540C\u3058\u4E00\u89A7\u306B\u4E26\u3073\u307E\u3059\u3002
|
|
42
81
|
\u884C\u306B\u306F\u533A\u5206\u30FB\u7406\u7531\u306E ID \u3057\u304B\u7121\u3044\u306E\u3067\u3001\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u4E00\u89A7\u3082\u5F15\u3044\u3066\u540D\u524D\uFF08category_name / reason_name / reason_detail_name\uFF09\u3092\u8DB3\u3057\u307E\u3059\u3002
|
|
43
|
-
--output json \u306F API \u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3001\u3053\u306E3\u3064\u306E\u540D\u524D\u3092\u8DB3\u3057\u305F\u3082\u306E\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[MONTH_FLAG,FROM_FLAG,TO_FLAG,USER_FLAG],async prepare(input,ctx){
|
|
82
|
+
--output json \u306F API \u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3001\u3053\u306E3\u3064\u306E\u540D\u524D\u3092\u8DB3\u3057\u305F\u3082\u306E\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[MONTH_FLAG,FROM_FLAG,TO_FLAG,USER_FLAG],async prepare(input,ctx){noArgs2(input,"report list",REPORT_LIST_USAGE);listRange(input);return withResolved(input,await resolveUserFlag(input,ctx))},plan:input=>listPlanFor(input,listRange(input).months[0]),plannedNotes:input=>{const{months}=listRange(input);const rest=months.
|
|
44
83
|
slice(1);return[...rest.length>0?[`\u5B9F\u884C\u6642\u306F\u7D9A\u3051\u3066 ${rest.join(" / ")} \u306E\u4E00\u89A7\u3082\u9001\u308A\u307E\u3059\u3002`]:[],"\u5B9F\u884C\u6642\u306F\u7D9A\u3051\u3066\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u4E00\u89A7\uFF08GET /api/v2/attendance/report-{categories,reasons,reason-details}\uFF09\u3082\u9001\u308A\u3001\u540D\u524D\u3092\u8DB3\u3057\u307E\u3059\u3002"]},execute:listReports,summarize:body=>reportList(body).map(summarizeReport),
|
|
45
84
|
raw:body=>reportList(body),notes:body=>{const rows=reportList(body);const foreign=rows.filter(row=>isRecord(row)&&(row["is_paid_leave"]===true||row["is_work_change"]===true)).length;return[`${String(rows.length)} \u4EF6${foreign>0?`\uFF08\u3046\u3061\u6709\u7D66\u30FB\u52E4\u52D9\u5909\u66F4 ${String(foreign)} \u4EF6\u3002\u5909\u66F4\u306F twp leave / twp workchange \u3067\u884C\u3044\u307E\u3059\uFF09`:""}`]}};var getOperation={name:"get",summary:"\u52E4\u6020\u9023\u7D611\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",
|
|
46
85
|
usage:REPORT_GET_USAGE,description:"GET /api/v2/attendance/reports/{id} \u3092\u8868\u793A\u3057\u307E\u3059\u3002\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306F\u30DE\u30B9\u30BF\u306E\u5185\u5BB9\uFF08category / reason / reason_detail\uFF09\u4ED8\u304D\u3067\u8FD4\u308A\u307E\u3059\u3002\npaid-leave-\u2026 / work-change-\u2026 \u306E ID \u306F\u3001\u6709\u7D66\u4F11\u6687\u30FB\u52E4\u52D9\u5909\u66F4\u306E\u5185\u5BB9\u3092\u52E4\u6020\u9023\u7D61\u306E\u5F62\u3067\u8FD4\u3057\u307E\u3059\u3002\n\u672C\u4EBA\u30FB\u4F5C\u6210\u8005\u30FB\u52E4\u6020\u306E\u7BA1\u7406\u8005\u4EE5\u5916\u306B\u306F\u3001\u975E\u516C\u958B\u30E1\u30E2\uFF08content_private\uFF09\u3068\u7406\u7531\u8A73\u7D30\u304C\u4F0F\u305B\u3089\u308C\u307E\u3059\u3002",
|
|
@@ -48,7 +87,7 @@ flags:[],plan:input=>({method:"GET",path:`${ATTENDANCE_REPORTS_PATH}/${encodeURI
|
|
|
48
87
|
body)||!Array.isArray(body["categories"])||!Array.isArray(body["reasons"])||!Array.isArray(body["details"])){throw new ApiResponseError("\u533A\u5206\u30FB\u7406\u7531\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function summarizeReasons(body){const{categories,reasons,details}=mastersBody(body);const rows=[];for(const category of categories){const categoryId=str(
|
|
49
88
|
category["id"]);if(categoryId===null)continue;for(const reason of reasons.filter(row=>linkedTo(row,"category_ids",categoryId))){const reasonId=str(reason["id"]);const linked=reasonId===null?[]:details.filter(row=>linkedTo(row,"reason_ids",reasonId));rows.push({category:category["name"],reason:reason["name"],details:linked.map(row=>row["name"]).join(" / ")||null,admin_only:category["is_admin_only"]===true||reason["is_admin_only"]===true})}}return rows}var reasonsOperation={name:"reasons",summary:"\
|
|
50
89
|
\u52E4\u6020\u9023\u7D61\u3067\u4F7F\u3048\u308B\u533A\u5206\u30FB\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u7D44\u307F\u5408\u308F\u305B\u3092\u4E00\u89A7\u3059\u308B",usage:REPORT_REASONS_USAGE,description:"GET /api/v2/attendance/report-categories/active\u30FBreport-reasons/active\u30FBreport-reason-details/active \u3092\u5F15\u304D\u3001\n\u533A\u5206 \xD7 \u7406\u7531\u306E\u7D44\u307F\u5408\u308F\u305B\u3054\u3068\u306B1\u884C\u3067\u51FA\u3057\u307E\u3059\uFF08details \u306F\u305D\u306E\u7406\u7531\u3067\u9078\u3079\u308B\u7406\u7531\u8A73\u7D30\uFF09\u3002\nreport create \u306E --category / --reason / --detail \u306B\u306F\u3001\u3053\u3053\u306B\u51FA\u308B\u540D\u524D\uFF08\u307E\u305F\u306F\u30B3\u30FC\u30C9\u30FBID\uFF09\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\nadmin_only=true \u306F\u52E4\u6020\u306E\u7BA1\u7406\u8005\u5411\u3051\u306E\u533A\u5206\u30FB\u7406\u7531\u3067\u3059\u3002\n--output json \u306F3\u3064\u306E\u4E00\
|
|
51
|
-
\u89A7\uFF08categories / reasons / details\uFF09\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\u3002\u533A\u5206\u30FB\u7406\u7531\u306E\u767B\u9332\u30FB\u5909\u66F4\u306F\u7BA1\u7406\u753B\u9762\u3067\u884C\u3044\u307E\u3059\u3002",flags:[],plan(input){
|
|
90
|
+
\u89A7\uFF08categories / reasons / details\uFF09\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u307E\u3059\u3002\u533A\u5206\u30FB\u7406\u7531\u306E\u767B\u9332\u30FB\u5909\u66F4\u306F\u7BA1\u7406\u753B\u9762\u3067\u884C\u3044\u307E\u3059\u3002",flags:[],plan(input){noArgs2(input,"report reasons",REPORT_REASONS_USAGE);return{method:"GET",path:`${ATTENDANCE_REPORT_MASTER_PATHS.categories}/active`}},plannedNotes:()=>["\u5B9F\u884C\u6642\u306F\u7D9A\u3051\u3066\u7406\u7531\u30FB\u7406\u7531\u8A73\u7D30\u306E\u4E00\u89A7\uFF08report-reasons/active\u30FBreport-reason-details/active\uFF09\u3082\u9001\u308A\u307E\u3059\u3002"],
|
|
52
91
|
execute:listReasons,summarize:summarizeReasons,raw:mastersBody};function createDates(input){const date=dateFlag(input.flags);const from=dateFlag(input.flags,"--from");const to=dateFlag(input.flags,"--to");if(date!==void 0&&(from!==void 0||to!==void 0)){throw new UsageError("--date \u3068 --from / --to \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",REPORT_CREATE_USAGE)}if(date!==void 0)return{date,months:[date.slice(0,7)]};if(from===void 0||to===void 0){throw new UsageError("\
|
|
53
92
|
\u65E5\u4ED8\u3092 --date \u304B --from / --to\uFF08\u4E21\u65B9\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",REPORT_CREATE_USAGE)}if(from>to)throw new UsageError(`--from\uFF08${from}\uFF09\u304C --to\uFF08${to}\uFF09\u3088\u308A\u5F8C\u3067\u3059`,REPORT_CREATE_USAGE);return{from,to,months:monthsBetween(from,to)}}var RANGE_CONFIRM_DAYS=31;function calendarDays(from,to){return Math.round((Date.parse(`${to}T00:00:00Z`)-Date.parse(`${from}T00:00:00Z`))/864e5)+1}async function createPreview(input){
|
|
54
93
|
const dates=createDates(input);if(dates.from===void 0||dates.to===void 0)return{notes:[],warnings:[]};const days=calendarDays(dates.from,dates.to);return{notes:[`${dates.from}\u301C${dates.to} \u306E ${String(days)} \u65E5\u5206\uFF08\u571F\u65E5\u795D\u3092\u542B\u3080\u6BCE\u65E5\uFF09\u306B\u3001\u52E4\u6020\u9023\u7D61\u30921\u4EF6\u305A\u3064\u767B\u9332\u3057\u307E\u3059`],warnings:days>RANGE_CONFIRM_DAYS?[`\u671F\u9593\u304C ${String(days)} \u65E5\u3042\u308A\u307E\u3059\uFF08${String(RANGE_CONFIRM_DAYS)}\
|
|
@@ -64,7 +103,7 @@ usage:REPORT_CREATE_USAGE,description:`--date \u306A\u3089 POST /api/v2/attendan
|
|
|
64
103
|
--user \u3092\u7701\u304F\u3068\u81EA\u5206\u306E\u5206\u3067\u3059\u3002\u4ED6\u306E\u4EBA\u306E\u5206\u306F\u52E4\u6020\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u767B\u9332\u3067\u304D\u307E\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002
|
|
65
104
|
${USER_REF_HELP}
|
|
66
105
|
\u767B\u9332\u3059\u308B\u3068\u4E0A\u9577\u3078\u901A\u77E5\u304C\u5C4A\u304D\u307E\u3059\u3002\u5BFE\u8C61\u306E\u6708\uFF08\u671F\u9593\u306A\u3089\u304B\u304B\u308B\u6708\u3059\u3079\u3066\uFF09\u304C\u7DE0\u3081\u6E08\u307F\u306A\u3089\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002`,flags:[{name:"--date",summary:"\u5BFE\u8C61\u306E\u65E5\u4ED8\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"},FROM_FLAG,TO_FLAG,...WRITE_FLAGS,
|
|
67
|
-
USER_FLAG],async prepare(input,ctx){
|
|
106
|
+
USER_FLAG],async prepare(input,ctx){noArgs2(input,"report create",REPORT_CREATE_USAGE);createDates(input);timeFlag(input,"--start-time",REPORT_CREATE_USAGE);timeFlag(input,"--end-time",REPORT_CREATE_USAGE);const category=requireFlag(input,"--category",REPORT_CREATE_USAGE);const reason=requireFlag(input,"--reason",REPORT_CREATE_USAGE);const notes=await readNotes(input,REPORT_CREATE_USAGE);const user=await resolveUserFlag(input,ctx);const detail=input.flags.get("--detail");const masters=await resolveMasters(
|
|
68
107
|
ctx,{category,reason,...detail===void 0?{}:{detail}});return withResolved(input,{...user,...masters,...notes})},plan:createPlan,preview:createPreview,plannedNotes:()=>[closingNote("\u767B\u9332")],async execute(input,ctx){const plan=createPlan(input);await assertReportMonthsOpen(ctx,createDates(input).months,input.resolved?.["userId"],"\u767B\u9332");return withNames(await ctx.send(plan),input)},summarize:body=>createdReports(body).map(summarizeReport),raw:body=>(createdReports(body),body),notes:body=>{
|
|
69
108
|
const skipped=isRecord(body)&&Array.isArray(body["skipped_dates"])?body["skipped_dates"]:[];const notes=[`${String(createdReports(body).length)} \u4EF6\u767B\u9332\u3057\u307E\u3057\u305F`];if(skipped.length>0)notes.push(`\u30B5\u30FC\u30D0\u304C\u767B\u9332\u3057\u306A\u304B\u3063\u305F\u65E5: ${skipped.map(String).join(" / ")}`);return notes}};async function prepareExisting(input,ctx,usage){const id=reportId(input,usage);assertOwnReportId(id,usage);const report=await ctx.resolver.attendanceReport(
|
|
70
109
|
id);const date=str(report["report_date"]);const userId=str(report["user_id"]);if(date===null||userId===null){throw new ApiResponseError("\u52E4\u6020\u9023\u7D61\u306E\u5FDC\u7B54\u306B report_date / user_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{reportMonth:date.slice(0,7),reportUserId:userId,...str(report["category_id"])===null?{}:{currentCategoryId:str(report["category_id"])},...str(report["reason_id"])===
|
|
@@ -85,7 +124,7 @@ operations:[listOperation,getOperation,createOperation,updateOperation,deleteOpe
|
|
|
85
124
|
"\u30C1\u30FC\u30E0\u306E\u52E4\u6020\u72B6\u6CC1\u306E\u5FDC\u7B54\u306B team_status \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function summarizeMember(member){const row=isRecord(member)?member:{};const last=isRecord(row["last_record"])?row["last_record"]:void 0;const notices=Array.isArray(row["notices"])?row["notices"]:[];return pick({user_name:row["user_name"],user_code:row["user_code"],status_label:row["\
|
|
86
125
|
status_label"],last_type:last?.["type_label"]??null,last_recorded_at:last?.["recorded_at"]??null,project:row["current_project_name"],work_location:row["work_location"],notices:notices.map(notice=>isRecord(notice)?notice["label"]:notice).join(" / ")||null,user_id:row["user_id"]},TEAM_COLUMNS)}var teamOperation={name:"team",summary:"\u30C1\u30FC\u30E0\u306E\u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u3001\u4ECA\u65E5\u306E\u52E4\u6020\u9023\u7D61\u30FB\u4F11\u6687\u3092\u8868\u793A\u3059\u308B",
|
|
87
126
|
usage:TEAM_USAGE,description:"GET /api/v1/attendance/team-dashboard \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u753B\u9762\u306E\u300C\u30C1\u30FC\u30E0\u306E\u52E4\u6020\u300D\u3068\u540C\u3058\u96C6\u8A08\uFF09\u3002\n--mode all\uFF08\u65E2\u5B9A\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u8868\u793A\u5BFE\u8C61\u306E\u5168\u54E1\u3001related \u306F\u81EA\u5206\u3068\u95A2\u4FC2\u306E\u3042\u308B\u4EBA\uFF08\u90E8\u4E0B\u30FB\u540C\u3058\u90E8\u7F72\u306A\u3069\uFF09\u3001\nproject \u306F --project \u306E\u30E1\u30F3\u30D0\u30FC\u3067\u3059\uFF08--project \u3092\u4ED8\u3051\u308C\u3070 --mode \u306F\u7701\u3051\u307E\u3059\uFF09\u3002\nnotices \u306F\u4ECA\u65E5\u306E\u52E4\u6020\u9023\u7D61\u30FB\u6709\u7D66\u30FB\u52E4\u52D9\u5909\u66F4\u30FB\u30B7\u30D5\u30C8\u3067\u3059\u3002\u4ECA\u65E5\u306E\u65E5\u4ED8\u3068\u3001\u4ECA\u65E5\u306E\u52E4\u6020\u9023\u7D61\u30FB\u4F11\u8077\u4E2D\u306E\u4EBA\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08attendance_reports\u30FBleaves_of_absence \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
88
|
-
flags:[{name:"--mode",summary:"\u5BFE\u8C61\u306E\u7BC4\u56F2\uFF08all / related / project\uFF09",takesValue:true,placeholder:"<all|related|project>"},{name:"--project",summary:"\u5BFE\u8C61\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u30FB--mode project\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"}],async prepare(input,ctx){
|
|
127
|
+
flags:[{name:"--mode",summary:"\u5BFE\u8C61\u306E\u7BC4\u56F2\uFF08all / related / project\uFF09",takesValue:true,placeholder:"<all|related|project>"},{name:"--project",summary:"\u5BFE\u8C61\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u304B ID\u30FB--mode project\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"}],async prepare(input,ctx){noArgs2(input,"team",TEAM_USAGE);teamMode(input);const explicit=input.flags.get("--project");if(explicit===void 0)return input;
|
|
89
128
|
return withResolved(input,{projectId:await ctx.projectId(explicit)})},plan(input){const mode=teamMode(input);return{method:"GET",path:"/api/v1/attendance/team-dashboard",query:{mode,project_id:mode==="project"?requireResolved(input,"projectId"):void 0}}},summarize:body=>teamBody(body)["team_status"].map(summarizeMember),raw:teamBody,notes:body=>{const sheet=teamBody(body);const reports=Array.isArray(sheet["attendance_reports"])?sheet["attendance_reports"].length:0;const leaves=Array.isArray(sheet["\
|
|
90
129
|
leaves_of_absence"])?sheet["leaves_of_absence"].length:0;return[`${String(sheet["date"])} \u6642\u70B9: ${String(sheet["team_status"].length)} \u4EBA / \u4ECA\u65E5\u306E\u52E4\u6020\u9023\u7D61 ${String(reports)} \u4EF6 / \u4F11\u8077\u4E2D ${String(leaves)} \u4EBA`]}};function flexBody(body){if(!isRecord(body)||typeof body["is_flex"]!=="boolean"||body["is_flex"]&&!isRecord(body["flex_settlement"])){throw new ApiResponseError("\u30D5\u30EC\u30C3\u30AF\u30B9\u7CBE\u7B97\u306E\u5FDC\u7B54\u306B is_flex / flex_settlement \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
91
130
|
return body}var flexSettlementOperation={name:"flex-settlement",summary:"\u30D5\u30EC\u30C3\u30AF\u30B9\u7CBE\u7B97\uFF08\u6E05\u7B97\u671F\u9593\u306E\u6240\u5B9A\u30FB\u5B9F\u52B4\u50CD\u30FB\u904E\u4E0D\u8DB3\uFF09\u3092\u8868\u793A\u3059\u308B",usage:FLEX_USAGE,description:`GET /api/v2/attendance/flex-settlement \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u6700\u65B0\u306E\u6253\u523B\u304B\u3089\u8A08\u7B97\u3057\u76F4\u3057\u305F\u5024\uFF09\u3002
|
|
@@ -93,9 +132,9 @@ return body}var flexSettlementOperation={name:"flex-settlement",summary:"\u30D5\
|
|
|
93
132
|
\u4ED6\u306E\u4EBA\u306E\u5206\u306F\u3001\u52E4\u6020\u306E\u7BA1\u7406\u8005\u304B\u305D\u306E\u4EBA\u306E\u4E0A\u9577\u3060\u3051\u304C\u898B\u3089\u308C\u307E\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002
|
|
94
133
|
${USER_REF_HELP}
|
|
95
134
|
\u30D5\u30EC\u30C3\u30AF\u30B9\u52E4\u52D9\u5236\u3067\u306A\u3044\u4EBA\u306F is_flex=false \u3092\u8FD4\u3057\u307E\u3059\uFF08\u30A8\u30E9\u30FC\u306B\u306F\u3057\u307E\u305B\u3093\uFF09\u3002
|
|
96
|
-
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u6708\u5225\u306E\u5185\u8A33 monthly_data\u30FBmonthly_adjusted_data \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[MONTH_FLAG,USER_FLAG],async prepare(input,ctx){
|
|
135
|
+
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u6708\u5225\u306E\u5185\u8A33 monthly_data\u30FBmonthly_adjusted_data \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[MONTH_FLAG,USER_FLAG],async prepare(input,ctx){noArgs2(input,"flex-settlement",FLEX_USAGE);monthFlag(input.flags);return withResolved(input,await resolveUserFlag(input,ctx))},plan:input=>({method:"GET",path:"/api/v2/attendance/flex-settlement",query:{year_month:monthFlag(input.
|
|
97
136
|
flags),user_id:input.resolved?.["userId"]}}),summarize:body=>{const sheet=flexBody(body);if(!sheet["is_flex"])return{is_flex:false,message:sheet["message"]??null};return{is_flex:true,...pick(sheet["flex_settlement"],FLEX_COLUMNS)}},raw:flexBody,notes:body=>flexBody(body)["is_flex"]?[]:[`${String(flexBody(body)["message"]??"\u30D5\u30EC\u30C3\u30AF\u30B9\u52E4\u52D9\u5236\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002")}`]};var STATUS_USAGE="twp attendance status";var LIST_USAGE="twp attendance list [--month <YYYY-MM> | --date <YYYY-MM-DD>]";var TIMESHEET_USAGE="twp attendance timesheet [--month <YYYY-MM>]";var PUNCH_USAGE="twp attendance punch <clock-in|clock-out|break-start|break-end|switch> [--project <\u30B3\u30FC\u30C9|ID>] [--task <\u30BF\u30B9\u30AFID>] [--memo <\u30E1\u30E2>]";var PUNCH_TYPES={"clock-in":"clock_in","clock-out":"clock_out","break-start":"break_start","break-end":"break_end",switch:"switch"};
|
|
98
|
-
var UUID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var MEMO_MAX=500;var PUNCH_COLUMNS=["id","type","type_label","recorded_at","year_month","project_id","task_id","memo"];var RECORD_COLUMNS=["recorded_at","type","type_label","work_location","is_manual","project_id","task_id","memo","id"];var DAY_COLUMNS=["date","clock_in","clock_out","work","break","overtime","late","early_leave","holiday","memo"];function
|
|
137
|
+
var UUID_PATTERN=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var MEMO_MAX=500;var PUNCH_COLUMNS=["id","type","type_label","recorded_at","year_month","project_id","task_id","memo"];var RECORD_COLUMNS=["recorded_at","type","type_label","work_location","is_manual","project_id","task_id","memo","id"];var DAY_COLUMNS=["date","clock_in","clock_out","work","break","overtime","late","early_leave","holiday","memo"];function noArgs3(input,operation){if(input.args.length>0){throw new UsageError(
|
|
99
138
|
`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp attendance ${operation} help`)}}function hoursMinutes(value){if(typeof value!=="number"||!Number.isFinite(value))return value;const sign=value<0?"-":"";const abs=Math.round(Math.abs(value));return`${sign}${Math.floor(abs/60)}:${String(abs%60).padStart(2,"0")}`}function currentBody(body){if(!isRecord(body)||typeof body["status"]!=="string"||!Array.isArray(body["today_records"])){
|
|
100
139
|
throw new ApiResponseError("\u6253\u523B\u72B6\u614B\u306E\u5FDC\u7B54\u306B status / today_records \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function summarizeCurrent(body){const current=currentBody(body);const last=isRecord(current["last_record"])?current["last_record"]:void 0;const actions=Array.isArray(current["available_actions"])?current["available_actions"]:[];return{status:current["status"],status_label:current["\
|
|
101
140
|
status_label"],last_type:last?.["type_label"]??null,last_recorded_at:last?.["recorded_at"]??null,today_records:current["today_records"].length,available_actions:actions.join(" / ")}}function records(body){if(!isRecord(body)||!Array.isArray(body["records"])){throw new ApiResponseError("\u6253\u523B\u5C65\u6B74\u306E\u5FDC\u7B54\u306B records \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body["records"]}function timesheetBody(body){
|
|
@@ -111,7 +150,7 @@ async function assertMonthsOpen(ctx,months,action){for(const month of[...new Set
|
|
|
111
150
|
const record=isRecord(body)?body["record"]:void 0;if(!isRecord(record)||typeof record["type"]!=="string"){throw new ApiResponseError("\u6253\u523B\u306E\u5FDC\u7B54\u306B\u6253\u523B\u8A18\u9332\uFF08type\uFF09\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return record}var OVERTIME_USAGE="twp attendance overtime [--month <YYYY-MM>] [--agreement36]";var CLOSINGS_LIST_USAGE="twp attendance closings list [--month <YYYY-MM>\
|
|
112
151
|
] [--include-hidden]";var FORBIDDEN_ADMIN="\u52E4\u6020\u306E\u7BA1\u7406\u8005\u6A29\u9650\uFF08\u52E4\u6020: \u7BA1\u7406\u8005\uFF09\u304C\u5FC5\u8981\u3067\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u306B\u6A29\u9650\u306E\u4ED8\u4E0E\u3092\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044";var OVERTIME_SCOPE_NOTE="\u5BFE\u8C61\u306F\u3001\u3053\u306E\u6708\u306E\u7DE0\u3081\u30EC\u30B3\u30FC\u30C9\u304C\u3042\u308A\u3001\u8868\u793A\u5BFE\u8C61\u3067\u3001\u6709\u52B9\u306A\u5951\u7D04\u304C\u3042\u308B\u4EBA\u3060\u3051\u3067\u3059\uFF08\u8F09\u3063\u3066\u3044\u306A\u3044\u4EBA\u306F\u6B8B\u696D0\u3068\u3044\u3046\u610F\u5473\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002";
|
|
113
152
|
var MONTH_FLAG2={name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"};var OVERTIME_COLUMNS=["user_name","contract_type_name","overtime","legal_overtime","night_work","holiday_work","total_work","total_work_days","is_overtime_exempt","user_id"];var AGREEMENT36_COLUMNS=["user_name","alert_level","monthly_legal_overtime","monthly_percent","annual_legal_overtime","annual_percent","contract_type_name","user_id"];var CLOSING_COLUMNS=["user\
|
|
114
|
-
_name","closed_at","closed_by","logic_version","user_id","id"];function isAgreement36(input){return input.flags.has("--agreement36")}function overtimeBody(body,
|
|
153
|
+
_name","closed_at","closed_by","logic_version","user_id","id"];function isAgreement36(input){return input.flags.has("--agreement36")}function overtimeBody(body,label2){if(!isRecord(body)||!Array.isArray(body["users"])){throw new ApiResponseError(`${label2}\u306E\u5FDC\u7B54\u306B users \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function isAgreement36Body(body){return isRecord(body)&&isRecord(body["limits"])}
|
|
115
154
|
function summarizeOvertimeUser(user){const row=isRecord(user)?user:{};return pick({user_name:row["user_name"],contract_type_name:row["contract_type_name"],overtime:hoursMinutes(row["overtime_minutes"]),legal_overtime:hoursMinutes(row["legal_overtime_minutes"]),night_work:hoursMinutes(row["night_work_minutes"]),holiday_work:hoursMinutes(row["holiday_work_minutes"]),total_work:hoursMinutes(row["total_work_minutes"]),total_work_days:row["total_work_days"],is_overtime_exempt:row["is_overtime_exempt"],
|
|
116
155
|
user_id:row["user_id"]},OVERTIME_COLUMNS)}function summarizeAgreement36User(user){const row=isRecord(user)?user:{};return pick({user_name:row["user_name"],alert_level:row["alert_level"],monthly_legal_overtime:hoursMinutes(row["monthly_legal_overtime_minutes"]),monthly_percent:row["monthly_percent"],annual_legal_overtime:hoursMinutes(row["annual_legal_overtime_minutes"]),annual_percent:row["annual_percent"],contract_type_name:row["contract_type_name"],user_id:row["user_id"]},AGREEMENT36_COLUMNS)}
|
|
117
156
|
function summarizeOvertime(body){if(isAgreement36Body(body)){return overtimeBody(body,"36\u5354\u5B9A\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9")["users"].map(summarizeAgreement36User)}return overtimeBody(body,"\u6B8B\u696D\u30B5\u30DE\u30EA")["users"].map(summarizeOvertimeUser)}function overtimeNotes(body){if(isAgreement36Body(body)){const sheet2=overtimeBody(body,"36\u5354\u5B9A\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9");const limits=sheet2["limits"];const summary=isRecord(sheet2["summary"])?
|
|
@@ -121,21 +160,21 @@ total["user_count"])} \u4EBA\uFF09: \u6B8B\u696D ${String(hoursMinutes(total["ov
|
|
|
121
160
|
"\u7DE0\u3081\u72B6\u6CC1\u306E\u5FDC\u7B54\u306B closings \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function closingsNotes(body){const sheet=closingsBody(body);const count=sheet["closings"].length;return[`${String(sheet["year_month"])} \u306B\u7DE0\u3081\u6E08\u307F\u306E\u4EBA: ${String(count)} \u4EBA\uFF08\u7DE0\u3081\u3066\u3044\u306A\u3044\u4EBA\u306F\u4E00\u89A7\u306B\u51FA\u307E\u305B\u3093\uFF09`]}
|
|
122
161
|
var overtimeOperation={name:"overtime",summary:"\u6708\u306E\u6B8B\u696D\u30B5\u30DE\u30EA\uFF08\u793E\u54E1\u5225\uFF09\u3092\u8868\u793A\u3059\u308B\u3002--agreement36 \u306736\u5354\u5B9A\u306E\u4E0A\u9650\u306B\u5BFE\u3059\u308B\u72B6\u6CC1\uFF08\u7BA1\u7406\u8005\uFF09",usage:OVERTIME_USAGE,description:"GET /api/v1/attendance/overtime \u3092\u8868\u793A\u3057\u307E\u3059\u3002--agreement36 \u3092\u4ED8\u3051\u308B\u3068 GET /api/v1/attendance/overtime/agreement36\n\uFF0836\u5354\u5B9A\u306E\u6708\u30FB\u5E74\u306E\u6CD5\u5B9A\u5916\u6B8B\u696D\u3068\u4E0A\u9650\u306B\u5BFE\u3059\u308B\u5272\u5408\u30FB\u8B66\u544A\u30EC\u30D9\u30EB\uFF09\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n\u52E4\u6020\u306E\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002\n--month \u304C\u7121\u3051\u308C\u3070\u4ECA\u6708\u3067\u3059\uFF08\u30C6\u30CA\
|
|
123
162
|
\u30F3\u30C8\u306E\u696D\u52D9\u65E5\u306E\u533A\u5207\u308A\u3067\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002\u4ECA\u6708\u306F\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u306E\u96C6\u8A08\u3001\u904E\u53BB\u306E\u6708\u306F\u7DE0\u3081\u305F\u6642\u70B9\u306E\u96C6\u8A08\u3067\u3059\u3002\n\u4E26\u3076\u306E\u306F\u3001\u305D\u306E\u6708\u306E\u7DE0\u3081\u30EC\u30B3\u30FC\u30C9\u304C\u3042\u308A\u3001\u8868\u793A\u5BFE\u8C61\u3067\u3001\u305D\u306E\u6708\u306B\u6709\u52B9\u306A\u5951\u7D04\u304C\u3042\u308B\u4EBA\u3060\u3051\u3067\u3059\uFF08\u8F09\u3063\u3066\u3044\u306A\u3044\u4EBA\u306F\u300C\u6B8B\u696D0\u300D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n--output table / text / tsv \u306F\u793E\u54E1\u5225\u306E\u8981\u7D04\u5217\uFF08\u6642\u9593\u306F H:MM\uFF09\u3067\u3001\u5408\u8A08\u30FB\u4E0A\u9650\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
124
|
-
flags:[MONTH_FLAG2,{name:"--agreement36",summary:"36\u5354\u5B9A\u306E\u4E0A\u9650\u306B\u5BFE\u3059\u308B\u72B6\u6CC1\u3092\u8868\u793A\u3059\u308B",takesValue:false}],plan(input){
|
|
163
|
+
flags:[MONTH_FLAG2,{name:"--agreement36",summary:"36\u5354\u5B9A\u306E\u4E0A\u9650\u306B\u5BFE\u3059\u308B\u72B6\u6CC1\u3092\u8868\u793A\u3059\u308B",takesValue:false}],plan(input){noArgs3(input,"overtime");const path=isAgreement36(input)?"/api/v1/attendance/overtime/agreement36":"/api/v1/attendance/overtime";return{method:"GET",path,query:{year_month:monthFlag(input.flags)}}},summarize:summarizeOvertime,raw:body=>overtimeBody(body,isAgreement36Body(body)?"36\u5354\u5B9A\u30C0\u30C3\u30B7\u30E5\u30DC\u30FC\u30C9":
|
|
125
164
|
"\u6B8B\u696D\u30B5\u30DE\u30EA"),notes:overtimeNotes,forbidden:FORBIDDEN_ADMIN};var closingsListOperation={name:"list",summary:"\u6708\u306E\u7DE0\u3081\u72B6\u6CC1\uFF08\u7DE0\u3081\u6E08\u307F\u306E\u4EBA\u306E\u4E00\u89A7\uFF09\u3092\u8868\u793A\u3059\u308B\uFF08\u7BA1\u7406\u8005\uFF09",usage:CLOSINGS_LIST_USAGE,description:"GET /api/v1/attendance/closings \u3092\u8868\u793A\u3057\u307E\u3059\u3002\u52E4\u6020\u306E\u7BA1\u7406\u8005\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u7121\u3051\u308C\u3070\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002\n\u4E26\u3076\u306E\u306F\u7DE0\u3081\u6E08\u307F\u306E\u4EBA\u3060\u3051\u3067\u3059\uFF08\u7DE0\u3081\u3066\u3044\u306A\u3044\u4EBA\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\u4EBA\u6570\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n--month \u304C\u7121\u3051\u308C\u3070\u4ECA\u6708\u3067\u3059\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u696D\u52D9\u65E5\u306E\u533A\u5207\u308A\u3067\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002\n--include-hi\
|
|
126
165
|
dden \u3092\u4ED8\u3051\u308B\u3068\u3001\u7121\u52B9\u5316\u6E08\u307F\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u7DE0\u3081\u3082\u542B\u3081\u307E\u3059\u3002\n\u7DE0\u3081\u306E\u5B9F\u884C\u30FB\u89E3\u9664\u306F\u3067\u304D\u307E\u305B\u3093\uFF08\u7D66\u4E0E\u306E\u78BA\u5B9A\u306B\u52B9\u304F\u305F\u3081\u3001\u753B\u9762\u304B\u3089\u884C\u3063\u3066\u304F\u3060\u3055\u3044\uFF09\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
127
|
-
flags:[MONTH_FLAG2,{name:"--include-hidden",summary:"\u7121\u52B9\u5316\u6E08\u307F\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u7DE0\u3081\u3082\u542B\u3081\u308B",takesValue:false}],plan(input){
|
|
166
|
+
flags:[MONTH_FLAG2,{name:"--include-hidden",summary:"\u7121\u52B9\u5316\u6E08\u307F\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u7DE0\u3081\u3082\u542B\u3081\u308B",takesValue:false}],plan(input){noArgs3(input,"closings list");return{method:"GET",path:"/api/v1/attendance/closings",query:{year_month:monthFlag(input.flags),include_hidden:input.flags.has("--include-hidden")?"true":void 0}}},summarize:body=>closingsBody(body)["closings"].map(row=>pick(row,CLOSING_COLUMNS)),raw:body=>closingsBody(body),notes:closingsNotes,
|
|
128
167
|
forbidden:FORBIDDEN_ADMIN};var closingsResource={name:"closings",summary:"\u52E4\u6020\u306E\u7DE0\u3081\u72B6\u6CC1\uFF08\u4E00\u89A7\u306E\u307F\u30FB\u7BA1\u7406\u8005\uFF09",operations:[closingsListOperation]};var attendanceDomain={name:"attendance",summary:"\u52E4\u6020\uFF08\u81EA\u5206\u306E\u6253\u523B\u72B6\u614B\u30FB\u6253\u523B\u5C65\u6B74\u30FB\u52E4\u6020\u8868\u30FB\u6253\u523B\u30FB\u52E4\u6020\u9023\u7D61\u30FB\u30C1\u30FC\u30E0\u306E\u52E4\u6020\u30FB\u30D5\u30EC\u30C3\u30AF\u30B9\u7CBE\u7B97\uFF0F\u7BA1\u7406\u8005\u5411\u3051\u306E\u6B8B\u696D\u30B5\u30DE\u30EA\u30FB\u7DE0\u3081\u72B6\u6CC1\uFF09",
|
|
129
168
|
operations:[{name:"status",summary:"\u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u3001\u6B21\u306B\u6253\u3066\u308B\u6253\u523B\u3092\u8868\u793A\u3059\u308B",usage:STATUS_USAGE,description:"GET /api/v1/attendance/current \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u306E\u5206\uFF09\u3002\navailable_actions \u306F\u3001\u3044\u307E\u306E\u72B6\u614B\u304B\u3089\u6253\u3066\u308B\u6253\u523B\u306E\u7A2E\u985E\u3067\u3059\uFF08clock_in / clock_out / break_start / break_end / switch\uFF09\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u4ECA\u65E5\u306E\u6253\u523B\u306E\u4E00\u89A7 today_records \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
130
|
-
flags:[],plan(input){
|
|
169
|
+
flags:[],plan(input){noArgs3(input,"status");return{method:"GET",path:"/api/v1/attendance/current"}},summarize:summarizeCurrent,raw:body=>currentBody(body)},{name:"list",summary:"\u6253\u523B\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65B0\u3057\u3044\u9806\uFF09",usage:LIST_USAGE,description:`GET /api/v1/attendance/records \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u306E\u5206\u30FB\u65B0\u3057\u3044\u9806\uFF09\u3002
|
|
131
170
|
--month \u3068 --date \u306F\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u3069\u3061\u3089\u3082\u7121\u3051\u308C\u3070\u4ECA\u6708\u3067\u3059
|
|
132
171
|
\uFF08\u300C\u4ECA\u6708\u300D\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u696D\u52D9\u65E5\u306E\u533A\u5207\u308A\u3067\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002
|
|
133
172
|
--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
134
|
-
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${RECORD_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"},{name:"--date",summary:"\u5BFE\u8C61\u306E\u65E5\u4ED8\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"}],plan(input){
|
|
173
|
+
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${RECORD_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"},{name:"--date",summary:"\u5BFE\u8C61\u306E\u65E5\u4ED8\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"}],plan(input){noArgs3(input,"list");const month=monthFlag(input.flags);const date=dateFlag(input.flags);if(month!==void 0&&date!==void 0){throw new UsageError(
|
|
135
174
|
"--month \u3068 --date \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",LIST_USAGE)}return{method:"GET",path:"/api/v1/attendance/records",query:{year_month:month,date}}},summarize:body=>records(body).map(row=>pick(row,RECORD_COLUMNS)),raw:body=>records(body)},{name:"timesheet",summary:"\u6708\u306E\u52E4\u6020\u8868\uFF08\u65E5\u5225\u306E\u51FA\u9000\u52E4\u30FB\u52B4\u50CD\u30FB\u6B8B\u696D\u3068\u6708\u306E\u5408\u8A08\uFF09\u3092\u8868\u793A\u3059\u308B",usage:TIMESHEET_USAGE,
|
|
136
175
|
description:"GET /api/v1/attendance/timesheet \u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u306E\u5206\uFF09\u3002\n--month \u304C\u7121\u3051\u308C\u3070\u4ECA\u6708\u3067\u3059\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u696D\u52D9\u65E5\u306E\u533A\u5207\u308A\u3067\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002\n--output table / text / tsv \u306F\u65E5\u5225\u306E\u8981\u7D04\u5217\uFF08\u6642\u9593\u306F H:MM\uFF09\u3067\u3001\u6708\u306E\u5408\u8A08\u306F stderr \u306B\u51FA\u3057\u307E\u3059\u3002\n\u7DE0\u3081\u6E08\u307F\u306E\u6708\u306F\u3001\u7DE0\u3081\u305F\u6642\u70B9\u306E\u96C6\u8A08\u3067\u3042\u308B\u3053\u3068\u3092 stderr \u3067\u77E5\u3089\u305B\u307E\u3059\u3002\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08summary\u30FBis_closed \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002",
|
|
137
|
-
flags:[{name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"}],plan(input){
|
|
176
|
+
flags:[{name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-MM\uFF09",takesValue:true,placeholder:"<YYYY-MM>"}],plan(input){noArgs3(input,"timesheet");return{method:"GET",path:"/api/v1/attendance/timesheet",query:{year_month:monthFlag(input.flags)}}},summarize:body=>timesheetBody(body)["days"].map(summarizeDay),raw:body=>timesheetBody(body),notes:timesheetNotes},{name:"punch",summary:"\u6253\u523B\u3059\u308B\uFF08\u51FA\u52E4\u30FB\u9000\u52E4\u30FB\u4F11\u61A9\u958B\u59CB\u30FB\u4F11\u61A9\u7D42\u4E86\u30FB\u4F5C\u696D\u306E\u5207\u308A\u66FF\u3048\uFF09",
|
|
138
177
|
usage:PUNCH_USAGE,description:"POST /api/v1/attendance/punch \u3092\u9001\u308A\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u308B\u672C\u4EBA\u306E\u5206\uFF09\u3002\u6253\u523B\u6642\u523B\u306F\u30B5\u30FC\u30D0\u306E\u6642\u523B\u3067\u3059\u3002\n\u7A2E\u985E: clock-in\uFF08\u51FA\u52E4\uFF09/ clock-out\uFF08\u9000\u52E4\uFF09/ break-start\uFF08\u4F11\u61A9\u958B\u59CB\uFF09/ break-end\uFF08\u4F11\u61A9\u7D42\u4E86\uFF09/ switch\uFF08\u4F5C\u696D\u306E\u5207\u308A\u66FF\u3048\uFF09\u3002\n\u3044\u307E\u6253\u3066\u308B\u7A2E\u985E\u306F twp attendance status \u306E available_actions \u3067\u5206\u304B\u308A\u307E\u3059\u3002\n--project \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u304B ID\u3001--task \u306F\u30BF\u30B9\u30AF\u306E ID\uFF08UUID\uFF09\u3067\u3059\u3002\n\u9001\u308B\u524D\u306B\u4ECA\u6708\u306E\u52E4\u6020\u8868\uFF08GET /api/v1/attendance/timesheet\uFF09\u3092\u898B\u3066\u3001\u7DE0\u3081\u6E08\u307F\u306A\u3089\u6253\u523B\u3092\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 3\uFF09\u3002\n--dry-run \u306F\u6253\u523B\u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\uFF08\u7DE0\u3081\u306E\u78BA\u8A8D\u306F\u9001\u308A\u307E\u305B\u3093\uFF09\u3002\n\u904E\u53BB\u306E\u6642\u523B\u3067\u306E\u6253\u523B\u306F twp attendance record create\u3001\u30E1\u30E2\u306E\u5909\u66F4\u30FB\u53D6\u308A\u6D88\u3057\u30FB\u4ED8\u3051\u66FF\u3048\u306F twp attendance record update / de\
|
|
139
178
|
lete / move \u3067\u3059\u3002",flags:[{name:"--project",summary:"\u4F5C\u696D\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--task",summary:"\u4F5C\u696D\u3059\u308B\u30BF\u30B9\u30AF\u306E ID\uFF08UUID\uFF09",takesValue:true,placeholder:"<\u30BF\u30B9\u30AFID>"},{name:"--memo",summary:`\u30E1\u30E2\uFF08${MEMO_MAX} \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u30E1\u30E2>"}],
|
|
140
179
|
async prepare(input,ctx){punchType(input);const explicit=input.flags.get("--project");if(explicit===void 0)return input;return withResolved(input,{projectId:await ctx.projectId(explicit)})},plan:punchPlan,plannedNotes:()=>["\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u4ECA\u6708\u306E\u7DE0\u3081\u306E\u78BA\u8A8D\uFF08GET /api/v1/attendance/timesheet\uFF09\u3092\u9001\u308A\u3001\u7DE0\u3081\u6E08\u307F\u306A\u3089\u6253\u523B\u3092\u9001\u308A\u307E\u305B\u3093\u3002"],execute:punch,
|
|
141
|
-
summarize:body=>{const status=isRecord(body)&&isRecord(body["status"])?body["status"]:{};return{...pick(punchRecord(body),PUNCH_COLUMNS),status:status["status"]??null,status_label:status["status_label"]??null}},raw:body=>(punchRecord(body),body)},teamOperation,flexSettlementOperation,overtimeOperation],subresources:[reportResource,closingsResource]};export{USER_REF_HELP,userPath,USER_REF_FLAG,prepareUser,PUNCH_TYPES,hoursMinutes,assertMonthOpen,assertMonthsOpen,attendanceDomain};
|
|
180
|
+
summarize:body=>{const status=isRecord(body)&&isRecord(body["status"])?body["status"]:{};return{...pick(punchRecord(body),PUNCH_COLUMNS),status:status["status"]??null,status_label:status["status_label"]??null}},raw:body=>(punchRecord(body),body)},teamOperation,flexSettlementOperation,overtimeOperation],subresources:[reportResource,reportCategoryResource,reportReasonResource,reportReasonDetailResource,closingsResource]};export{USER_REF_HELP,userPath,USER_REF_FLAG,prepareUser,PUNCH_TYPES,hoursMinutes,assertMonthOpen,assertMonthsOpen,attendanceDomain};
|