@tocca-systems/twp-cli 0.75.0 → 0.77.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.
Files changed (87) hide show
  1. package/CHANGELOG.public.md +12 -0
  2. package/README.md +32 -1
  3. package/dist/{agent-63DPLVPG.js → agent-76W4NFZE.js} +1 -1
  4. package/dist/{agent-loop-UTS4MYW6.js → agent-loop-ZNQJSXQV.js} +2 -2
  5. package/dist/{ai-dispatch-OAT752RN.js → ai-dispatch-NFFEUL6K.js} +3 -3
  6. package/dist/{analysis-SDYGHILR.js → analysis-7PNFFLPQ.js} +2 -2
  7. package/dist/{announcement-4RI2COFS.js → announcement-HYMSN6ZR.js} +1 -1
  8. package/dist/{api-command-UEJMEL6Z.js → api-command-L4HJRG3D.js} +4 -4
  9. package/dist/{app-UXU57NZ7.js → app-QBAP55F5.js} +3 -3
  10. package/dist/{attendance-correct-NJACXW3S.js → attendance-correct-7IKTSZ6I.js} +1 -1
  11. package/dist/{attendance-lists-AUEECNJL.js → attendance-lists-7SOG6G4N.js} +1 -1
  12. package/dist/{backlog-NQUZQSCY.js → backlog-IJTBHL3Z.js} +1 -1
  13. package/dist/{budget-ILEQGQOA.js → budget-ZWB346BP.js} +1 -1
  14. package/dist/{chunk-LWJI22LF.js → chunk-3WPHZXST.js} +1 -1
  15. package/dist/{chunk-YX6ONBPK.js → chunk-436IBRP4.js} +1 -1
  16. package/dist/{chunk-BATCC7M5.js → chunk-4OJD5FKD.js} +2 -2
  17. package/dist/{chunk-3GYJG6DA.js → chunk-4URNOAMG.js} +1 -1
  18. package/dist/{chunk-GTRKN2YS.js → chunk-4VAWX7TW.js} +1 -1
  19. package/dist/{chunk-IMXXECCD.js → chunk-6TSP4IP5.js} +1 -1
  20. package/dist/{chunk-NNDUIAGN.js → chunk-AITUAHWK.js} +1 -1
  21. package/dist/{chunk-7FJFBIVB.js → chunk-AM7Y4QRF.js} +2 -2
  22. package/dist/{license-ME2GUNJQ.js → chunk-AVFQ2LM5.js} +19 -20
  23. package/dist/{chunk-UC2EYXI5.js → chunk-CFTAGW2J.js} +1 -1
  24. package/dist/{chunk-ICGIHXBA.js → chunk-DLDDMXZT.js} +1 -1
  25. package/dist/{chunk-HOLKWMS2.js → chunk-F6LEGFID.js} +4 -3
  26. package/dist/{chunk-7APLKLQL.js → chunk-GHE6X45G.js} +26 -23
  27. package/dist/{chunk-CZUXTKMR.js → chunk-GQEXST5N.js} +1 -1
  28. package/dist/{chunk-QO2QPN3M.js → chunk-H7MIIYRN.js} +1 -1
  29. package/dist/{chunk-NFTLHE4Z.js → chunk-HFZGBHTB.js} +1 -1
  30. package/dist/{chunk-URI3URUA.js → chunk-HZYP3BMS.js} +2 -2
  31. package/dist/chunk-JUJSF5ZG.js +19 -0
  32. package/dist/{chunk-PCE6OI4L.js → chunk-L7T2CQ3M.js} +1 -1
  33. package/dist/{chunk-MNFO6G2H.js → chunk-MZVXEYOV.js} +1 -1
  34. package/dist/chunk-OG7FD7SR.js +16 -0
  35. package/dist/{chunk-CKZDTAMN.js → chunk-SAH5WS3K.js} +1 -1
  36. package/dist/chunk-SZWDH33O.js +11 -0
  37. package/dist/{chunk-UVU7JXCG.js → chunk-XG2JN66A.js} +1 -1
  38. package/dist/{chunk-CKYCRD2J.js → chunk-YM4U6A4Y.js} +1 -1
  39. package/dist/cli.js +13 -6
  40. package/dist/{commands-ZCXAJXHW.js → commands-UMSNPM4D.js} +11 -11
  41. package/dist/{company-QFIHJ4OY.js → company-WLPLQINW.js} +2 -2
  42. package/dist/{contract-IGH7GFOM.js → contract-MC6HSQER.js} +2 -2
  43. package/dist/{department-TIW5YISO.js → department-3YEKQJ6I.js} +1 -1
  44. package/dist/{deposit-2YPPFQVR.js → deposit-RFTXWS5D.js} +1 -1
  45. package/dist/{domain-knowledge-F3GKX2VI.js → domain-knowledge-EXMD2NMI.js} +1 -1
  46. package/dist/{estimate-JBQSEUJY.js → estimate-BPY7AFDK.js} +3 -3
  47. package/dist/{evaluation-4QE4L3OG.js → evaluation-ESIPIC3K.js} +1 -1
  48. package/dist/{expense-CFHOIO3I.js → expense-ISK4RPCY.js} +1 -1
  49. package/dist/{fiscal-year-N7POJ77K.js → fiscal-year-F2DVA2GB.js} +1 -1
  50. package/dist/{holiday-WRSUBPT3.js → holiday-5ZAH6U6Z.js} +1 -1
  51. package/dist/{inquiry-6ANZ6HKD.js → inquiry-3KEU4MAN.js} +1 -1
  52. package/dist/{invoice-INIF6BUD.js → invoice-BTVMPVKS.js} +2 -2
  53. package/dist/{job-title-KOFDOB65.js → job-title-NO5VRM5J.js} +1 -1
  54. package/dist/{knowledge-4MLFTYQO.js → knowledge-TXUSVHRG.js} +69 -51
  55. package/dist/{leave-LE3CIRPT.js → leave-VZCKDT73.js} +2 -2
  56. package/dist/license-JVYLYTSV.js +4 -0
  57. package/dist/{media-KTKCEVUU.js → media-YILATBAI.js} +2 -2
  58. package/dist/{notification-N4FVLOPW.js → notification-TSLB2ZHF.js} +1 -1
  59. package/dist/{oneshot-23Z6ODXV.js → oneshot-GF6TO7AH.js} +1 -1
  60. package/dist/plan-submit-2FSRRNIV.js +4 -0
  61. package/dist/{position-4C37LALY.js → position-IREP6O4N.js} +1 -1
  62. package/dist/{project-DUHSOINK.js → project-XIBLUUAR.js} +1 -1
  63. package/dist/{prospect-QRTQA2R6.js → prospect-IXEACPLB.js} +2 -2
  64. package/dist/{purchase-LWRNGP3T.js → purchase-ADUT2XJU.js} +3 -3
  65. package/dist/{receivable-A4T74HZK.js → receivable-JNXWOLJN.js} +1 -1
  66. package/dist/{redmine-X2GTGXHG.js → redmine-WOVVB7SU.js} +1 -1
  67. package/dist/{registry-SB5KZ63I.js → registry-FOBQSQFB.js} +1 -1
  68. package/dist/{report-UNEQSKNU.js → report-52ZHE57K.js} +1 -1
  69. package/dist/{run-RQDWPOY3.js → run-X6MY7CER.js} +1 -1
  70. package/dist/{sales-ai-review-IT6X4YQB.js → sales-ai-review-JBDTSY67.js} +1 -1
  71. package/dist/{sales-master-QYNSMAP4.js → sales-master-HQTY3C24.js} +2 -2
  72. package/dist/{sales-numbering-LZQCKDUM.js → sales-numbering-NZW2RNOS.js} +1 -1
  73. package/dist/{search-GZIEQYLJ.js → search-FOUZEY5X.js} +1 -1
  74. package/dist/{segment-NNWN5KJB.js → segment-3CMYFOFP.js} +1 -1
  75. package/dist/{skill-MWETUX56.js → skill-U6757V7A.js} +1 -1
  76. package/dist/{supplier-payment-4UKRQZHS.js → supplier-payment-NG3PYZAH.js} +2 -2
  77. package/dist/{support-JJ7ZCJFX.js → support-JS35JS7I.js} +1 -1
  78. package/dist/{task-HAVEGLQC.js → task-3OK44YBT.js} +2 -2
  79. package/dist/{user-VRMLWGQ2.js → user-4BL2ILYK.js} +101 -22
  80. package/dist/{user-contract-type-ZCUMSGVP.js → user-contract-type-XHCKC6T7.js} +1 -1
  81. package/dist/{worker-agent-VCJUJDBO.js → worker-agent-XTDV36WT.js} +1 -1
  82. package/dist/{workflow-I7L476KK.js → workflow-Q7XCMDRH.js} +1 -1
  83. package/package.json +1 -1
  84. package/dist/chunk-DXUFECE7.js +0 -13
  85. package/dist/chunk-PS5FXSKW.js +0 -11
  86. package/dist/chunk-QS5VWTI3.js +0 -16
  87. package/dist/plan-submit-CZRVVZZB.js +0 -4
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{REPORTS_PATH}from"./chunk-7APLKLQL.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{REPORTS_PATH}from"./chunk-GHE6X45G.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
4
4
  import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u30EC\u30DD\u30FC\u30C8";var STATUSES={new:"\u4E0B\u66F8\u304D",completed:"\u63D0\u51FA\u6E08\u307F",reviewed:"\u78BA\u8A8D\u6E08\u307F",rejected:"\u5DEE\u3057\u623B\u3057"};var STATUS_HELP=`\u72B6\u614B: ${Object.entries(STATUSES).map(([key,name])=>`${key}\uFF08${name}\uFF09`).join(" / ")}`;var TITLE_MAX_CHARS=200;var CONTENT_MAX_CHARS=1e6;var CONTENT_KEYS=["title","content"];var ULID_RE=/^[0-9A-HJKMNP-TV-Z]{26}$/i;var LIST_COLUMNS=["id","title","format_name","status","created_at","\
5
5
  updated_at","completed_at"];var GET_COLUMNS=["id","title","format_name","status","status_label","created_by_name","created_at","updated_at","completed_at","reviewed_at","reviewed_by_name","rejected_by_name"];var WRITE_COLUMNS=["id","title","format_id","status","status_label","created_at","updated_at","completed_at"];var FORMAT_COLUMNS=["id","code","name","is_available","title_editable","writer","reviewer","admin"];var FORMAT_FLAG={name:"--format",summary:"\u30EC\u30DD\u30FC\u30C8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\uFF08RF-000001\uFF09\u30FBID",
6
6
  takesValue:true,placeholder:"<\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8>"};var CONTENT_FILE_FLAG={name:"--content-file",summary:"\u30EC\u30DD\u30FC\u30C8\u306E\u5185\u5BB9\u306E JSON \u30D5\u30A1\u30A4\u30EB\uFF08title / content\u30FB- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var SKELETON_FLAG={name:"--generate-cli-skeleton",summary:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u5165\u529B\u9805\u76EE\u304B\u3089 --content-file \u306E\u3072\u306A\u5F62\u3092\u51FA\u3057\u3066\u7D42\u4E86\u3059\u308B\uFF08\u30EC\u30DD\u30FC\u30C8\u306F\u4F5C\u3089\u306A\u3044\uFF09",
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-UC2EYXI5.js";import"./chunk-PS5FXSKW.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-PO35MCYP.js";import"./chunk-LDBYJPRD.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-CFTAGW2J.js";import"./chunk-SZWDH33O.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-PO35MCYP.js";import"./chunk-LDBYJPRD.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-PECIBNFD.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-W4E4F2ZA.js";import"./chunk-QQRJLH6B.js";import"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult}from"./chunk-QO2QPN3M.js";import"./chunk-CZUXTKMR.js";import"./chunk-ICGIHXBA.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";
3
+ import{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult}from"./chunk-H7MIIYRN.js";import"./chunk-GQEXST5N.js";import"./chunk-DLDDMXZT.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";
4
4
  import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{CRITERION_RE,WAIT_POLL_INTERVAL_MS,aiReviewReasonDomain,checkCounts,checksOf,contractAiReviewResources,envelope,estimateAiReviewResources,invoiceAiReviewResources,reasonsMap,reviewOf,withoutResult};
@@ -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-7FJFBIVB.js";import{attachmentRows,inspectLocalFile,issued}from"./chunk-5KJ5OIKI.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-ICGIHXBA.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";
4
- import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_BUSINESS_PLACES_PATH,SALES_PAYEES_PATH,SALES_SEAL_IMPRESSIONS_PATH,isExactNumericId}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";
3
+ import{salesAdminForbidden}from"./chunk-AM7Y4QRF.js";import{attachmentRows,inspectLocalFile,issued}from"./chunk-5KJ5OIKI.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-GY7KI5E5.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-DLDDMXZT.js";import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";
4
+ import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_BUSINESS_PLACES_PATH,SALES_PAYEES_PATH,SALES_SEAL_IMPRESSIONS_PATH,isExactNumericId}from"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";
5
5
  import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import{NotLoggedInError,SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var SORT_MAX=2147483647;var SALES_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"]!==
6
6
  "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 maskDigitRuns(value){return value.replace(/[0-90-9]{4,}/g,
7
7
  run=>{const chars=Array.from(run);return"*".repeat(chars.length-4)+chars.slice(-4).join("")})}var SORT_FIELD={kind:"sort",flag:"--sort",key:"sort",summary:"\u8868\u793A\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\u6570\u30FB\u5C0F\u3055\u3044\u307B\u3069\u4E0A\uFF09"};function fieldFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:field.kind==="date"?"<YYYY-MM-DD>":field.kind==="sort"?"<\u6574\u6570>":`<${field.label}>`}))}function sortValue(flag,raw){
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain}from"./chunk-BATCC7M5.js";import"./chunk-7FJFBIVB.js";import"./chunk-QLENN5DD.js";import"./chunk-ICGIHXBA.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
3
+ import{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain}from"./chunk-4OJD5FKD.js";import"./chunk-AM7Y4QRF.js";import"./chunk-QLENN5DD.js";import"./chunk-DLDDMXZT.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
4
4
  import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{estimateNoRuleResource,invoiceNoRuleResource,nextNumber,purchaseNoRuleResource,roundingSettingDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-7APLKLQL.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
3
+ import{nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-GHE6X45G.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
4
4
  import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u7D71\u5408\u691C\u7D22";var SEARCH_PATH="/api/v2/search/unified";var TYPES_PATH="/api/v2/search/types";var KEYWORD_MAX=200;var LIMIT_MAX=100;var SEARCH_MODE_LABEL={keyword:"\u901A\u5E38\u691C\u7D22",vector:"AI\u691C\u7D22"};var NEXT_COMMAND={task:(ref,row)=>`twp task get ${ref}${text(row["project_id"]).startsWith("private:")?" --project __private__":""}`,project:ref=>`twp project get ${ref}`,wiki:ref=>`twp wiki get ${ref}`,note:ref=>`twp note get ${ref}`,meeting_minutes:ref=>`twp me\
5
5
  eting get ${ref}`,support:ref=>`twp support get ${ref}`,user:ref=>`twp user get ${ref}`};function keywordOf(input){if(input.args.length>1){throw new UsageError(`\u691C\u7D22\u3059\u308B\u8A9E\u306F1\u3064\u306E\u5F15\u6570\u3067\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5F15\u6570: ${input.args.join(" / ")}\uFF09`,'\u7A7A\u767D\u3092\u542B\u3080\u8A9E\u306F\u5F15\u7528\u7B26\u3067\u56F2\u307F\u307E\u3059: twp search "\u7D4C\u8CBB \u7CBE\u7B97"')}const keyword=(input.
6
6
  args[0]??"").trim();if(keyword===""){throw new UsageError("\u691C\u7D22\u3059\u308B\u8A9E\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",'\u4F8B: twp search "\u7D4C\u8CBB\u7CBE\u7B97" / twp search "\u7D4C\u8CBB\u7CBE\u7B97" --ai')}if([...keyword].length>KEYWORD_MAX){throw new UsageError(`\u691C\u7D22\u3059\u308B\u8A9E\u306F ${String(KEYWORD_MAX)} \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${String([...keyword].length)} \u6587\u5B57\uFF09`)}return keyword}function typesOf(input){const types=[];
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{STATUS_VALUES,flatMasterDomain}from"./chunk-NNDUIAGN.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{SEGMENTS_PATH}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";
3
+ import{STATUS_VALUES,flatMasterDomain}from"./chunk-AITUAHWK.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{SEGMENTS_PATH}from"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";
4
4
  import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var segmentDomain=flatMasterDomain({name:"segment",label:"\u30BB\u30B0\u30E1\u30F3\u30C8",path:SEGMENTS_PATH,itemKey:"segment",summary:"\u30BB\u30B0\u30E1\u30F3\u30C8\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","sort_order","status"],getColumns:["id","code","name","sort_order","status","description"],fields:[{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,
5
5
  summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"}],resolve:(ctx,ref,flag)=>ctx.resolver.segment(ref,flag),referencedBy:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u7D42\u4E86\u6E08\u307F\u3092\u542B\u3080\uFF09",deleteGuidance:"\u4ECA\u5F8C\u4F7F\u308F\u306A\u3044\u30BB\u30B0\u30E1\u30F3\u30C8\u306F\u3001\u524A\u9664\
6
6
  \u305B\u305A\u306B\u7121\u52B9\u5316\u3057\u3066\u304F\u3060\u3055\u3044: twp segment update <\u30BB\u30B0\u30E1\u30F3\u30C8> --status inactive\n\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u8A2D\u5B9A\u6E08\u307F\u306E\u30BB\u30B0\u30E1\u30F3\u30C8\u306F\u305D\u306E\u307E\u307E\u6B8B\u308A\u3001\u53CE\u652F\u5206\u6790\u306E\u96C6\u8A08\u304B\u3089\u3082\u6B20\u3051\u307E\u305B\u3093\uFF09"});export{segmentDomain};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FISCAL_YEAR_FLAG,fiscalYear,groupedSkillRows,matchSkill,parseReorderFile,parseSelfEvaluation,qualificationDomain,qualificationImportPreview,qualificationImportRows,reorderPreview,skillDomain,skillMatrix,skillNames}from"./chunk-PCE6OI4L.js";import"./chunk-DYNNGNXR.js";import"./chunk-QLENN5DD.js";import"./chunk-NNDUIAGN.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";
3
+ import{FISCAL_YEAR_FLAG,fiscalYear,groupedSkillRows,matchSkill,parseReorderFile,parseSelfEvaluation,qualificationDomain,qualificationImportPreview,qualificationImportRows,reorderPreview,skillDomain,skillMatrix,skillNames}from"./chunk-L7T2CQ3M.js";import"./chunk-DYNNGNXR.js";import"./chunk-QLENN5DD.js";import"./chunk-AITUAHWK.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-GHE6X45G.js";
4
4
  import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{FISCAL_YEAR_FLAG,fiscalYear,groupedSkillRows,matchSkill,parseReorderFile,parseSelfEvaluation,qualificationDomain,qualificationImportPreview,qualificationImportRows,reorderPreview,skillDomain,skillMatrix,skillNames};
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{yearMonthValue}from"./chunk-CKZDTAMN.js";import{excerpt,salesAdminForbidden,sendAtomic}from"./chunk-7FJFBIVB.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-ICGIHXBA.js";import{booleanText,boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";
4
- import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_SUPPLIER_PAYMENTS_PATH,SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,isExactNumericId,resolveNamed}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
3
+ import{yearMonthValue}from"./chunk-SAH5WS3K.js";import{excerpt,salesAdminForbidden,sendAtomic}from"./chunk-AM7Y4QRF.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-DLDDMXZT.js";import{booleanText,boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";
4
+ import{readBody}from"./chunk-6LSQCOCJ.js";import{SALES_SUPPLIER_PAYMENTS_PATH,SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,isExactNumericId,resolveNamed}from"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
5
5
  import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_SUPPLIER_PAYMENTS_PATH;var SCHEDULE_PATH=SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH;var FORBIDDEN=salesAdminForbidden("\u652F\u6255");var SCHEDULE_FORBIDDEN=salesAdminForbidden("\u652F\u6255\u5148\u30DE\u30B9\u30BF");var STATUSES={invoice_pending:"\u8ACB\u6C42\u66F8\u672A\u7740",invoice_received:"\u8ACB\u6C42\u66F8\u53D7\u9818",transfer_reserved:"\u632F\u8FBC\u4E88\u7D04\u6E08",paid:"\u652F\u6255\u6E08"};var TAX_RATES=["10","8","0"];var BULK_MAX_IDS=100;var FILE_MAX_BYTES=1024*1024;var SUPPLIER_NAME_MAX_CHARS=255;
6
6
  var MEMO_MAX_CHARS=1e3;var AMOUNT_MAX=999999999999999;var LIST_COLUMNS=["id","target_year_month","supplier_name","supplier_user_name","payment_amount","transfer_due_date","status"];var GET_COLUMNS=[...LIST_COLUMNS,"company_name","outsourcing_flg","invoice_date","tax_rate","amount_excluding_tax","amount_excluding_tax_manual","transfer_executed_date","project_name","supplier_payment_schedule_id","memo"];var WRITE_COLUMNS=GET_COLUMNS.filter(c=>c!=="project_name"&&c!=="supplier_user_name");var SCHEDULE_LIST_COLUMNS=[
7
7
  "id","supplier_name","company_name","supplier_user_name","outsourcing_flg","start_year_month","end_year_month","project_name"];var SCHEDULE_GET_COLUMNS=[...SCHEDULE_LIST_COLUMNS,"memo"];var SCHEDULE_WRITE_COLUMNS=SCHEDULE_GET_COLUMNS.filter(c=>c!=="project_name"&&c!=="supplier_user_name");function labelsHelp(table){return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function refsOf(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}
@@ -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-5KJ5OIKI.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-GY7KI5E5.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SUPPORTS_PATH,SUPPORT_CATEGORIES_PATH}from"./chunk-7APLKLQL.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
3
+ import{contentTypeFor,inspectLocalFile,issued}from"./chunk-5KJ5OIKI.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-GY7KI5E5.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{readBody}from"./chunk-6LSQCOCJ.js";import{SUPPORTS_PATH,SUPPORT_CATEGORIES_PATH}from"./chunk-GHE6X45G.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
4
4
  import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var LABEL="\u30B5\u30DD\u30FC\u30C8\u4F9D\u983C";var MAX_ATTACHMENTS=3;var TITLE_MAX=255;var CONTENT_MAX=1e4;var COMMENT_MAX=5e3;var SOURCE="support_request";var STATUSES=["new","in_progress","waiting","re_inquiry","closed","withdrawn"];var LIST_COLUMNS=["id","title","category_name","status","requester_name","created_at","updated_at"];var GET_COLUMNS=["id","title","category_name","status","requester_name","created_at","updated_at","comment_count","last_comment_by","last_comment_at"];var WRITE_COLUMNS=[
5
5
  "id","title","category_name","status","attachment_file_ids","updated_at"];var COMMENT_COLUMNS=["id","user_name","is_master_tenant","comment","attachment_file_ids","created_at"];var CATEGORY_COLUMNS=["id","name","description","sort"];var STATUS_HELP="\u72B6\u614B: new\uFF08\u672A\u5BFE\u5FDC\uFF09/ in_progress\uFF08\u5BFE\u5FDC\u4E2D\uFF09/ waiting\uFF08\u56DE\u7B54\u6E08\u307F\u30FB\u78BA\u8A8D\u5F85\u3061\uFF09/ re_inquiry\uFF08\u518D\u554F\u3044\u5408\u308F\u305B\uFF09/ closed\uFF08\u5B8C\u4E86\uFF09/ withdrawn\uFF08\u53D6\u308A\u4E0B\u3052\uFF09\u3002";
6
6
  var NOT_FOUND_HELP="\u4ED6\u306E\u4EBA\u306E\u4F9D\u983C\u3068\u5B58\u5728\u3057\u306A\u3044\u4F9D\u983C\u306F\u3001\u3069\u3061\u3089\u3082\u300C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u300D\u306B\u306A\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u533A\u5225\u3057\u307E\u305B\u3093\uFF09\u3002";var ID_FLAG={name:"--id",summary:`\u5BFE\u8C61\u306E${LABEL}\u306E ID\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09`,takesValue:true,placeholder:"<ID>"};var ATTACH_FLAG={
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-5KJ5OIKI.js";import"./chunk-V64CGX7V.js";import{RUNNER_PLATFORMS}from"./chunk-5KAWCLYN.js";import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows}from"./chunk-LWJI22LF.js";import"./chunk-UVU7JXCG.js";
4
- import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-NNDUIAGN.js";import{boundedText,decimal,integerInRange,isoDate,priority}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-7APLKLQL.js";
3
+ import{PROJECT_FLAG,TASK_REF_FLAG,TASK_REF_HELP,classifyTaskRef,rejectPrivateSurface,rejectRedundantProject,resolveTaskLocation,taskAttachmentResource,taskSurface,wantsPrivateSurface}from"./chunk-5KJ5OIKI.js";import"./chunk-V64CGX7V.js";import{RUNNER_PLATFORMS}from"./chunk-5KAWCLYN.js";import{PRIVATE_PROJECT_REF}from"./chunk-GY7KI5E5.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows}from"./chunk-3WPHZXST.js";import"./chunk-XG2JN66A.js";
4
+ import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-AITUAHWK.js";import{boundedText,decimal,integerInRange,isoDate,priority}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-6LSQCOCJ.js";import{PRIVATE_TASKS_PATH,TASK_MASTERS}from"./chunk-GHE6X45G.js";
5
5
  import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";
6
6
  import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_COLUMNS=["id","created_at","created_by_name","comment_type","content"];var QUESTION_COLUMN="question";var ANSWER_COLUMN="answer";function summarizeComments(items){const answersByQuestion=new Map;for(const row of items){const answer=isRecord(row)?row["answer_to"]:void 0;if(!isRecord(answer))continue;const target=answer["comment_id"];if(typeof target!=="string"||target==="")continue;answersByQuestion.set(target,selectedKeyText(answer["selected_key"]))}return items.map(row=>{const source=isRecord(
7
7
  row)?row:{};const id=typeof source["id"]==="string"?source["id"]:"";const answer=isRecord(source["answer_to"])?selectedKeyText(source["answer_to"]["selected_key"]):answersByQuestion.get(id)??null;const base=pick(row,LIST_COLUMNS);return{id:base["id"],created_at:base["created_at"],created_by_name:base["created_by_name"],comment_type:base["comment_type"],[QUESTION_COLUMN]:questionText(source["question"]),[ANSWER_COLUMN]:answer,content:base["content"]}})}function questionText(question){if(!isRecord(
@@ -1,8 +1,9 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-PCE6OI4L.js";import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-URI3URUA.js";import{exportOperation}from"./chunk-DYNNGNXR.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-LWJI22LF.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-UVU7JXCG.js";import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-NNDUIAGN.js";
4
- import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-7APLKLQL.js";import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
5
- import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
3
+ import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-L7T2CQ3M.js";import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-HZYP3BMS.js";import{LICENSE_FEATURE_NAMES,levelHoldsSeat,permissionMovesSeat,readLicenses}from"./chunk-AVFQ2LM5.js";import{CONCURRENCY,exportOperation,mapPool,pacedSender}from"./chunk-DYNNGNXR.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-3WPHZXST.js";import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-XG2JN66A.js";
4
+ import"./chunk-EXT4AIDF.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-AITUAHWK.js";import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,POSITIONS_PATH}from"./chunk-GHE6X45G.js";
5
+ import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";
6
+ import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";var ASSIGNMENT_COLUMNS=["id","department_name","position_name","start_date","end_date","is_primary","is_current","is_approval_route","effective_status"];function assignmentRows(body){const response=isRecord(body)&&"response"in body?body["response"]:body;const list=isRecord(response)?response["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u6240\u5C5E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
6
7
  return list}async function nameMap(ctx,path,label2){try{const body=await ctx.send({method:"GET",path,query:{limit:ORG_MASTER_LIMIT}});const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list))throw new Error(`${label2}\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093`);const count=isRecord(body)?body["count"]:void 0;if(typeof count==="number"&&count>list.length){ctx.warn(`${label2}\u4E00\u89A7\u304C ${count} \u4EF6\u4E2D ${list.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\
7
8
  \u308C\u305F\u305F\u3081\u3001\u4E00\u90E8\u306E${label2}\u540D\u306F\u7A7A\u6B04\u3067\u3059\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`)}const map={};for(const row of list){if(isRecord(row)&&typeof row["id"]==="string"&&typeof row["name"]==="string"){map[row["id"]]=row["name"]}}return map}catch(err){ctx.warn(`${label2}\u540D\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\u305F\u3081\u3001${label2}\u540D\u306E\u5217\u306F\u7A7A\u6B04\u3067\u3059\uFF08${err.
8
9
  message}\uFF09\u3002ID \u306F --output json \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`);return{}}}function assignmentPlan(input){const suffix=input.flags.has("--current")?"/assignments/current":"/assignments";return{method:"GET",path:`/api/v2/organization/users/${userPath(input,suffix)}`}}var listOperation={name:"list",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B",usage:"twp user assignment list <\u30E6\u30FC\u30B6\u30FC> [--current]",
@@ -152,7 +153,7 @@ USER_REF_HELP,forbidden:"\u7814\u4FEE\u5C65\u6B74\u3092\u53C2\u7167\u3059\u308B\
152
153
  placeholder:"<YYYY-MM-DD>"}],async prepare(input,ctx){isoDate(input,"--from");isoDate(input,"--to");return prepareUser(input,ctx,"twp user trainings help")},plan:input=>({method:"GET",path:`/api/v2/hr/users/${userPath(input,"/training-history")}`,query:{date_from:isoDate(input,"--from"),date_to:isoDate(input,"--to")}}),summarize:body=>trainingRows(body).map(row=>pick(row,TRAINING_COLUMNS)),raw:body=>trainingRows(body),notes(body){const summary=isRecord(body)?body["summary"]:void 0;if(!isRecord(summary))
153
154
  return[];const n=key=>String(summary[key]??0);return[`\u7814\u4FEE ${n("total")} \u4EF6\uFF08\u53D7\u8B1B\u6E08\u307F ${n("completed")} / \u4E88\u5B9A ${n("scheduled")} / \u6B20\u5E2D ${n("absent")} / \u53D6\u6D88 ${n("cancelled")}\uFF09`]}};var userHrOperations=[skillsOperation,qualificationsOperation,trainingsOperation,contractsOperation];var INVITATIONS_PATH="/api/v2/admin/invitations";var INVITE_ROLES=["user","admin","super_admin"];var BULK_MAX=50;var CSV_MAX_BYTES=256*1024;var EMAIL_RE=/^[^\s@,;]+@[^\s@,;]+$/;var LIST_COLUMNS=["email","user_name","role","status","created_at","expires_at"];var ROLE_HELP="\u6A29\u9650\u306F user\uFF08\u4E00\u822C\uFF09/ admin\uFF08\u7BA1\u7406\u8005\uFF09/ super_admin\uFF08\u5168\u4F53\u7BA1\u7406\u8005\uFF09\u3067\u3059\u3002";var FORBIDDEN2="\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306E\u62DB\u5F85\u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059";
154
155
  var INVITE_REF_HELP="<\u62DB\u5F85> \u306F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF08\u672A\u53D7\u8AFE\u306E\u62DB\u5F85\u304C1\u4EF6\u306B\u7D5E\u308C\u305F\u3068\u304D\u3060\u3051\u53D7\u3051\u4ED8\u3051\u307E\u3059\uFF09\u3002\n\u5BFE\u8C61\u306F twp user invite list \u306B\u51FA\u308B\u62DB\u5F85\uFF08\u671F\u9650\u5185\u306E\u672A\u53D7\u8AFE\uFF09\u3060\u3051\u3067\u3059\u3002\n\u540C\u3058\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306B\u672A\u53D7\u8AFE\u306E\u62DB\u5F85\u304C\u8907\u6570\u3042\u308B\u3068\u304D\u306F\u3001twp user invite list --no-redact \u3067\n\u30C8\u30FC\u30AF\u30F3\u3092\u78BA\u8A8D\u3057\u3066\u3001\u30C8\u30FC\u30AF\u30F3\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
155
- function roleValue(raw,where){const value=raw.trim().toLowerCase();if(!INVITE_ROLES.includes(value)){throw new UsageError(`${where}\u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,ROLE_HELP)}return value}function successAck(body,label2){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label2}\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`)}
156
+ function roleValue(raw,where2){const value=raw.trim().toLowerCase();if(!INVITE_ROLES.includes(value)){throw new UsageError(`${where2}\u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,ROLE_HELP)}return value}function successAck(body,label2){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label2}\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`)}
156
157
  return{result:true,message:body["message"]??null}}function invitationRows(body){const rows=isRecord(body)?body["invitations"]:void 0;if(!Array.isArray(rows)){throw new ApiResponseError("\u62DB\u5F85\u4E00\u89A7\u306E\u5FDC\u7B54\u306B invitations \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return rows.filter(isRecord)}function cell(raw){const trimmed=raw.trim();return trimmed.length>=2&&trimmed.startsWith(
157
158
  '"')&&trimmed.endsWith('"')?trimmed.slice(1,-1).trim():trimmed}function parseInviteCsv(text){const rows=[];const errors=[];const seen=new Map;const lines=text.replace(/^\uFEFF/,"").split(/\r?\n/);let headerChecked=false;lines.forEach((raw,index)=>{const line=index+1;if(raw.trim()===""||raw.trim().startsWith("#"))return;const cells=raw.split(",").map(cell);if(!headerChecked){headerChecked=true;const head=(cells[0]??"").toLowerCase();if(head==="email"||head==="\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9"||
158
159
  head==="mail")return}if(cells.length!==2){errors.push(`${line} \u884C\u76EE: \u5217\u304C ${cells.length} \u500B\u3042\u308A\u307E\u3059\uFF08\u300C\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\u300D\u306E2\u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u6C0F\u540D\u306F\u53D7\u8AFE\u6642\u306B\u672C\u4EBA\u304C\u5165\u529B\u3057\u307E\u3059\uFF09`);return}const[email,role]=cells;if(!EMAIL_RE.test(email)){errors.push(`${line} \u884C\u76EE: \u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306E\u5F62\u304C\u9055\u3044\u307E\u3059: ${email===
@@ -200,7 +201,85 @@ usage:"twp user invite resend <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9|\u30C8
200
201
  body,"\u62DB\u5F85\u306E\u518D\u9001")},{name:"delete",summary:"\u62DB\u5F85\u3092\u53D6\u308A\u6D88\u3059\uFF08\u53D7\u8AFE\u7528\u306E\u30EA\u30F3\u30AF\u304C\u4F7F\u3048\u306A\u304F\u306A\u308B\uFF09",usage:"twp user invite delete <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9|\u30C8\u30FC\u30AF\u30F3> --yes",description:`${INVITE_REF_HELP}
201
202
 
202
203
  \u53D6\u308A\u6D88\u3057\u305F\u62DB\u5F85\u306F\u5143\u306B\u623B\u305B\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u62DB\u5F85\u3059\u308B\u3068\u304D\u306F twp user invite create \u3092\u4F7F\u3044\u307E\u3059\u3002`,destructive:true,forbidden:FORBIDDEN2,flags:[INVITE_REF_FLAG],prepare:input=>prepareInvite(input,"twp user invite delete help"),plan:input=>refPlan(input,"DELETE"),plannedNotes:refNotes,async execute(input,ctx){return ctx.send({method:"DELETE",path:invitePath(await tokenFor(input,
203
- ctx))})},summarize:body=>successAck(body,"\u62DB\u5F85\u306E\u53D6\u6D88"),raw:body=>successAck(body,"\u62DB\u5F85\u306E\u53D6\u6D88")}]};var LIST_COLUMNS2=["user_id","user_name","email","employee_code","department_name","position_name","role","display_flg"];var GET_COLUMNS=["user_id","user_name","user_name_kana","email","employee_code","role","auth_type","hire_date","is_locked","display_flg","memberlist_flg","org_chart_flg","dashboard_flg"];var EMPLOYMENT_TYPES=["employee","partner"];var listPaging=envelopePaging({label:"\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7"});function userObject(body){if(!isRecord(body)||typeof body["user_id"]!==
204
+ ctx))})},summarize:body=>successAck(body,"\u62DB\u5F85\u306E\u53D6\u6D88"),raw:body=>successAck(body,"\u62DB\u5F85\u306E\u53D6\u6D88")}]};var FORBIDDEN3="\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user permission \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059";var UPDATE_USAGE="twp user permission update <\u30E6\u30FC\u30B6\u30FC> --feature <\u6A5F\u80FD> --level <\u30EC\u30D9\u30EB> | twp user permission update <\u30E6\u30FC\u30B6\u30FC> --feature <\u6A5F\u80FD>=<\u30EC\u30D9\u30EB> [--feature \u2026] | twp user permission update --file <CSV>";var UPDATE_HELP="\
205
+ twp user permission update help";var LIST_USAGE="twp user permission list <\u30E6\u30FC\u30B6\u30FC>";var CSV_MAX_BYTES2=1024*1024;var CSV_HEADERS=new Set(["user","\u30E6\u30FC\u30B6\u30FC","email","\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9"]);var REFLECT_NOTE="\u672C\u4EBA\u306E\u753B\u9762\u30FBAPI \u306B\u52B9\u304F\u307E\u3067\u6700\u59275\u5206\u307B\u3069\u304B\u304B\u308A\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u30C8\u30FC\u30AF\u30F3\u306B\u8F09\u3063\u305F\u6A29\u9650\u306F\u4E00\u5B9A\u6642\u9593\u3054\u3068\u306B\u8AAD\u307F\u76F4\u3055\u308C\u307E\u3059\u3002\u30B5\u30FC\u30D0\u306E\u8A2D\u5B9A\u306B\u3088\u308A\u6700\u957730\u5206\uFF09\u3002";
206
+ var FEATURE_FLAG={name:"--feature",summary:"\u5909\u3048\u308B\u6A5F\u80FD\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u3002<\u6A5F\u80FD>=<\u30EC\u30D9\u30EB> \u306E\u5F62\u306A\u3089\u7E70\u308A\u8FD4\u3057\u6307\u5B9A\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u6A5F\u80FD[=\u30EC\u30D9\u30EB]>",repeatable:true};var LEVEL_FLAG={name:"--level",summary:"\u5909\u66F4\u5F8C\u306E\u30EC\u30D9\u30EB\uFF08none / member / admin \u7B49\u3002\u6A5F\u80FD\u3054\u3068\u306B\u9055\u3046\uFF09",
207
+ takesValue:true,placeholder:"<\u30EC\u30D9\u30EB>"};var FILE_FLAG2={name:"--file",summary:"\u4E00\u62EC\u3067\u5909\u3048\u308B CSV\uFF08\u30E6\u30FC\u30B6\u30FC, \u6A5F\u80FD, \u30EC\u30D9\u30EB\uFF09",takesValue:true,placeholder:"<CSV>"};async function featureDefs(ctx){try{return await ctx.resolver.featurePermissions()}catch(err){if(err instanceof ResolveError&&err.status===403)throw new ResolveError(`${FORBIDDEN3}\uFF08${err.message}\uFF09`,403);throw err}}function featureDef(value,defs){const trimmed=value.
208
+ trim();const byCode=defs.get(trimmed.toLowerCase());if(byCode!==void 0)return byCode;const byName=new Map;for(const def of defs.values())if(def.label===trimmed)byName.set(def.code,def);for(const[code,name]of Object.entries(LICENSE_FEATURE_NAMES)){const def=defs.get(code);if(name===trimmed&&def!==void 0)byName.set(code,def)}if(byName.size>1){throw new UsageError(`\u6A5F\u80FD\u300C${trimmed}\u300D\u306B\u5F53\u305F\u308B\u6A5F\u80FD\u304C\u8907\u6570\u3042\u308A\u307E\u3059: ${[...byName.keys()].
209
+ join(" / ")}`,"\u6A5F\u80FD\u30B3\u30FC\u30C9\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const named=[...byName.values()][0];if(named!==void 0)return named;throw new UsageError(`\u6A5F\u80FD\u300C${trimmed===""?"\uFF08\u7A7A\uFF09":trimmed}\u300D\u304C\u5206\u304B\u308A\u307E\u305B\u3093`,"\u6A5F\u80FD\u30B3\u30FC\u30C9\uFF08wiki_management \u7B49\uFF09\u304B\u753B\u9762\u306E\u8868\u793A\u540D\uFF08Wiki\u7BA1\u7406 \u7B49\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u4E00\u89A7\u306F twp user permission list <\u30E6\u30FC\u30B6\u30FC> \u3067\u898B\u3089\u308C\u307E\u3059\u3002")}
210
+ function levelOf(value,def){const level=value.trim().toLowerCase();if(!def.levels.includes(level)){throw new UsageError(`${def.label}\uFF08${def.code}\uFF09\u306B\u300C${value.trim()===""?"\uFF08\u7A7A\uFF09":value.trim()}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`${def.label} \u306B\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${def.levels.join(" / ")} \u3067\u3059\u3002`)}return level}function parsePermissionCsv(text){const rows=[];const errors=[];const seen=new Map;let headerChecked=false;
211
+ text.replace(/^\uFEFF/,"").split(/\r?\n/).forEach((raw,index)=>{const line=index+1;if(raw.trim()===""||raw.trim().startsWith("#"))return;const cells=splitCsvLine(raw);if(!headerChecked){headerChecked=true;if(CSV_HEADERS.has((cells[0]??"").toLowerCase()))return}if(cells.length!==3){errors.push(`${line} \u884C\u76EE: \u5217\u304C ${cells.length} \u500B\u3042\u308A\u307E\u3059\uFF08\u30E6\u30FC\u30B6\u30FC, \u6A5F\u80FD, \u30EC\u30D9\u30EB \u306E3\u5217\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF09`);
212
+ return}const[user,feature,level]=cells;const missing=[user===""?"\u30E6\u30FC\u30B6\u30FC":null,feature===""?"\u6A5F\u80FD":null,level===""?"\u30EC\u30D9\u30EB":null].filter(item=>item!==null);if(missing.length>0){errors.push(`${line} \u884C\u76EE: ${missing.join("\u30FB")}\u304C\u7A7A\u3067\u3059`);return}const key=`${user.toLowerCase()}\0${feature.toLowerCase()}`;const first=seen.get(key);if(first!==void 0){errors.push(`${line} \u884C\u76EE: ${user} \u306E ${feature} \u306F ${first} \u884C\u76EE\u3068\u91CD\u8907\u3057\u3066\u3044\u307E\u3059`);
213
+ return}seen.set(key,line);rows.push({line,user,feature,level})});return{rows,errors}}function flagRows(input,user){const features=repeatedValues(input,FEATURE_FLAG.name);const level=input.flags.get(LEVEL_FLAG.name);if(features.length===0)throw new UsageError("--feature \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",UPDATE_USAGE);if(level!==void 0){if(features.length>1||features[0].includes("=")){throw new UsageError("--level \u3068\u4E00\u7DD2\u306B\u4F7F\u3048\u308B\u306E\u306F --feature 1\u3064\uFF08= \u3092\u542B\u307E\u306A\u3044\u5F62\uFF09\u3060\u3051\u3067\u3059",
214
+ "\u8907\u6570\u306E\u6A5F\u80FD\u3092\u5909\u3048\u308B\u3068\u304D\u306F --feature <\u6A5F\u80FD>=<\u30EC\u30D9\u30EB> \u3092\u7E70\u308A\u8FD4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--level \u306F\u4ED8\u3051\u307E\u305B\u3093\uFF09\u3002")}return[{line:null,user,feature:features[0],level}]}return features.map(value=>{const at=value.indexOf("=");if(at<0){throw new UsageError(`--feature ${value} \u306E\u30EC\u30D9\u30EB\u304C\u3042\u308A\u307E\u305B\u3093`,"--level <\u30EC\u30D9\u30EB> \u3092\u4ED8\u3051\u308B\u304B\u3001--feature <\u6A5F\u80FD>=\
215
+ <\u30EC\u30D9\u30EB> \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{line:null,user,feature:value.slice(0,at),level:value.slice(at+1)}})}var REJECTED_BEFORE_WRITE=new Set([400,403,404,409,422]);function where(row){return row.line===null?"":`${row.line} \u884C\u76EE: `}async function prepareUpdate(input,ctx){const bulk=input.flags.has(FILE_FLAG2.name);let raw;const errors=[];if(bulk){if(input.args.length>0){throw new UsageError(`--file \u306E\u3068\u304D\u306F\u30E6\u30FC\u30B6\u30FC\u3092\u4F4D\u7F6E\u5F15\u6570\u3067\u53D7\u3051\u307E\u305B\u3093\uFF08CSV \u306E\u5217\u3067\
216
+ \u6307\u5B9A\u3057\u307E\u3059\uFF09: ${input.args.join(" ")}`,UPDATE_HELP)}const mixed=[USER_REF_FLAG.name,FEATURE_FLAG.name,LEVEL_FLAG.name].filter(flag=>input.flags.has(flag)||repeatedValues(input,flag).length>0);if(mixed.length>0){throw new UsageError(`--file \u3068 ${mixed.join(" / ")} \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u884C\u3054\u3068\u306E\u5024\u306F CSV \u306E\u5217\u3067\u6E21\u3057\u307E\u3059\uFF09`,UPDATE_HELP)}const file=input.flags.get(FILE_FLAG2.
217
+ name)??"";if(file.trim()==="")throw new UsageError("--file <CSV> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",UPDATE_HELP);const text=readCsvFileText(file,UPDATE_HELP,CSV_MAX_BYTES2,size=>new UsageError(`--file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${size} \u30D0\u30A4\u30C8\u30FB\u4E0A\u9650 ${CSV_MAX_BYTES2} \u30D0\u30A4\u30C8\uFF09: ${file}`,"CSV \u3092\u5206\u3051\u3066\u6253\u3063\u3066\u304F\u3060\u3055\u3044\u3002"));const parsed=parsePermissionCsv(
218
+ text);raw=parsed.rows;errors.push(...parsed.errors.map(message=>({line:Number(message.split(" ")[0]),text:message})));if(raw.length===0&&errors.length===0)throw new UsageError(`CSV \u306B\u5909\u3048\u308B\u884C\u304C\u3042\u308A\u307E\u305B\u3093: ${file}`,UPDATE_HELP)}else{const user=singleRef(input,{flag:USER_REF_FLAG.name,label:"\u30E6\u30FC\u30B6\u30FC",usage:UPDATE_USAGE});raw=flagRows(input,user)}const defs=await featureDefs(ctx);const rows=[];const seen=new Map;for(const row of raw){try{
219
+ const def=featureDef(row.feature,defs);const level=levelOf(row.level,def);const user=await ctx.resolver.user(row.user,"\u30E6\u30FC\u30B6\u30FC");const key=`${user.id}\0${def.code}`;const first=seen.get(key);if(first!==void 0){throw new UsageError(`${row.user} \u306E ${def.label} \u306F ${first}\u3068\u540C\u3058\u6307\u5B9A\u3067\u3059\uFF081\u4EBA\u30FB1\u6A5F\u80FD\u306B\u3064\u304D1\u4EF6\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF09`)}seen.set(key,row.line===null?`--feature ${row.feature}`:
220
+ `${row.line} \u884C\u76EE`);rows.push({line:row.line,user:row.user,userId:user.id,feature:def.code,featureLabel:def.label,level})}catch(err){if(!(err instanceof UsageError))throw err;if(!bulk)throw err;errors.push({line:row.line??0,text:`${row.line} \u884C\u76EE: ${err.message}`})}}if(errors.length>0){errors.sort((a,b)=>a.line-b.line);throw new UsageError(`CSV \u306B\u4E0D\u6B63\u306A\u884C\u304C ${errors.length} \u884C\u3042\u308B\u305F\u3081\u30011\u4EF6\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093:
221
+ ${errors.map(e=>e.text).join("\n ")}`,`\u6B63\u3057\u3044\u884C\u306F ${rows.length} \u884C\u3067\u3059\u3002\u4E0D\u6B63\u306A\u884C\u3092\u76F4\u3059\u304B\u524A\u9664\u3057\u3066\u304B\u3089\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return withResolved(input,{rows:JSON.stringify(rows)})}function permissionRows(input){return JSON.parse(requireResolved(input,"rows"))}function userPathOf(userId){if(!isSafePathSegment(userId)){throw new ApiResponseError(`\u30B5\u30FC\u30D0\u304C\u8FD4\u3057\u305F\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\
222
+ \u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return`/api/v2/admin/users/${encodeURIComponent(userId)}`}function rowPlan2(row){const key=`${row.feature}_level`;return{method:"PUT",path:userPathOf(row.userId),body:{user_id:row.userId,update_fields:[key],[key]:row.level}}}var EFFECT_TEXT={unchanged:"\u5909\u66F4\u306A\u3057",assign:"\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u5272\u308A\u5F53\u3066\u308B\uFF08\u7A7A\u304D \u22121\uFF09",
223
+ release:"\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u89E3\u9664\u3059\u308B\uFF08\u7A7A\u304D +1\uFF09",update:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u305D\u306E\u307E\u307E\uFF08\u5272\u5F53\u306E\u30EC\u30D9\u30EB\u3092\u66F4\u65B0\uFF09",kept:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u306F\u6B8B\u308B",none:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u52D5\u304B\u306A\u3044"};function seatEffect(feature,from,to,licensed){if(from===to)return"unchanged";if(levelHoldsSeat(feature,to))return licensed?
224
+ "update":"assign";if(levelHoldsSeat(feature,from))return licensed?"release":"none";return licensed?"kept":"none"}var PLANNED=new WeakMap;function levelFromDetail(detail,feature){const value=isRecord(detail)?detail[`${feature}_level`]:void 0;if(typeof value!=="string"||!/^[a-z][a-z0-9_]*$/.test(value)){throw new ApiResponseError(`\u30E6\u30FC\u30B6\u30FC\u8A73\u7D30\u306E\u5FDC\u7B54\u306E ${feature}_level \u304C\u8AAD\u3081\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
225
+ return value}function licenseList(body){const list=isRecord(body)?body["licenses"]:void 0;if(!Array.isArray(list))throw new ApiResponseError("\u30E6\u30FC\u30B6\u30FC\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5FDC\u7B54\u306B licenses \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return list.filter(isRecord)}function seatShortages(items,available){const shortages=[];const features=[...new Set(items.filter(item=>item.
226
+ effect==="assign").map(item=>item.feature))];for(const feature of features){const start=available.get(feature);if(start===void 0||start===null)continue;let free=start;let lowest=start;let assigns=0;let releases=0;for(const item of items){if(item.feature!==feature)continue;if(item.effect==="assign"){free-=1;assigns+=1}else if(item.effect==="release"){free+=1;releases+=1}lowest=Math.min(lowest,free)}if(lowest>=0)continue;const label2=items.find(item=>item.feature===feature)?.featureLabel??feature;
227
+ const order=free>=0?"\uFF08\u89E3\u9664\u306E\u884C\u3092\u5272\u308A\u5F53\u3066\u306E\u884C\u3088\u308A\u524D\u306B\u4E26\u3079\u308C\u3070\u8DB3\u308A\u307E\u3059\uFF09":"";shortages.push(`${label2}\uFF08${feature}\uFF09: \u7A7A\u304D ${start}\u30FB\u5272\u308A\u5F53\u3066 ${assigns} \u4EF6\u30FB\u89E3\u9664 ${releases} \u4EF6 \u2192 ${-lowest} \u8DB3\u308A\u307E\u305B\u3093${order}`)}return shortages}async function planChanges(input,ctx){const cached=PLANNED.get(input);if(cached!==void 0)return cached;
228
+ const rows=permissionRows(input);const send=pacedSender(ctx);const userIds=[...new Set(rows.map(row=>row.userId))];const details=new Map;const licensed=new Map;await mapPool(userIds,CONCURRENCY,async userId=>{const[detail,licenses]=await Promise.all([send({method:"GET",path:userPathOf(userId)}),send({method:"GET",path:`/api/v2/licenses/users/${encodeURIComponent(userId)}`})]);details.set(userId,detail);licensed.set(userId,new Set(licenseList(licenses).map(row=>String(row["feature_code"]??""))))});
229
+ const usage=readLicenses(await send({method:"GET",path:"/api/v2/licenses"}));const items=rows.map(row=>{const detail=details.get(row.userId);const from=levelFromDetail(detail,row.feature);const name=isRecord(detail)&&typeof detail["user_name"]==="string"?detail["user_name"]:null;return{...row,userName:name,from,effect:seatEffect(row.feature,from,row.level,licensed.get(row.userId)?.has(row.feature)??false)}});const available=new Map(usage.map(([code,row])=>[code,row.available]));const shortages=seatShortages(
230
+ items,available);const unknownSeats=[...new Set(items.filter(item=>item.effect==="assign"&&(available.get(item.feature)??null)===null).map(item=>item.featureLabel))];if(shortages.length>0){throw new UsageError(`\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u304C\u8DB3\u308A\u306A\u3044\u305F\u3081\u30011\u4EF6\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093:
231
+ ${shortages.join("\n ")}`,"\u30B7\u30FC\u30C8\u3092\u8FFD\u52A0\u3059\u308B\uFF08\u753B\u9762\u306E\u300C\u30E9\u30A4\u30BB\u30F3\u30B9\u7BA1\u7406\u300D\uFF09\u304B\u3001\u5272\u308A\u5F53\u3066\u308B\u4EBA\u6570\u3092\u6E1B\u3089\u3057\u3066\u304B\u3089\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const notes=[`${items.length} \u4EF6\u306E\u6A5F\u80FD\u6A29\u9650\u3092\u5909\u3048\u307E\u3059\uFF08\u5DE6\u304C\u4ECA\u306E\u5024\u3002\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u9001\u308B\u524D\u306E\u898B\u8FBC\u307F\u3067\u3001\u6700\u7D42\u7684\u306A\u5224\u5B9A\u306F\u30B5\u30FC\u30D0\u304C\u3057\u307E\u3059\uFF09:`];
232
+ for(const item of items){const who=item.userName!==null&&item.userName!==item.user?`${item.userName}\uFF08${item.user}\uFF09`:item.user;notes.push(` ${where(item)}${who} ${item.featureLabel}: ${item.from} \u2192 ${item.level}\uFF08${EFFECT_TEXT[item.effect]}\uFF09`)}const seatLicensed=new Set(usage.map(([code])=>code));for(const[feature,row]of usage){const mine=items.filter(item=>item.feature===feature);const delta=mine.filter(item=>item.effect==="release").length-mine.filter(item=>item.effect===
233
+ "assign").length;if(delta!==0&&row.available!==null){notes.push(`\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D: ${mine[0]?.featureLabel??feature} ${row.available} \u2192 ${row.available+delta}`)}}const unmoved=[...new Set(items.filter(item=>item.effect!=="unchanged"&&seatLicensed.has(item.feature)&&!permissionMovesSeat(item.feature)).map(item=>item.featureLabel))];if(unmoved.length>0){notes.push(`${unmoved.join("\u30FB")} \u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5BFE\u8C61\u3067\u3059\u304C\u3001\u30B5\u30FC\u30D0\u306F\u6A29\u9650\u306E\u5909\u66F4\u3067\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u5272\u308A\u5F53\u3066\u3082\u89E3\u9664\u3082\u3057\u307E\u305B\u3093\uFF08\u753B\u9762\u304B\u3089\u5909\u3048\u305F\u5834\u5408\u3082\u540C\u3058\u3067\u3059\uFF09\u3002`)}
234
+ if(unknownSeats.length>0){notes.push(`${unknownSeats.join("\u30FB")} \u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u3092\u8AAD\u3081\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u7A7A\u304D\u306E\u4E8B\u524D\u691C\u67FB\u3092\u3057\u3066\u3044\u307E\u305B\u3093\uFF08\u8DB3\u308A\u306A\u3051\u308C\u3070\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09\u3002`)}if(items.some(item=>item.effect==="kept"&&item.level==="none")){notes.push("\u300C\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u306F\u6B8B\u308B\u300D\u306E\u884C\u306F\u3001\u6A29\u9650\u3092 none \u306B\u3057\u3066\u3082\u5272\u5F53\u304C\u5916\u308C\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C\u3053\u306E\u5909\u66F4\u3067\u30E9\u30A4\u30BB\u30F3\
235
+ \u30B9\u3092\u52D5\u304B\u3055\u306A\u3044\u305F\u3081\uFF09\u3002")}const planned={items,notes};PLANNED.set(input,planned);return planned}function isUpdateBody(body){return isRecord(body)&&body["permissionUpdate"]===true&&Array.isArray(body["done"])}function writeAck(body){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError("\u6A5F\u80FD\u6A29\u9650\u306E\u66F4\u65B0\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")}
236
+ const rest={...body};delete rest["result"];return rest}function revertCommand(userId,feature,level){return`twp user permission update ${shellQuote(userId)} --feature ${shellQuote(feature)} --level ${shellQuote(level)}`}function revertLines(done){return done.filter(item=>item.effect!=="unchanged").map(item=>` ${revertCommand(item.userId,item.feature,item.from)}${item.line===null?"":` # ${item.line} \u884C\u76EE`}`)}function reasonOf(err){if(err instanceof ApiError){const licenseErrors=err.body?.["\
237
+ license_errors"];if(Array.isArray(licenseErrors)&&licenseErrors.length>0)return licenseErrors.map(String).join(" ")}return err.message}async function runUpdate(input,ctx){const{items}=await planChanges(input,ctx);const send=pacedSender(ctx);const done=[];for(const[index,item]of items.entries()){let response;try{response=writeAck(await send(rowPlan2(item)))}catch(err){const unsent=items.slice(index+1);const rejected=err instanceof ApiError&&REJECTED_BEFORE_WRITE.has(err.status);const written=rejected?
238
+ "\u3053\u306E\u4EF6\u306F\u66F8\u304D\u8FBC\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002":`\u66F8\u304D\u8FBC\u307E\u308C\u305F\u304B\u3069\u3046\u304B\u5206\u304B\u308A\u307E\u305B\u3093\u3002twp user permission list ${shellQuote(item.userId)} \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`;if(items.length===1){if(!rejected)ctx.warn(`${item.featureLabel} \u306E\u5909\u66F4: ${written}`);throw err}const lines=[`\u6A5F\u80FD\u6A29\u9650\u306E\u5909\u66F4\u306F ${where(item)}${item.
239
+ user} ${item.featureLabel} \u3067\u6B62\u307E\u308A\u307E\u3057\u305F\uFF08${items.length} \u4EF6\u4E2D \u6210\u529F ${done.length} \u4EF6\u30FB\u5931\u6557 1 \u4EF6\u30FB\u672A\u9001\u4FE1 ${unsent.length} \u4EF6\uFF09\u3002`,` \u5931\u6557: ${where(item)}${item.user} ${item.featureLabel}\uFF08${reasonOf(err)}\uFF09${written}`,done.length===0?" \u6210\u529F: \u306A\u3057":` \u6210\u529F: ${done.map(d=>`${where(d)}${d.user} ${d.featureLabel}`).join(" / ")}`,unsent.length===0?" \u672A\u9001\u4FE1: \u306A\u3057":
240
+ ` \u672A\u9001\u4FE1: ${unsent.map(u=>`${where(u)}${u.user} ${u.featureLabel}`).join(" / ")}`];const reverts=revertLines(done);if(reverts.length>0)lines.push("\u6210\u529F\u3057\u305F\u4EF6\u3092\u5143\u306B\u623B\u3059\u306B\u306F:",...reverts);lines.push(done.length===0?"\u3069\u306E\u4EF6\u3082\u5909\u3048\u3066\u3044\u307E\u305B\u3093\u3002\u539F\u56E0\u3092\u53D6\u308A\u9664\u3044\u3066\u304B\u3089\u540C\u3058\u6307\u5B9A\u3092\u3082\u3046\u4E00\u5EA6\u6D41\u305B\u307E\u3059\u3002":"\u7D9A\u304D\u3092\u6D41\u3059\u3068\
241
+ \u304D\u306F\u3001\u6210\u529F\u3057\u305F\u884C\u3092 CSV \u304B\u3089\u9664\u3044\u3066\u304B\u3089\u6253\u3061\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002");ctx.warn(lines.join("\n"));if(done.length===0||!rejected)throw err;throw new ApiRejectedError(`\u6A5F\u80FD\u6A29\u9650\u306E\u5909\u66F4\u306F\u5B8C\u4E86\u3057\u3066\u3044\u307E\u305B\u3093\uFF08\u6210\u529F ${done.length} \u4EF6\u30FB\u5931\u6557 1 \u4EF6\u30FB\u672A\u9001\u4FE1 ${unsent.length} \u4EF6\uFF09\u3002`)}done.push({line:item.
242
+ line,user:item.user,userId:item.userId,feature:item.feature,featureLabel:item.featureLabel,from:item.from,to:item.level,effect:item.effect,response})}return{permissionUpdate:true,done}}function updateDone(body){if(!isUpdateBody(body))throw new ApiResponseError("\u6A5F\u80FD\u6A29\u9650\u306E\u5909\u66F4\u306E\u7D50\u679C\u3092\u7D44\u307F\u7ACB\u3066\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5185\u90E8\u30A8\u30E9\u30FC\uFF09\u3002");return body.done}var updateOperation2={name:"upda\
243
+ te",summary:"\u6A5F\u80FD\u6A29\u9650\u3092\u5909\u3048\u308B\uFF081\u4EBA\u30FBCSV \u4E00\u62EC\u3002\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u30FB\u89E3\u9664\u306F\u30B5\u30FC\u30D0\u304C\u9023\u52D5\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:UPDATE_USAGE,description:`\u753B\u9762\u306E\u300C\u7D44\u7E54\u7BA1\u7406 > \u30E6\u30FC\u30B6\u30FC\u300D\u306E\u6A5F\u80FD\u6A29\u9650\u3068\u540C\u3058\u5909\u66F4\u3092\u3057\u307E\u3059\uFF08\u540C\u3058 API \u3092\u4F7F\u3044\u307E\u3059\uFF09\u3002
244
+ \u6A5F\u80FD\u306F\u30B3\u30FC\u30C9\uFF08wiki_management\uFF09\u304B\u753B\u9762\u306E\u8868\u793A\u540D\uFF08Wiki\u7BA1\u7406\uFF09\u3067\u3001\u30EC\u30D9\u30EB\u306F\u305D\u306E\u6A5F\u80FD\u304C\u53D6\u308C\u308B\u5024
245
+ \uFF08none / member / admin\u3001none / viewer / editor / admin \u7B49\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u53D6\u308C\u306A\u3044\u7D44\u307F\u5408\u308F\u305B\u306F\u9001\u308B\u524D\u306B\u6B62\u3081\u307E\u3059\u3002
246
+ \u6A5F\u80FD\u3054\u3068\u306B\u53D6\u308C\u308B\u30EC\u30D9\u30EB\u306F twp user permission list <\u30E6\u30FC\u30B6\u30FC> \u306E levels \u5217\u3067\u898B\u3089\u308C\u307E\u3059\u3002
247
+
248
+ twp user permission update yamada@example.com --feature wiki_management --level editor
249
+ twp user permission update yamada@example.com --feature inquiry=member --feature workflow=none
250
+
251
+ \u4E00\u62EC\uFF08--file\uFF09: CSV \u306E1\u884C\u304C1\u4EBA\u306E1\u6A5F\u80FD\u3067\u3059\u3002\u5217\u306F\u300C\u30E6\u30FC\u30B6\u30FC, \u6A5F\u80FD, \u30EC\u30D9\u30EB\u300D\u306E3\u5217\u3067\u3001
252
+ 1\u884C\u76EE\u306E\u30D8\u30C3\u30C0\uFF08user,feature,level\uFF09\u306F\u7701\u7565\u3067\u304D\u307E\u3059\u3002\u7A7A\u884C\u3068 # \u3067\u59CB\u307E\u308B\u884C\u306F\u8AAD\u307F\u98DB\u3070\u3057\u307E\u3059\u3002Shift_JIS \u306E CSV \u3082\u8AAD\u3081\u307E\u3059\u3002
253
+
254
+ user,feature,level
255
+ yamada@example.com,inquiry,member
256
+ E0012,Wiki\u7BA1\u7406,editor
257
+
258
+ \u9001\u308B\u524D\u306B\u5168\u4EF6\u3092\u691C\u67FB\u3057\uFF08\u30E6\u30FC\u30B6\u30FC\u306E\u89E3\u6C7A\u30FB\u6A5F\u80FD\u3068\u30EC\u30D9\u30EB\u306E\u7D44\u307F\u5408\u308F\u305B\u30FB\u540C\u3058\u30E6\u30FC\u30B6\u30FC\u3068\u6A5F\u80FD\u306E\u91CD\u8907\uFF09\u3001
259
+ \u4E0D\u6B63\u306A\u884C\u304C1\u3064\u3067\u3082\u3042\u308C\u3070**1\u4EF6\u3082\u9001\u3089\u305A**\u306B\u3001\u305D\u306E\u884C\u756A\u53F7\u3068\u7406\u7531\u3092\u3059\u3079\u3066\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002
260
+ \u7D9A\u3051\u3066\u4ECA\u306E\u6A29\u9650\u3068\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u3092\u8AAD\u307F\u3001\u300C\u8AB0\u306E\u30FB\u3069\u306E\u6A5F\u80FD\u304C\u30FB\u4F55\u304B\u3089\u4F55\u3078\u30FB\u30E9\u30A4\u30BB\u30F3\u30B9\u304C\u3069\u3046\u306A\u308B\u304B\u300D\u3092 stderr \u306B\u4E26\u3079\u307E\u3059
261
+ \uFF08--dry-run \u306F\u3053\u3053\u307E\u3067\u3067\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\u5272\u308A\u5F53\u3066\u308B\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u304C\u8DB3\u308A\u306A\u3044\u6A5F\u80FD\u304C\u3042\u308C\u3070\u3001\u6A5F\u80FD\u540D\u3068\u4E0D\u8DB3\u6570\u3092\u51FA\u3057\u3066
262
+ 1\u4EF6\u3082\u9001\u3089\u305A\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u7D42\u308F\u308A\u307E\u3059\u3002
263
+
264
+ \u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u30FB\u89E3\u9664\u306F\u30B5\u30FC\u30D0\u304C\u6A29\u9650\u306E\u5909\u66F4\u306B\u5408\u308F\u305B\u3066\u884C\u3044\u307E\u3059\u3002\u3044\u307E\u30B5\u30FC\u30D0\u304C\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u52D5\u304B\u3059\u306E\u306F
265
+ \u554F\u3044\u5408\u308F\u305B\u7BA1\u7406\u30FB\u30B3\u30F3\u30C6\u30F3\u30C4\u7BA1\u7406\u30FB\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF08admin\uFF09\u30FB\u30D2\u30A2\u30EA\u30F3\u30B0\uFF08admin\uFF09\u3060\u3051\u3067\u3001\u305D\u308C\u4EE5\u5916\u306E\u6A5F\u80FD\u306F
266
+ \u6A29\u9650\u3092\u5909\u3048\u3066\u3082\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u5272\u308A\u5F53\u3066\u3082\u89E3\u9664\u3082\u3055\u308C\u307E\u305B\u3093\uFF08\u753B\u9762\u304B\u3089\u5909\u3048\u305F\u5834\u5408\u3082\u540C\u3058\u3067\u3059\uFF09\u3002
267
+
268
+ \u9001\u4FE1\u306F1\u4EF6\uFF081\u4EBA\u306E1\u6A5F\u80FD\uFF09\u305A\u3064\u3067\u3001\u5931\u6557\u3057\u305F\u3089\u305D\u3053\u3067\u6B62\u3081\u3001\u6210\u529F\u30FB\u5931\u6557\u30FB\u672A\u9001\u4FE1\u306E\u4EF6\u3068\u3001\u6210\u529F\u3057\u305F\u4EF6\u3092\u5143\u306B\u623B\u3059\u30B3\u30DE\u30F3\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
269
+ ${REFLECT_NOTE}
270
+
271
+ `+USER_REF_HELP,forbidden:FORBIDDEN3,flags:[USER_REF_FLAG,FEATURE_FLAG,LEVEL_FLAG,FILE_FLAG2],prepare:prepareUpdate,plan:input=>rowPlan2(permissionRows(input)[0]),plannedNotes(input){const rows=permissionRows(input);const lines=["\u3053\u306E\u524D\u306B\u3001\u4ECA\u306E\u6A29\u9650\u30FB\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u30FB\u7A7A\u304D\u3092 GET \u3057\u307E\u3059\uFF08\u8AAD\u307F\u53D6\u308A\u3060\u3051\uFF09\u3002"];if(rows.length>1)lines.push(`${rows.length} \u4EF6\u30921\u4EF6\u305A\u3064 PUT \u3057\u307E\u3059\
272
+ \uFF08--dry-run \u306B\u51FA\u308B\u8981\u6C42\u306F1\u4EF6\u76EE\u306E\u5206\u3067\u3059\uFF09\u3002`);return lines},async preview(input,ctx){return{notes:(await planChanges(input,ctx)).notes,warnings:[]}},execute:runUpdate,summarize:body=>updateDone(body).map(item=>({line:item.line,user:item.user,feature_name:item.featureLabel,from:item.from,to:item.to,license:EFFECT_TEXT[item.effect]})),raw:body=>updateDone(body).map(item=>({line:item.line,user_id:item.userId,feature_code:item.feature,from_level:item.
273
+ from,to_level:item.to,license_change:item.effect,response:item.response})),notes(body){const done=updateDone(body);const notes=[`${done.length} \u4EF6\u306E\u6A5F\u80FD\u6A29\u9650\u3092\u5909\u3048\u307E\u3057\u305F\u3002${REFLECT_NOTE}`];const reverts=revertLines(done);if(reverts.length>0)notes.push(["\u5143\u306B\u623B\u3059\u306B\u306F:",...reverts].join("\n"));return notes},failures:body=>updateDone(body).flatMap(item=>{const texts=licenseWarnings(item.response);return texts.length===0?[]:[
274
+ {target:`${where(item)}${item.user} ${item.featureLabel}`,error:new ApiRejectedError(`\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6CE8\u610F: ${texts.join(" / ")}`)}]})};function licenseWarnings(response){const warnings=response["license_warnings"];if(!Array.isArray(warnings))return[];return warnings.map(warning=>isRecord(warning)?String(warning["message"]??warning["feature_label"]??warning["feature"]??""):String(warning))}var LIST_COLUMNS2=["feature_name","feature_code","level","levels","tenant_enabl\
275
+ ed","license_assigned","license_level"];function listRows2(defs,detail,licenses){if(!isRecord(detail)||typeof detail["user_id"]!=="string"){throw new ApiResponseError("\u30E6\u30FC\u30B6\u30FC\u8A73\u7D30\u306E\u5FDC\u7B54\u306B user_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const byFeature=new Map(licenses.map(row=>[String(row["feature_code"]??""),row]));const str=value=>typeof value==="string"&&value!==""?value:
276
+ null;const rows=defs.map(def=>{const license=byFeature.get(def.code);const enabled=detail[`tenant_${def.code}_enabled`];return{feature_code:def.code,feature_name:def.label,level:str(detail[`${def.code}_level`]),levels:def.levels.join("/"),tenant_enabled:typeof enabled==="boolean"?enabled:null,license_assigned:license!==void 0,license_level:str(license?.["permission_level"]),license_assigned_at:str(license?.["assigned_at"])}});for(const[code,license]of byFeature){if(code===""||defs.some(def=>def.
277
+ code===code))continue;rows.push({feature_code:code,feature_name:LICENSE_FEATURE_NAMES[code]??code,level:null,levels:null,tenant_enabled:null,license_assigned:true,license_level:str(license["permission_level"]),license_assigned_at:str(license["assigned_at"])})}return rows}function listBody(body){if(!isRecord(body)||body["permissionList"]!==true||!Array.isArray(body["rows"])){throw new ApiResponseError("\u6A5F\u80FD\u6A29\u9650\u306E\u4E00\u89A7\u3092\u7D44\u307F\u7ACB\u3066\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5185\u90E8\u30A8\u30E9\u30FC\uFF09\u3002")}
278
+ return body["rows"]}var listOperation2={name:"list",summary:"1\u4EBA\u306E\u6A5F\u80FD\u6A29\u9650\u3068\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u3092\u4E26\u3079\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:LIST_USAGE,description:"\u6A5F\u80FD\u3054\u3068\u306B\u3001\u3044\u307E\u306E\u30EC\u30D9\u30EB\uFF08level\uFF09\u30FB\u53D6\u308C\u308B\u30EC\u30D9\u30EB\uFF08levels\uFF09\u30FB\u30C6\u30CA\u30F3\u30C8\u3067\u6709\u52B9\u304B\uFF08tenant_enabled\uFF09\u30FB\n\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u306E\u6709\u7121\u3068\u305D\u306E\u30EC\u30D9\u30EB\uFF08license_assigned / license_level\uFF09\u30921\u884C\u305A\u3064\u51FA\u3057\u307E\u3059\u3002\n\u6A29\u9650\u304C none \u306A\u306E\u306B\u5272\u5F53\u304C\u6B8B\u3063\u3066\u3044\u308B\u6A5F\u80FD\u306F\u3001\u6A29\u9650\u3092\u5909\u3048\u3066\u3082\u5272\u5F53\u304C\u5916\u308C\u306A\u3044\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF08twp user permission update help\uFF09\u3002\n--output json \u3067\u306F\u5272\u5F53\u65E5\uFF08license_assigne\
279
+ d_at\uFF09\u3082\u51FA\u307E\u3059\u3002\n\n"+USER_REF_HELP,forbidden:FORBIDDEN3,flags:[USER_REF_FLAG],async prepare(input,ctx){const resolved=await prepareUser(input,ctx,LIST_USAGE);const defs=await featureDefs(ctx);return withResolved(resolved,{defs:JSON.stringify([...defs.values()])})},plan:input=>({method:"GET",path:userPathOf(requireResolved(input,"userId"))}),plannedNotes:()=>["\u3053\u306E\u3042\u3068\u3001\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u3092 GET \u3057\u307E\u3059\uFF08\u8AAD\u307F\u53D6\u308A\u3060\u3051\uFF09\u3002"],
280
+ async execute(input,ctx){const userId=requireResolved(input,"userId");const detail=await ctx.send({method:"GET",path:userPathOf(userId)});const licenses=licenseList(await ctx.send({method:"GET",path:`/api/v2/licenses/users/${encodeURIComponent(userId)}`}));const defs=JSON.parse(requireResolved(input,"defs"));return{permissionList:true,rows:listRows2(defs,detail,licenses)}},summarize:body=>listBody(body).map(row=>pick(row,LIST_COLUMNS2)),raw:body=>listBody(body),notes(body){const stale=listBody(body).
281
+ filter(row=>row.license_assigned&&(row.level===null||row.level==="none"));return stale.length===0?[]:[`\u6A29\u9650\u304C none\uFF08\u307E\u305F\u306F\u5B9A\u7FA9\u306B\u7121\u3044\uFF09\u306A\u306E\u306B\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u304C\u6B8B\u3063\u3066\u3044\u308B\u6A5F\u80FD: ${stale.map(row=>row.feature_name).join("\u30FB")}`]}};var userPermissionResource={name:"permission",summary:"\u6A5F\u80FD\u6A29\u9650\uFF081\u4EBA\u306E\u4E00\u89A7\u30FB\u5909\u66F4\uFF0FCSV \u4E00\u62EC\u3002\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5272\u5F53\u30FB\u89E3\u9664\u306F\u30B5\u30FC\u30D0\u304C\u9023\u52D5\uFF09",
282
+ operations:[listOperation2,updateOperation2]};var LIST_COLUMNS3=["user_id","user_name","email","employee_code","department_name","position_name","role","display_flg"];var GET_COLUMNS=["user_id","user_name","user_name_kana","email","employee_code","role","auth_type","hire_date","is_locked","display_flg","memberlist_flg","org_chart_flg","dashboard_flg"];var EMPLOYMENT_TYPES=["employee","partner"];var listPaging=envelopePaging({label:"\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7"});function userObject(body){if(!isRecord(body)||typeof body["user_id"]!==
204
283
  "string"){throw new ApiResponseError("\u30E6\u30FC\u30B6\u30FC\u8A73\u7D30\u306E\u5FDC\u7B54\u306B user_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const rest={...body};delete rest["result"];return rest}var TEXT_FIELDS=[{flag:"--name",key:"user_name",label:"\u6C0F\u540D",maxChars:255,summary:"\u6C0F\u540D",placeholder:"<\u6C0F\u540D>"},{flag:"--kana",key:"user_name_kana",label:"\u30D5\u30EA\u30AC\u30CA",maxChars:255,
205
284
  summary:"\u6C0F\u540D\u306E\u30D5\u30EA\u30AC\u30CA",placeholder:"<\u30D5\u30EA\u30AC\u30CA>"},{flag:"--email",key:"login_id",label:"\u30ED\u30B0\u30A4\u30F3ID",maxChars:255,summary:"\u30ED\u30B0\u30A4\u30F3ID\uFF08\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF09",placeholder:"<\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>"},{flag:"--employee-code",key:"employee_code",label:"\u793E\u54E1\u756A\u53F7",maxChars:50,summary:"\u793E\u54E1\u756A\u53F7",placeholder:"<\u793E\u54E1\u756A\u53F7>"}];var DISPLAY_FIELDS=[
206
285
  {flag:"--display",key:"display_flg",summary:"\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u30FB\u9078\u629E\u80A2\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true / false\uFF09"},{flag:"--memberlist",key:"memberlist_flg",summary:"\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true / false\uFF09"},{flag:"--org-chart",key:"org_chart_flg",summary:"\u7D44\u7E54\u56F3\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true / false\uFF09"},{flag:"--dashboard",key:"dashboard_flg",summary:"\u30C0\u30C3\u30B7\
@@ -214,7 +293,7 @@ name);if(file===void 0)return void 0;let text;if(file==="-"){if(process.stdin.is
214
293
  const chunks=[];let size=0;for await(const chunk of process.stdin){const buffer=Buffer.from(chunk);size+=buffer.length;if(size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`\u6A19\u6E96\u5165\u529B\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${PASSWORD_FILE_MAX_BYTES} \u30D0\u30A4\u30C8\u8D85\uFF09`,usage)}chunks.push(buffer)}text=Buffer.concat(chunks).toString("utf8")}else{try{const stat=fs.statSync(file);if(!stat.isFile())throw new UsageError(`--password\
215
294
  -file \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`,usage);if(stat.size>PASSWORD_FILE_MAX_BYTES){throw new UsageError(`--password-file \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${stat.size} \u30D0\u30A4\u30C8\uFF09: ${file}`,usage)}text=fs.readFileSync(file,"utf8")}catch(err){if(err instanceof UsageError)throw err;const reason=err.code??err.message;throw new UsageError(`--password-file \u306E\u30D5\
216
295
  \u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`,usage)}}const password=text.replace(/^\uFEFF/,"").replace(/\r?\n$/,"");if([...password].length<PASSWORD_MIN_CHARS){throw new UsageError(`\u30D1\u30B9\u30EF\u30FC\u30C9\u306F ${PASSWORD_MIN_CHARS} \u6587\u5B57\u4EE5\u4E0A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${[...password].length} \u6587\u5B57\uFF09`,usage)}return password}function userFields(input){const body={};for(const field of TEXT_FIELDS){const value=boundedText(
217
- input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.key]=value}const type=roleType(input);if(type!==void 0)body["type"]=type;const hireDate=isoDate(input,HIRE_DATE_FLAG.name);if(hireDate!==void 0)body["hire_date"]=hireDate;for(const field of DISPLAY_FIELDS){const value=booleanFlag(input,field.flag);if(value!==void 0)body[field.key]=value}return body}function writeAck(body,label2){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label2}\
296
+ input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.key]=value}const type=roleType(input);if(type!==void 0)body["type"]=type;const hireDate=isoDate(input,HIRE_DATE_FLAG.name);if(hireDate!==void 0)body["hire_date"]=hireDate;for(const field of DISPLAY_FIELDS){const value=booleanFlag(input,field.flag);if(value!==void 0)body[field.key]=value}return body}function writeAck2(body,label2){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label2}\
218
297
  \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`)}const rest={...body};delete rest["result"];return rest}function licenseNotes(body){const warnings=isRecord(body)?body["license_warnings"]:void 0;if(!Array.isArray(warnings)||warnings.length===0)return[];const texts=warnings.map(warning=>isRecord(warning)?String(warning["message"]??warning["feature_label"]??warning["featur\
219
298
  e"]??""):String(warning));return[`\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u304C\u8DB3\u308A\u306A\u3044\u305F\u3081\u3001\u4E00\u90E8\u306E\u6A5F\u80FD\u6A29\u9650\u306F\u4ED8\u4E0E\u3055\u308C\u3066\u3044\u307E\u305B\u3093: ${texts.join(" / ")}`]}var createOperation2={name:"create",summary:"\u30E6\u30FC\u30B6\u30FC\u3092\u4F5C\u6210\u3059\u308B\uFF08\u5165\u793E\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user create --name <\u6C0F\u540D> --email <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9> --password-file <\
220
299
  \u30D1\u30B9|-> [--role admin|user] [--kana <\u30D5\u30EA\u30AC\u30CA>] [--hire-date <YYYY-MM-DD>] [--employee-code <\u793E\u54E1\u756A\u53F7>] [--display true|false] \u2026",description:`--name / --email / --password-file \u304C\u5FC5\u9808\u3067\u3059\u3002--role \u3092\u7701\u304F\u3068\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\uFF08user\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002
@@ -227,9 +306,9 @@ ${DISPLAY_HELP}
227
306
 
228
307
  \u4F5C\u6210\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306E ID \u304C\u8FD4\u308A\u307E\u3059\u3002\u7D9A\u3051\u3066 twp user get <ID> \u3067\u5185\u5BB9\u3092\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`,forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user create \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059",flags:FIELD_FLAGS,async prepare(input){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
229
308
  args.join(" ")}`,"twp user create help")}const body=userFields(input);for(const[flag,key]of[["--name","user_name"],["--email","login_id"]]){if(body[key]===void 0)throw new UsageError(`${flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,"twp user create help")}if(!input.flags.has(PASSWORD_FILE_FLAG.name)){throw new UsageError("--password-file \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",PASSWORD_HINT)}const password=await readPassword(input,"twp user create help");return withResolved(
230
- input,{password})},plan(input){const body=userFields(input);if(body["type"]===void 0)body["type"]=ROLE_TO_TYPE["user"];return{method:"POST",path:"/api/v2/admin/users",body:{...body,password:requireResolved(input,"password")}}},plannedNotes:input=>input.flags.has("--role")?[]:["--role \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\uFF08user\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002"],summarize:body=>pick(writeAck(body,"\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210"),[
231
- "user_id","message"]),raw:body=>writeAck(body,"\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210"),notes:body=>licenseNotes(body)};var UPDATE_FLAGS=[...FIELD_FLAGS,AUTH_TYPE_FLAG,USER_REF_FLAG];var updateOperation2={name:"update",summary:"\u30E6\u30FC\u30B6\u30FC\u3092\u66F4\u65B0\u3059\u308B\uFF08\u5931\u52B9\u3092\u542B\u3080\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user update <\u30E6\u30FC\u30B6\u30FC> [--auth-type all|password|oauth|disabled] [--display true|false] [--memberlist true|false] [--org-\
232
- chart true|false] [--dashboard true|false] [--name <\u6C0F\u540D>] \u2026",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
309
+ input,{password})},plan(input){const body=userFields(input);if(body["type"]===void 0)body["type"]=ROLE_TO_TYPE["user"];return{method:"POST",path:"/api/v2/admin/users",body:{...body,password:requireResolved(input,"password")}}},plannedNotes:input=>input.flags.has("--role")?[]:["--role \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\uFF08user\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002"],summarize:body=>pick(writeAck2(body,"\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210"),
310
+ ["user_id","message"]),raw:body=>writeAck2(body,"\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210"),notes:body=>licenseNotes(body)};var UPDATE_FLAGS=[...FIELD_FLAGS,AUTH_TYPE_FLAG,USER_REF_FLAG];var updateOperation3={name:"update",summary:"\u30E6\u30FC\u30B6\u30FC\u3092\u66F4\u65B0\u3059\u308B\uFF08\u5931\u52B9\u3092\u542B\u3080\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user update <\u30E6\u30FC\u30B6\u30FC> [--auth-type all|password|oauth|disabled] [--display true|false] [--memberlist true|false] [--or\
311
+ g-chart true|false] [--dashboard true|false] [--name <\u6C0F\u540D>] \u2026",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
233
312
  \u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
234
313
 
235
314
  \u9000\u793E\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u306F\u3001\u8A8D\u8A3C\u30BF\u30A4\u30D7\u3092 disabled\uFF08\u753B\u9762\u306E\u300C\u7121\u52B9\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\uFF09\u300D\uFF09\u306B\u3057\u3066\u5931\u52B9\u3055\u305B\u307E\u3059\u3002
@@ -249,16 +328,16 @@ ${PASSWORD_HELP}
249
328
  ${DISPLAY_HELP}`,forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user update \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059",flags:UPDATE_FLAGS,async prepare(input,ctx){const changed=[...FIELD_FLAGS,AUTH_TYPE_FLAG].some(flag=>input.flags.has(flag.name));if(!changed){throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",`\u6307\u5B9A\u3067\u304D\u308B\u9805\u76EE: ${[
250
329
  ...FIELD_FLAGS,AUTH_TYPE_FLAG].map(flag=>flag.name).join("\u3001")}`)}userFields(input);authType(input);const password=await readPassword(input,"twp user update help");const resolved=await prepareUser(input,ctx,"twp user update help");return password===void 0?resolved:withResolved(resolved,{password})},plan(input){const userId=requireResolved(input,"userId");const body=userFields(input);const auth=authType(input);if(auth!==void 0)body["auth_type"]=auth;const password=input.resolved?.["password"];
251
330
  if(password!==void 0)body["password"]=password;return{method:"PUT",path:`/api/v2/admin/users/${userPath(input)}`,body:{user_id:userId,update_fields:Object.keys(body),...body}}},plannedNotes:input=>{if(authType(input)!=="disabled")return[];const ref=(input.args[0]??input.flags.get("--user")??"").trim().toLowerCase();const notes=["\u3053\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u5931\u52B9\u3055\u305B\u307E\u3059\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\u3002\u767A\u884C\u6E08\u307F\u306E\u30C8\u30FC\u30AF\u30F3\u30FBAPI \u30AD\u30FC\u3082\u30B5\u30FC\u30D0\u304C\u5931\u52B9\u3055\u305B\u307E\u3059\uFF09\u3002"];
252
- if(ref==="me")notes.push("\u5BFE\u8C61\u306F\u81EA\u5206\u81EA\u8EAB\u3067\u3059\u3002\u5B9F\u884C\u3059\u308B\u3068\u3001\u3053\u306E\u3042\u3068 twp \u306E\u64CD\u4F5C\u3082\u30ED\u30B0\u30A4\u30F3\u3082\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002");return notes},summarize:body=>pick(writeAck(body,"\u30E6\u30FC\u30B6\u30FC\u66F4\u65B0"),["message"]),raw:body=>writeAck(body,"\u30E6\u30FC\u30B6\u30FC\u66F4\u65B0"),notes:body=>licenseNotes(body)};var userDomain={name:"user",summary:"\u30C6\u30CA\u30F3\
253
- \u30C8\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u5931\u52B9\u30FB\u62DB\u5F85\u30FB\u68DA\u5378\uFF09\u3068\u6240\u5C5E\uFF08\u53C2\u7167\u30FB\u4ED8\u3051\u66FF\u3048\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u7D42\u4E86\u30FB\u524A\u9664\uFF09\u30FB\u30B9\u30AD\u30EB\u8A55\u4FA1\u30FB\u8CC7\u683C\u30FB\u7814\u4FEE\u5C65\u6B74\u30FB\u96C7\u7528\u5951\u7D04\u306E\u53C2\u7167",operations:[{name:"list",summary:"\u30E6\u30FC\u30B6\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08\u90E8\u7F72\u30FB\u5F79\u8077\u30FB\u96C7\u7528\u533A\u5206\u30FB\u30AD\u30FC\u30EF\u30FC\u30C9\u3067\u7D5E\u308A\u8FBC\u3081\u308B\uFF09",
254
- usage:"twp user list [--department <\u90E8\u7F72>] [--position <\u5F79\u8077>] [--employment employee|partner] [--keyword <\u8A9E>] [--include-hidden] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]",description:"--department / --position \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u4E3B\u6240\u5C5E\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\uFF09\u3002\n--employment \u306F employee\uFF08\u793E\u54E1\uFF09\u304B partner\uFF08\u30D1\u30FC\u30C8\u30CA\u30FC\uFF09\u3067\u3059\u3002\n--include-hidden \u306F\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u542B\u3081\u307E\u3059\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u3068\u304D\u3060\u3051\u52B9\u304D\u307E\u3059\uFF09\u3002\n\u5931\u52B9\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\uFF09\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u4E00\u89A7\u306B\u542B\u307E\u308C\u307E\u3059\u3002\u5931\u52B9\u304B\u3069\u3046\u304B\u306F twp user get \u306E auth_type \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\n\uFF08\u5168\u54E1\u306E\u8A8D\u8A3C\u30BF\u30A4\u30D7\u3092\u4E00\u89A7\u3067\u898B\u308B\u306A\u3089 twp user export \
255
- --include-disabled\uFF09\u3002\n\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08user_id / user_name / email / employee_code / department_name / position_name / role / display_flg\uFF09\u3067\u3059\u3002\n\n"+LIST_PAGING_HELP,flags:[...LIST_FLAGS,{name:"--department",summary:"\u4E3B\u6240\u5C5E\u306E\u90E8\u7F72\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",
256
- takesValue:true,placeholder:"<\u90E8\u7F72>"},{name:"--position",summary:"\u4E3B\u6240\u5C5E\u306E\u5F79\u8077\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",takesValue:true,placeholder:"<\u5F79\u8077>"},{name:"--employment",summary:"\u96C7\u7528\u533A\u5206\u3067\u7D5E\u308A\u8FBC\u3080\uFF08employee / partner\uFF09",takesValue:true,placeholder:"<\u533A\u5206>"},{name:"--keyword",summary:"\u6C0F\u540D\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",
257
- takesValue:true,placeholder:"<\u8A9E>"},{name:"--include-hidden",summary:"\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u542B\u3081\u308B",takesValue:false}],paging:listPaging,async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp user list help")}const employment=nonEmpty(input.flags,"--employment");if(employment!==void 0&&!EMPLOYMENT_TYPES.
258
- includes(employment)){throw new UsageError(`--employment \u306B\u300C${employment}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${EMPLOYMENT_TYPES.join(" / ")} \u3067\u3059`)}const resolved={};const department=nonEmpty(input.flags,"--department");if(department!==void 0)resolved["departmentId"]=(await ctx.resolver.department(department)).id;const position=nonEmpty(input.flags,"--position");if(position!==void 0)resolved["positionId"]=(await ctx.
259
- resolver.position(position)).id;return withResolved(input,resolved)},plan(input){return{method:"GET",path:"/api/v2/admin/users/list",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),department_id:input.resolved?.["departmentId"],position_id:input.resolved?.["positionId"],employment_type:nonEmpty(input.flags,"--employment"),include_hidden:input.flags.has("--include-hidden")?"true":void 0}}},summarize:body=>listPaging.
260
- items(body).map(row=>pick(row,LIST_COLUMNS2)),raw:body=>listPaging.items(body)},{name:"get",summary:"\u30E6\u30FC\u30B6\u30FC1\u4EBA\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user get <\u30E6\u30FC\u30B6\u30FC>",description:USER_REF_HELP+"\n\nauth_type \u304C disabled \u306E\u30E6\u30FC\u30B6\u30FC\u306F\u5931\u52B9\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\uFF09\u3057\u3066\u3044\u307E\u3059\u3002\n\u8981\u7D04\uFF08table / text / tsv\uFF09\u306B\u306F\u500B\u4EBA\u9023\u7D61\u5148\u3092\u51FA\u3057\u307E\u305B\u3093\u3002--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002",
261
- forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user get \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059",flags:[USER_REF_FLAG],prepare:(input,ctx)=>prepareUser(input,ctx,"twp user get help"),plan:input=>({method:"GET",path:`/api/v2/admin/users/${userPath(input)}`}),summarize:body=>pick(userObject(body),GET_COLUMNS),raw:body=>userObject(body)},{name:"projects",summary:"\u6307\u5B9A\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u304C\u53C2\u753B\u3057\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",
262
- usage:"twp user projects <\u30E6\u30FC\u30B6\u30FC>",description:"GET /api/v2/admin/users/{id}/projects\u3002\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5E38\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\u3059\u3002\nmember_start_date / member_end_date \u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u53C2\u753B\u671F\u9593\u3067\u3059\uFF08start_date / end_date \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u671F\u9593\uFF09\u3002\n\u81EA\u5206\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u304F\u3066\u3082 twp project mine \u3067\u8AAD\u3081\u307E\u3059\u3002\n\n"+
263
- USER_REF_HELP,forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user projects \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u81EA\u5206\u306E\u5206\u306F twp project mine\uFF09",flags:[USER_REF_FLAG],prepare:(input,ctx)=>prepareUser(input,ctx,"twp user projects help"),plan:input=>({method:"GET",path:`/api/v2/admin/users/${userPath(input,"/projects")}`}),summarize:body=>assignedProjectItems(body).map(row=>pick(
264
- row,ASSIGNED_PROJECT_COLUMNS)),raw:body=>assignedProjectItems(body)},createOperation2,updateOperation2,exportOperation,...userHrOperations],subresources:[userAssignmentResource,userInviteResource]};export{userDomain};
331
+ if(ref==="me")notes.push("\u5BFE\u8C61\u306F\u81EA\u5206\u81EA\u8EAB\u3067\u3059\u3002\u5B9F\u884C\u3059\u308B\u3068\u3001\u3053\u306E\u3042\u3068 twp \u306E\u64CD\u4F5C\u3082\u30ED\u30B0\u30A4\u30F3\u3082\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002");return notes},summarize:body=>pick(writeAck2(body,"\u30E6\u30FC\u30B6\u30FC\u66F4\u65B0"),["message"]),raw:body=>writeAck2(body,"\u30E6\u30FC\u30B6\u30FC\u66F4\u65B0"),notes:body=>licenseNotes(body)};var userDomain={name:"user",summary:"\u30C6\
332
+ \u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\uFF08\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u5931\u52B9\u30FB\u62DB\u5F85\u30FB\u68DA\u5378\u30FB\u6A5F\u80FD\u6A29\u9650\uFF09\u3068\u6240\u5C5E\uFF08\u53C2\u7167\u30FB\u4ED8\u3051\u66FF\u3048\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u7D42\u4E86\u30FB\u524A\u9664\uFF09\u30FB\u30B9\u30AD\u30EB\u8A55\u4FA1\u30FB\u8CC7\u683C\u30FB\u7814\u4FEE\u5C65\u6B74\u30FB\u96C7\u7528\u5951\u7D04\u306E\u53C2\u7167",operations:[{name:"list",summary:"\u30E6\u30FC\u30B6\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08\u90E8\u7F72\u30FB\u5F79\
333
+ \u8077\u30FB\u96C7\u7528\u533A\u5206\u30FB\u30AD\u30FC\u30EF\u30FC\u30C9\u3067\u7D5E\u308A\u8FBC\u3081\u308B\uFF09",usage:"twp user list [--department <\u90E8\u7F72>] [--position <\u5F79\u8077>] [--employment employee|partner] [--keyword <\u8A9E>] [--include-hidden] [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>]",description:"--department / --position \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u4E3B\u6240\u5C5E\u3067\u7D5E\u308A\u8FBC\u307F\u307E\u3059\uFF09\u3002\n--employment \u306F employee\uFF08\u793E\u54E1\uFF09\u304B partner\uFF08\u30D1\u30FC\u30C8\u30CA\u30FC\uFF09\u3067\u3059\u3002\n--include-hidden \u306F\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u542B\u3081\u307E\u3059\uFF08\u7D44\u7E54\
334
+ \u7BA1\u7406\u8005\u306E\u3068\u304D\u3060\u3051\u52B9\u304D\u307E\u3059\uFF09\u3002\n\u5931\u52B9\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\uFF09\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u4E00\u89A7\u306B\u542B\u307E\u308C\u307E\u3059\u3002\u5931\u52B9\u304B\u3069\u3046\u304B\u306F twp user get \u306E auth_type \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\n\uFF08\u5168\u54E1\u306E\u8A8D\u8A3C\u30BF\u30A4\u30D7\u3092\u4E00\u89A7\u3067\u898B\u308B\u306A\u3089 twp user export --include-disabled\uFF09\u3002\n\n--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08user_id / user_name / email / employee_code / department_name / position_name / role / display_flg\uFF09\u3067\u3059\u3002\n\n"+
335
+ LIST_PAGING_HELP,flags:[...LIST_FLAGS,{name:"--department",summary:"\u4E3B\u6240\u5C5E\u306E\u90E8\u7F72\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"},{name:"--position",summary:"\u4E3B\u6240\u5C5E\u306E\u5F79\u8077\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",takesValue:true,placeholder:"<\u5F79\u8077>"},{name:"--employment",summary:"\u96C7\u7528\u533A\u5206\u3067\u7D5E\u308A\u8FBC\u3080\uFF08employee / partner\uFF09",
336
+ takesValue:true,placeholder:"<\u533A\u5206>"},{name:"--keyword",summary:"\u6C0F\u540D\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--include-hidden",summary:"\u8868\u793A\u30D5\u30E9\u30B0\u3092\u5916\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u3082\u542B\u3081\u308B",takesValue:false}],paging:listPaging,async prepare(input,ctx){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
337
+ args.join(" ")}`,"twp user list help")}const employment=nonEmpty(input.flags,"--employment");if(employment!==void 0&&!EMPLOYMENT_TYPES.includes(employment)){throw new UsageError(`--employment \u306B\u300C${employment}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${EMPLOYMENT_TYPES.join(" / ")} \u3067\u3059`)}const resolved={};const department=nonEmpty(input.flags,"--department");if(department!==void 0)resolved["departmentId"]=(await ctx.resolver.
338
+ department(department)).id;const position=nonEmpty(input.flags,"--position");if(position!==void 0)resolved["positionId"]=(await ctx.resolver.position(position)).id;return withResolved(input,resolved)},plan(input){return{method:"GET",path:"/api/v2/admin/users/list",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),department_id:input.resolved?.["departmentId"],position_id:input.resolved?.["positionId"],employment_type:nonEmpty(
339
+ input.flags,"--employment"),include_hidden:input.flags.has("--include-hidden")?"true":void 0}}},summarize:body=>listPaging.items(body).map(row=>pick(row,LIST_COLUMNS3)),raw:body=>listPaging.items(body)},{name:"get",summary:"\u30E6\u30FC\u30B6\u30FC1\u4EBA\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user get <\u30E6\u30FC\u30B6\u30FC>",description:USER_REF_HELP+"\n\nauth_type \u304C disabled \u306E\u30E6\u30FC\u30B6\u30FC\u306F\u5931\u52B9\uFF08\u30ED\u30B0\u30A4\u30F3\u4E0D\u53EF\uFF09\u3057\u3066\u3044\u307E\u3059\u3002\n\u8981\u7D04\uFF08table / text / ts\
340
+ v\uFF09\u306B\u306F\u500B\u4EBA\u9023\u7D61\u5148\u3092\u51FA\u3057\u307E\u305B\u3093\u3002--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002",forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user get \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059",flags:[USER_REF_FLAG],prepare:(input,ctx)=>prepareUser(input,ctx,"twp user get help"),plan:input=>({method:"\
341
+ GET",path:`/api/v2/admin/users/${userPath(input)}`}),summarize:body=>pick(userObject(body),GET_COLUMNS),raw:body=>userObject(body)},{name:"projects",summary:"\u6307\u5B9A\u3057\u305F\u30E6\u30FC\u30B6\u30FC\u304C\u53C2\u753B\u3057\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp user projects <\u30E6\u30FC\u30B6\u30FC>",description:"GET /api/v2/admin/users/{id}/projects\u3002\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u305F\u305A\u3001\u5E38\u306B\u5168\u4EF6\u3092\u8FD4\u3057\u307E\
342
+ \u3059\u3002\nmember_start_date / member_end_date \u306F\u305D\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u53C2\u753B\u671F\u9593\u3067\u3059\uFF08start_date / end_date \u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u671F\u9593\uFF09\u3002\n\u81EA\u5206\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u304F\u3066\u3082 twp project mine \u3067\u8AAD\u3081\u307E\u3059\u3002\n\n"+USER_REF_HELP,forbidden:"\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user projects \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF08\u81EA\u5206\u306E\u5206\u306F twp pro\
343
+ ject mine\uFF09",flags:[USER_REF_FLAG],prepare:(input,ctx)=>prepareUser(input,ctx,"twp user projects help"),plan:input=>({method:"GET",path:`/api/v2/admin/users/${userPath(input,"/projects")}`}),summarize:body=>assignedProjectItems(body).map(row=>pick(row,ASSIGNED_PROJECT_COLUMNS)),raw:body=>assignedProjectItems(body)},createOperation2,updateOperation3,exportOperation,...userHrOperations],subresources:[userAssignmentResource,userInviteResource,userPermissionResource]};export{userDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{booleanQuery,cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,referencedDeleteGuidance,targetId,updateFlags}from"./chunk-NNDUIAGN.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{USER_CONTRACT_TYPES_PATH}from"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{
3
+ import{booleanQuery,cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,referencedDeleteGuidance,targetId,updateFlags}from"./chunk-AITUAHWK.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import{USER_CONTRACT_TYPES_PATH}from"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";import{
4
4
  acknowledgement,pick}from"./chunk-3ZRMMBP5.js";import{UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var NAME="user-contract-type";var LABEL="\u5951\u7D04\u5F62\u614B";var ITEM_KEY="contract_type";var CALCULATION_TYPES=["salary_based","salary_executive","salary_manager","hourly_based","contract_based","other_exempt"];var FIELDS=[{kind:"text",flag:"--name",key:"name",label:`${LABEL}\u540D`,maxChars:255,summary:`${LABEL}\u540D`},{kind:"text",flag:"--code",key:"code",label:`${LABEL}\u30B3\u30FC\u30C9`,maxChars:50,summary:`${LABEL}\u30B3\u30FC\u30C9\uFF08\u4EFB\u610F\u30FB\u30C6\u30CA\u30F3\u30C8\u5185\u3067\u4E00\u610F\uFF09`},
5
5
  {kind:"enum",flag:"--calculation-type",key:"calculation_type",values:CALCULATION_TYPES,summary:"\u8A08\u7B97\u533A\u5206\uFF08salary_based: \u4E00\u822C\u5F93\u696D\u54E1 / salary_executive: \u5F79\u54E1 / salary_manager: \u7BA1\u7406\u76E3\u7763\u8005 / hourly_based: \u6642\u7D66\u5236 / contract_based: \u696D\u52D9\u59D4\u8A17 / other_exempt: \u8A08\u7B97\u5BFE\u8C61\u5916\uFF09"},{kind:"integer",flag:"--monthly-hours",key:"default_monthly_hours",label:"\u6708\u9593\u6240\u5B9A\u6642\u9593",min:1,
6
6
  max:744,summary:"\u6708\u9593\u6240\u5B9A\u6642\u9593\uFF081\u301C744\uFF09"},{kind:"number",flag:"--daily-hours",key:"default_daily_hours",label:"1\u65E5\u306E\u6240\u5B9A\u6642\u9593",min:1,max:24,summary:"1\u65E5\u306E\u6240\u5B9A\u6642\u9593\uFF081\u301C24\u30FB\u5C0F\u6570\u53EF\uFF09"},{kind:"number",flag:"--bonus-months",key:"bonus_months_default",label:"\u8CDE\u4E0E\u6708\u6570",min:0,max:24,summary:"\u8CDE\u4E0E\u6708\u6570\u306E\u65E2\u5B9A\uFF080\u301C24\u30FB\u5C0F\u6570\u53EF\uFF09"},
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain}from"./chunk-YX6ONBPK.js";import"./chunk-WVCEKC7V.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";
3
+ import{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain}from"./chunk-436IBRP4.js";import"./chunk-WVCEKC7V.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";
4
4
  import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain};
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-MNFO6G2H.js";import"./chunk-QO2QPN3M.js";import"./chunk-CZUXTKMR.js";import"./chunk-ICGIHXBA.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-7APLKLQL.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
3
+ import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-MZVXEYOV.js";import"./chunk-H7MIIYRN.js";import"./chunk-GQEXST5N.js";import"./chunk-DLDDMXZT.js";import"./chunk-JJSBBWJ5.js";import"./chunk-MI6HVYR2.js";import"./chunk-RX5HWI4L.js";import"./chunk-6LSQCOCJ.js";import"./chunk-GHE6X45G.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-H4CDX4TX.js";
4
4
  import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tocca-systems/twp-cli",
3
- "version": "0.75.0",
3
+ "version": "0.77.0",
4
4
  "description": "TWP CLI — Tocca Working Platform の CLI 型統合インターフェース(AIエージェントハーネス)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,13 +0,0 @@
1
- import { createRequire as __twpCreateRequire } from 'node:module';
2
- const require = __twpCreateRequire(import.meta.url);
3
- var FINAL_REPORT_BEGIN="<<<AI_FINAL_REPORT>>>";var FINAL_REPORT_END="<<<END_AI_FINAL_REPORT>>>";var ClaudeStreamRenderer=class{constructor(now=()=>new Date){this.now=now}now;toolNames=new Map;toolCount=0;result={subtype:null,isError:null,numTurns:null,costUsd:null,durationMs:null,tokensIn:null,tokensOut:null,rateLimited:false,resetsAt:null,finalText:""};push(line){const trimmed=line.trim();if(trimmed==="")return[];let event;try{const parsed=JSON.parse(trimmed);if(parsed===null||typeof parsed!=="\
4
- object"||Array.isArray(parsed)){return[line]}event=parsed}catch{return[line]}switch(event["type"]){case"rate_limit_event":return this.onRateLimit(event);case"assistant":return this.onAssistant(event);case"user":return this.onUser(event);case"result":return this.onResult(event);default:return event["type"]==="system"?[]:[line]}}sawRateLimit(){return this.result.rateLimited}lastRateLimitNote="";onRateLimit(event){const info=event["rate_limit_info"];if(info===null||typeof info!=="object")return[];const rec=info;
5
- const status=typeof rec["status"]==="string"?rec["status"]:"";const resets=typeof rec["resetsAt"]==="number"?rec["resetsAt"]:null;if(status==="")return[];const at=isSaneEpochSec(resets)?` resets=${new Date(resets*1e3).toISOString()}`:"";if(status.startsWith("allowed")){if(status==="allowed")return[];const seen=`${status}|${resets??""}`;if(seen===this.lastRateLimitNote)return[];this.lastRateLimitNote=seen;return[this.line(`\u2139\uFE0F \u4E0A\u9650\u306B\u63A5\u8FD1\uFF08status=${status}${at}\uFF09\u2014 \u5B9F\
6
- \u884C\u306F\u7D99\u7D9A\u3057\u307E\u3059`)]}if(resets!==null)this.result.resetsAt=resets;this.result.rateLimited=true;return[this.line(`\u26A0\uFE0F \u30EC\u30FC\u30C8\u30EA\u30DF\u30C3\u30C8\u901A\u77E5: status=${status}${at}`)]}onAssistant(event){const out=[];for(const block of contentBlocks(event)){if(block.type==="tool_use"){const name=typeof block.name==="string"?block.name:"tool";if(typeof block.id==="string")this.toolNames.set(block.id,name);this.toolCount+=1;out.push(this.line(`>> ${name}${toolDetail(
7
- name,block.input)}`))}else if(block.type==="text"&&typeof block.text==="string"&&block.text.trim()!==""){for(const l of block.text.trim().split("\n"))out.push(this.line(` \u{1F4AC} ${l}`))}}return out}onUser(event){const out=[];for(const block of contentBlocks(event)){if(block.type!=="tool_result")continue;const id=typeof block.id==="string"?block.id:"";const useId=typeof block.tool_use_id==="string"?block.tool_use_id:id;const name=this.toolNames.get(useId)??"tool";this.toolNames.delete(useId);
8
- const isError=block.is_error===true;const detail=isError?firstErrorLine(block):"";out.push(this.line(`${isError?"!!":"<<"} ${name}${detail}`))}return out}onResult(event){const r=this.result;r.subtype=typeof event["subtype"]==="string"?event["subtype"]:null;r.isError=typeof event["is_error"]==="boolean"?event["is_error"]:null;r.numTurns=typeof event["num_turns"]==="number"?event["num_turns"]:null;r.costUsd=typeof event["total_cost_usd"]==="number"?event["total_cost_usd"]:null;r.durationMs=typeof event["\
9
- duration_ms"]==="number"?event["duration_ms"]:null;const usage=event["usage"];if(usage!==null&&typeof usage==="object"&&!Array.isArray(usage)){const u=usage;const num=key=>typeof u[key]==="number"?u[key]:0;const hasIn=["input_tokens","cache_creation_input_tokens","cache_read_input_tokens"].some(k=>typeof u[k]==="number");r.tokensIn=hasIn?num("input_tokens")+num("cache_creation_input_tokens")+num("cache_read_input_tokens"):null;r.tokensOut=typeof u["output_tokens"]==="number"?u["output_tokens"]:null}
10
- const out=[this.line(`\u5B8C\u4E86 (turns: ${r.numTurns??0}, tools: ${this.toolCount}, ${Math.round((r.durationMs??0)/1e3)}s, $${(r.costUsd??0).toFixed(3)})`)];const text=typeof event["result"]==="string"?event["result"]:"";r.finalText=text;if(text!==""){out.push(FINAL_REPORT_BEGIN,text,FINAL_REPORT_END)}return out}line(msg){const d=this.now();const ts=`${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;return` [${ts}] ${msg}`}};function firstErrorLine(block){const content=block.
11
- content;const text=typeof content==="string"?content:Array.isArray(content)?content.map(c=>c!==null&&typeof c==="object"&&typeof c.text==="string"?c.text:"").join(" "):"";const first=text.trim().split("\n")[0]??"";return first===""?"":` | ${first.slice(0,120)}`}function contentBlocks(event){const message=event["message"];if(message===null||typeof message!=="object")return[];const content=message["content"];if(!Array.isArray(content))return[];return content.filter(b=>b!==null&&typeof b==="object")}
12
- function toolDetail(name,input){if(input===void 0||input===null)return"";const str=k=>typeof input[k]==="string"?input[k]:"";if(name==="Bash"){const cmd=str("command");return cmd===""?"":` $ ${cmd.slice(0,80)}${cmd.length>80?"...":""}`}if(name==="Read"||name==="Write"||name==="Edit"){const p=str("file_path");return p===""?"":` ${p}`}if(name==="Grep"||name==="Glob"){const p=str("pattern");return p===""?"":` '${p}'`}if(name==="Skill"){const s=str("skill");return s===""?"":` /${s}`}if(name.includes(
13
- "mcp__")){const args=[];for(const k of["task_id","project_id","status_id","issue_id"]){const v=str(k);if(v!=="")args.push(`${k}=${v.slice(0,16)}`)}return args.length===0?"":` (${args.slice(0,2).join(", ")})`}return""}function pad(n){return String(n).padStart(2,"0")}function isSaneEpochSec(v){return v!==null&&Number.isFinite(v)&&Math.abs(v)<864e10}export{FINAL_REPORT_BEGIN,FINAL_REPORT_END,ClaudeStreamRenderer};
@@ -1,11 +0,0 @@
1
- import { createRequire as __twpCreateRequire } from 'node:module';
2
- const require = __twpCreateRequire(import.meta.url);
3
- var LOADERS={agent:async()=>(await import("./agent-63DPLVPG.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-UTS4MYW6.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-IT6X4YQB.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-SDYGHILR.js")).analysisDomain,announcement:async()=>(await import("./announcement-4RI2COFS.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-NJACXW3S.js")).attendanceDomainWithRecords,
4
- backlog:async()=>(await import("./backlog-NQUZQSCY.js")).backlogDomain,budget:async()=>(await import("./budget-ILEQGQOA.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-I4X6YQS3.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-QYNSMAP4.js")).businessPlaceDomain,company:async()=>(await import("./company-QFIHJ4OY.js")).companyDomain,contract:async()=>(await import("./contract-IGH7GFOM.js")).contractDomain,customer:async()=>(await import("./company-QFIHJ4OY.js")).
5
- customerDomain,department:async()=>(await import("./department-TIW5YISO.js")).departmentDomain,deposit:async()=>(await import("./deposit-2YPPFQVR.js")).depositDomain,estimate:async()=>(await import("./estimate-JBQSEUJY.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-4QE4L3OG.js")).evaluationDomain,expense:async()=>(await import("./expense-CFHOIO3I.js")).expenseDomain,"fiscal-year":async()=>(await import("./fiscal-year-N7POJ77K.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-WRSUBPT3.js")).
6
- holidayDomain,"goal-sheet":async()=>(await import("./evaluation-4QE4L3OG.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-6ANZ6HKD.js")).inquiryDomain,invoice:async()=>(await import("./invoice-INIF6BUD.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-KOFDOB65.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-F3GKX2VI.js")).knowledgeDomain,leave:async()=>(await import("./leave-LE3CIRPT.js")).leaveDomain,license:async()=>(await import("./license-ME2GUNJQ.js")).
7
- licenseDomain,media:async()=>(await import("./media-KTKCEVUU.js")).mediaDomain,meeting:async()=>(await import("./knowledge-4MLFTYQO.js")).meetingDomain,note:async()=>(await import("./knowledge-4MLFTYQO.js")).noteDomain,notification:async()=>(await import("./notification-N4FVLOPW.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-ZY3GTU26.js")).onedriveDomain,outlook:async()=>(await import("./outlook-YG7GFF44.js")).outlookDomain,payee:async()=>(await import("./sales-master-QYNSMAP4.js")).
8
- payeeDomain,position:async()=>(await import("./position-4C37LALY.js")).positionDomain,project:async()=>(await import("./project-DUHSOINK.js")).projectDomain,prospect:async()=>(await import("./prospect-QRTQA2R6.js")).prospectDomain,purchase:async()=>(await import("./purchase-LWRNGP3T.js")).purchaseDomain,qualification:async()=>(await import("./skill-MWETUX56.js")).qualificationDomain,receivable:async()=>(await import("./receivable-A4T74HZK.js")).receivableDomain,redmine:async()=>(await import("./redmine-X2GTGXHG.js")).
9
- redmineDomain,report:async()=>(await import("./report-UNEQSKNU.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-LZQCKDUM.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-QYNSMAP4.js")).sealImpressionDomain,search:async()=>(await import("./search-GZIEQYLJ.js")).searchDomain,segment:async()=>(await import("./segment-NNWN5KJB.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-AUEECNJL.js")).shiftDomain,skill:async()=>(await import("./skill-MWETUX56.js")).
10
- skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-4UKRQZHS.js")).supplierPaymentDomain,support:async()=>(await import("./support-JJ7ZCJFX.js")).supportDomain,task:async()=>(await import("./task-HAVEGLQC.js")).taskDomain,teams:async()=>(await import("./teams-RLMFGND2.js")).teamsDomain,user:async()=>(await import("./user-VRMLWGQ2.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-ZCUMSGVP.js")).
11
- userContractTypeDomain,wiki:async()=>(await import("./knowledge-4MLFTYQO.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-AUEECNJL.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-VCJUJDBO.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-I7L476KK.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};