@tocca-systems/twp-cli 0.45.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +6 -0
- package/README.md +20 -2
- package/dist/{api-command-6C3MFXVU.js → api-command-67456PBS.js} +2 -2
- package/dist/{app-6DA35MYO.js → app-7227DY7N.js} +3 -3
- package/dist/{backlog-Q7VYDMDL.js → backlog-XZB35X7I.js} +1 -1
- package/dist/chunk-3AD2T6L2.js +64 -0
- package/dist/{chunk-D5FEOBB6.js → chunk-3WHD2YVF.js} +11 -10
- package/dist/{chunk-DS5TH5YQ.js → chunk-AKPVALTZ.js} +1 -1
- package/dist/{chunk-IOCNJMVW.js → chunk-AUAZP2G7.js} +5 -5
- package/dist/chunk-B4APKONL.js +9 -0
- package/dist/{chunk-QV6DH37Q.js → chunk-EZMXGIGX.js} +1 -1
- package/dist/{chunk-EWTFE233.js → chunk-HS7EKE7M.js} +1 -1
- package/dist/{chunk-JLNY7HRM.js → chunk-JYNZEZYL.js} +1 -1
- package/dist/{chunk-NAAMNYX3.js → chunk-L7IGGC7H.js} +1 -1
- package/dist/{chunk-DVKPGJMS.js → chunk-LKS7GANP.js} +1 -1
- package/dist/{chunk-Y4SREWAG.js → chunk-MXKAEPXA.js} +1 -1
- package/dist/{chunk-7GSTR64T.js → chunk-OLBRIPOS.js} +1 -1
- package/dist/{chunk-O3UQPM6L.js → chunk-OVBKORPC.js} +1 -1
- package/dist/{chunk-YPMT453N.js → chunk-QVZGNHRE.js} +1 -1
- package/dist/{chunk-EM3SDCCU.js → chunk-RMAW7KOR.js} +15 -14
- package/dist/{chunk-JNPCHV7S.js → chunk-SBWCQAHT.js} +1 -1
- package/dist/{chunk-XXVYGQ72.js → chunk-V24LKF3V.js} +1 -1
- package/dist/{chunk-XTREYDO5.js → chunk-VMULCEHY.js} +1 -1
- package/dist/{chunk-XUNFV6ZQ.js → chunk-ZE75ZDLD.js} +1 -1
- package/dist/cli.js +21 -7
- package/dist/{commands-JUD4ZNWT.js → commands-SWR442MR.js} +1 -1
- package/dist/{company-UTEAM246.js → company-FEXAHUPT.js} +2 -2
- package/dist/{contract-GUY73GRP.js → contract-4RALZBO5.js} +1 -1
- package/dist/{department-QMTJYMN2.js → department-VEXXWBZ4.js} +1 -1
- package/dist/{deposit-FOATHWXV.js → deposit-2AAST2DE.js} +1 -1
- package/dist/{estimate-6UWI7SKV.js → estimate-JQURFOCH.js} +2 -2
- package/dist/{inquiry-3VBBJT2K.js → inquiry-YTYZYUTY.js} +1 -1
- package/dist/{invoice-FOZJR42A.js → invoice-PHYBVU6Q.js} +2 -2
- package/dist/{job-title-IIRFPZNV.js → job-title-ORNY7A7L.js} +1 -1
- package/dist/{knowledge-6SXUV46K.js → knowledge-FQ32UNDW.js} +1 -1
- package/dist/{leave-LQAXN6F4.js → leave-5V6EPGA3.js} +1 -1
- package/dist/{media-VK6AUGZY.js → media-BU23L547.js} +1 -1
- package/dist/{notification-NTU3JCR2.js → notification-XARS6JH2.js} +1 -1
- package/dist/onedrive-N4T6D2OW.js +47 -0
- package/dist/{oneshot-67EDIE2F.js → oneshot-7BFL2VON.js} +1 -1
- package/dist/outlook-LY6WBXIJ.js +94 -0
- package/dist/{position-WGLV3JZ6.js → position-NNJZAT3A.js} +1 -1
- package/dist/{project-REBUFMPX.js → project-FDY6LETQ.js} +1 -1
- package/dist/{prospect-DJAJNTRQ.js → prospect-CUWP3E5S.js} +1 -1
- package/dist/{purchase-7RVUWXMS.js → purchase-2CZTB5H7.js} +2 -2
- package/dist/{receivable-SHRWUYJW.js → receivable-KV5PPNLA.js} +1 -1
- package/dist/{registry-CP4LGNGZ.js → registry-NZ2HNT52.js} +1 -1
- package/dist/{render-4L5BDU3B.js → render-R5QZ46GF.js} +1 -1
- package/dist/{report-SUTO7E7Z.js → report-PCQPTRUV.js} +1 -1
- package/dist/{run-NVS532DL.js → run-7BS34D2P.js} +1 -1
- package/dist/{sales-ai-review-LC4XDQLS.js → sales-ai-review-SVZHVH5P.js} +1 -1
- package/dist/{sales-master-C4EYXIKP.js → sales-master-VD6JE2P3.js} +1 -1
- package/dist/{sales-numbering-YK447QBC.js → sales-numbering-P7W6N3OM.js} +1 -1
- package/dist/{supplier-payment-MLLTGVCO.js → supplier-payment-2KPCVEPH.js} +1 -1
- package/dist/{task-7SKWCZWV.js → task-MFWWP5Q7.js} +2 -2
- package/dist/teams-DRHXPLWN.js +93 -0
- package/dist/{user-FPXO3IHG.js → user-QG3KMK3T.js} +2 -2
- package/dist/{workflow-FU2EBVBW.js → workflow-CSYU4J4U.js} +1 -1
- package/package.json +1 -1
- package/dist/chunk-C2MQANJO.js +0 -9
- package/dist/onedrive-XAFONTRT.js +0 -16
- package/dist/outlook-PQ4OCB5Z.js +0 -98
- package/dist/teams-RDBKQJMM.js +0 -50
|
@@ -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-
|
|
3
|
+
import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-OLBRIPOS.js";import"./chunk-ORUDW52G.js";import"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";
|
|
4
4
|
import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance};
|
package/package.json
CHANGED
package/dist/chunk-C2MQANJO.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
var LOADERS={"agent-loop":async()=>(await import("./agent-loop-RMJXHBNG.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-LC4XDQLS.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-KUCETWIJ.js")).analysisDomain,attendance:async()=>(await import("./attendance-K2U7RYDU.js")).attendanceDomain,backlog:async()=>(await import("./backlog-Q7VYDMDL.js")).backlogDomain,budget:async()=>(await import("./budget-FOFE3YUJ.js")).budgetDomain,"busin\
|
|
4
|
-
ess-place":async()=>(await import("./sales-master-C4EYXIKP.js")).businessPlaceDomain,company:async()=>(await import("./company-UTEAM246.js")).companyDomain,contract:async()=>(await import("./contract-GUY73GRP.js")).contractDomain,customer:async()=>(await import("./company-UTEAM246.js")).customerDomain,department:async()=>(await import("./department-QMTJYMN2.js")).departmentDomain,deposit:async()=>(await import("./deposit-FOATHWXV.js")).depositDomain,estimate:async()=>(await import("./estimate-6UWI7SKV.js")).
|
|
5
|
-
estimateDomain,inquiry:async()=>(await import("./inquiry-3VBBJT2K.js")).inquiryDomain,invoice:async()=>(await import("./invoice-FOZJR42A.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-IIRFPZNV.js")).jobTitleDomain,leave:async()=>(await import("./leave-LQAXN6F4.js")).leaveDomain,media:async()=>(await import("./media-VK6AUGZY.js")).mediaDomain,meeting:async()=>(await import("./knowledge-6SXUV46K.js")).meetingDomain,note:async()=>(await import("./knowledge-6SXUV46K.js")).
|
|
6
|
-
noteDomain,notification:async()=>(await import("./notification-NTU3JCR2.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-XAFONTRT.js")).onedriveDomain,outlook:async()=>(await import("./outlook-PQ4OCB5Z.js")).outlookDomain,payee:async()=>(await import("./sales-master-C4EYXIKP.js")).payeeDomain,position:async()=>(await import("./position-WGLV3JZ6.js")).positionDomain,project:async()=>(await import("./project-REBUFMPX.js")).projectDomain,prospect:async()=>(await import("./prospect-DJAJNTRQ.js")).
|
|
7
|
-
prospectDomain,purchase:async()=>(await import("./purchase-7RVUWXMS.js")).purchaseDomain,receivable:async()=>(await import("./receivable-SHRWUYJW.js")).receivableDomain,report:async()=>(await import("./report-SUTO7E7Z.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-YK447QBC.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-C4EYXIKP.js")).sealImpressionDomain,shift:async()=>(await import("./attendance-lists-NVRU2NLY.js")).shiftDomain,
|
|
8
|
-
storage:async()=>(await import("./storage-KLLBENBY.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-MLLTGVCO.js")).supplierPaymentDomain,task:async()=>(await import("./task-7SKWCZWV.js")).taskDomain,teams:async()=>(await import("./teams-RDBKQJMM.js")).teamsDomain,user:async()=>(await import("./user-FPXO3IHG.js")).userDomain,wiki:async()=>(await import("./knowledge-6SXUV46K.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-NVRU2NLY.js")).
|
|
9
|
-
workchangeDomain,workflow:async()=>(await import("./workflow-FU2EBVBW.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{cursorFlag,graphData,graphListFlags,graphPaging,graphPagingHelp,graphPagingNotes,graphValue,ms365Forbidden,str,topFlag}from"./chunk-QICH2OOI.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-3HH5IYNO.js";import"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{UsageError}from"./chunk-UFND7FBC.js";import"./chunk-VSJBJXZO.js";var MY_DRIVE="me";var ITEM_COLUMNS=["id","name","kind","size","childCount","lastModifiedDateTime","lastModifiedBy"];var ITEM_GET_COLUMNS=["id","name","kind","size","mimeType","childCount","driveId","parentId","createdDateTime","lastModifiedDateTime","lastModifiedBy","webUrl"];var DRIVE_FLAG={name:"--drive",summary:"\u30C9\u30E9\u30A4\u30D6ID\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E OneDrive\u3002\u30C1\u30E3\u30CD\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u306F twp teams channel folder \u306E driveId\uFF09",
|
|
4
|
-
takesValue:true,placeholder:"<ID>"};function itemRow(row){const source=isRecord(row)?row:{};const folder=isRecord(source["folder"])?source["folder"]:null;const file=isRecord(source["file"])?source["file"]:null;const parent=isRecord(source["parentReference"])?source["parentReference"]:{};const modifiedBy=isRecord(source["lastModifiedBy"])&&isRecord(source["lastModifiedBy"]["user"])?str(source["lastModifiedBy"]["user"]["displayName"]):null;return pick({...source,kind:folder!==null?"folder":file!==
|
|
5
|
-
null?"file":null,childCount:folder?.["childCount"]??null,mimeType:file?.["mimeType"]??null,driveId:parent["driveId"]??null,parentId:parent["id"]??null,lastModifiedBy:modifiedBy},ITEM_GET_COLUMNS)}function driveOf(input){const raw=input.flags.get("--drive");return raw===void 0?MY_DRIVE:assertMs365PathSegment(raw.trim(),"\u30C9\u30E9\u30A4\u30D6ID")}function driveNotes(input){return input.flags.has("--drive")?[]:["--drive \u3092\u7701\u7565\u3057\u305F\u305F\u3081\u3001\u81EA\u5206\u306E OneDrive \u3092\u5BFE\u8C61\u306B\u3057\u307E\u3057\u305F\u3002"]}
|
|
6
|
-
var itemResource={name:"item",summary:"\u30C9\u30E9\u30A4\u30D6\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u30D5\u30A9\u30EB\u30C0\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\uFF09",operations:[{name:"list",summary:"\u30D5\u30A9\u30EB\u30C0\u306E\u4E2D\u8EAB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E OneDrive \u306E\u6700\u4E0A\u4F4D\uFF09",usage:"twp onedrive item list [<\u30D5\u30A9\u30EB\u30C0ID>] [--drive <ID>] [--limit <\u4EF6\u6570>] [--all]",
|
|
7
|
-
description:"\u30D5\u30A9\u30EB\u30C0ID \u3092\u7701\u304F\u3068\u30C9\u30E9\u30A4\u30D6\u306E\u6700\u4E0A\u4F4D\uFF08root\uFF09\u3092\u4E00\u89A7\u3057\u307E\u3059\u3002kind \u304C folder \u306E\u884C\u306E id \u3092\u6E21\u3059\u3068\u3001\n\u305D\u306E\u30D5\u30A9\u30EB\u30C0\u306E\u4E2D\u3092\u4E00\u89A7\u3067\u304D\u307E\u3059\u3002\n\n"+graphPagingHelp(null),flags:[{name:"--folder",summary:"\u30D5\u30A9\u30EB\u30C0ID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\u30FB\u65E2\u5B9A root\uFF09",
|
|
8
|
-
takesValue:true,placeholder:"<ID>"},DRIVE_FLAG,...graphListFlags({limit:true})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u30D5\u30A1\u30A4\u30EB\u4E00\u89A7",kind:"skiptoken"}),async prepare(input){if(input.flags.has("--folder")&&(input.flags.get("--folder")??"").trim()===""){throw new UsageError("--folder \u306B\u7A7A\u306E\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093","twp onedrive item list help")}const folder=singleRef(input,{flag:"--folder",label:"\u30D5\u30A9\u30EB\u30C0ID",
|
|
9
|
-
usage:"twp onedrive item list help",required:false})??"root";return withResolved(input,{driveId:driveOf(input),folderId:assertMs365PathSegment(folder,"\u30D5\u30A9\u30EB\u30C0ID")})},plan(input){const drive=ms365Segment(requireResolved(input,"driveId"),"\u30C9\u30E9\u30A4\u30D6ID");const folder=ms365Segment(requireResolved(input,"folderId"),"\u30D5\u30A9\u30EB\u30C0ID");return{method:"GET",path:ms365Path(`/drives/${drive}/items/${folder}/children`),query:{top:topFlag(input,null),skiptoken:cursorFlag(
|
|
10
|
-
input,"skiptoken")}}},plannedNotes:driveNotes,summarize:body=>graphValue(body,"\u30D5\u30A1\u30A4\u30EB\u4E00\u89A7").map(row=>pick(itemRow(row),ITEM_COLUMNS)),raw:body=>graphValue(body,"\u30D5\u30A1\u30A4\u30EB\u4E00\u89A7"),notes:body=>graphPagingNotes(body,"\u30D5\u30A1\u30A4\u30EB\u4E00\u89A7")},{name:"get",summary:"\u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30EB\u30C01\u4EF6\u306E\u60C5\u5831\u3092\u8868\u793A\u3059\u308B",usage:"twp onedrive item get <\u9805\u76EEID> [--drive <ID>]",description:"\
|
|
11
|
-
\u9805\u76EEID \u306F twp onedrive item list \u306E id \u3067\u3059\u3002webUrl \u306F\u30D6\u30E9\u30A6\u30B6\u3067\u958B\u304F\u3068\u304D\u306E URL \u3067\u3059\u3002",flags:[{name:"--item",summary:"\u9805\u76EEID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"},DRIVE_FLAG],forbidden:ms365Forbidden,async prepare(input){const item=singleRef(input,{flag:"--item",label:"\u9805\u76EEID",usage:"twp onedrive item get help"});return withResolved(
|
|
12
|
-
input,{driveId:driveOf(input),itemId:assertMs365PathSegment(item,"\u9805\u76EEID")})},plan(input){const drive=ms365Segment(requireResolved(input,"driveId"),"\u30C9\u30E9\u30A4\u30D6ID");return{method:"GET",path:ms365Path(`/drives/${drive}/items/${ms365Segment(requireResolved(input,"itemId"),"\u9805\u76EEID")}`)}},plannedNotes:driveNotes,summarize:body=>itemRow(graphData(body,"\u30D5\u30A1\u30A4\u30EB\u60C5\u5831")),raw:body=>graphData(body,"\u30D5\u30A1\u30A4\u30EB\u60C5\u5831")},{name:"download",
|
|
13
|
-
summary:"\u30D5\u30A1\u30A4\u30EB\u3092 --out \u3078\u66F8\u304D\u51FA\u3059",usage:"twp onedrive item download <\u9805\u76EEID> --out <\u30D1\u30B9> [--force] [--drive <ID>]",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u5B9F\u4F53\u3092 --out \u306E\u30D1\u30B9\u3078\u305D\u306E\u307E\u307E\u66F8\u304D\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\n\u6A19\u6E96\u51FA\u529B\u306B\u51FA\u308B\u306E\u306F\u66F8\u3044\u305F\u5834\u6240\u30FB\u30D0\u30A4\u30C8\u6570\u30FBContent-Type \u3060\u3051\u3067\u3001--output json \u3067\u305D\u306E\u307E\u307E\u8AAD\u3081\u307E\u3059\u3002\n\n\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u30C9\u30E9\u30A4\u30D6\u4E0A\u306E\u540D\u524D\u304B\u3089\u30D1\u30B9\u3092\u7D44\u307F\u7ACB\u3066\u307E\u305B\u3093\uFF09\u3002\n\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF08--force \u3092\u4ED8\u3051\u305F\u3068\u304D\u3060\u3051\u4E0A\u66F8\u304D\u3057\u307E\u3059\uFF09\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u81EA\u52D5\u3067\u4F5C\u308A\u307E\u305B\u3093\u3002\u30D5\u30A9\u30EB\u30C0\u306F\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3002",
|
|
14
|
-
flags:[{name:"--item",summary:"\u9805\u76EEID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"},DRIVE_FLAG,{name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--force",summary:"\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",takesValue:false}],forbidden:ms365Forbidden,download:{outFlag:"--out",forceFlag:"\
|
|
15
|
-
--force"},async prepare(input){const item=singleRef(input,{flag:"--item",label:"\u9805\u76EEID",usage:"twp onedrive item download help"});return withResolved(input,{driveId:driveOf(input),itemId:assertMs365PathSegment(item,"\u9805\u76EEID")})},plan(input){const drive=ms365Segment(requireResolved(input,"driveId"),"\u30C9\u30E9\u30A4\u30D6ID");const item=ms365Segment(requireResolved(input,"itemId"),"\u9805\u76EEID");return{method:"GET",path:ms365Path(`/drives/${drive}/items/${item}/content`)}},plannedNotes:driveNotes,
|
|
16
|
-
summarize:body=>body,raw:body=>body}]};var onedriveDomain={name:"onedrive",summary:"Microsoft 365 \u306E OneDrive / SharePoint \u306E\u30D5\u30A1\u30A4\u30EB",operations:[],subresources:[itemResource]};export{onedriveDomain};
|
package/dist/outlook-PQ4OCB5Z.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{cursorFlag,dateTimeText,emailText,graphData,graphListFlags,graphPaging,graphPagingHelp,graphPagingNotes,graphValue,ms365Forbidden,plainText,recipientsText,str,topFlag}from"./chunk-QICH2OOI.js";import{readBody}from"./chunk-ORUDW52G.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-QQRJLH6B.js";import{nonEmpty}from"./chunk-IOGMOXYF.js";
|
|
4
|
-
import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var BODY_MAX_CHARS=1e5;var ATTACH_TOTAL_MAX_BYTES=3*1024*1024;var ADDRESS=/^[^\s@,;<>"]+@[^\s@,;<>"]+$/;var INVISIBLE=/[\p{Cc}\p{Cf}]/u;function oneLine(value){return value.replace(/[\r\n\t]+/g," ").replace(/[\p{Cc}\p{Cf}]/gu,"")}var TO_FLAG={name:"--to",summary:"\u5B9B\u5148\u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u5FC5\u9808\u3002\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var CC_FLAG={name:"--c\
|
|
5
|
-
c",summary:"Cc \u306E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\uFF08\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\uFF09",takesValue:true,placeholder:"<\u30A2\u30C9\u30EC\u30B9>",repeatable:true};var BODY_FILE_FLAG={name:"--body-file",summary:"\u672C\u6587\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9|->"};var BODY_FLAG={name:"--body",summary:"\u672C\u6587\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u4E00\u884C\u5411\u3051\u3002--body-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",
|
|
6
|
-
takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var HTML_FLAG={name:"--html",summary:"\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u9001\u308B\uFF08\u65E2\u5B9A\u306F\u30C6\u30AD\u30B9\u30C8\uFF09",takesValue:false};var MESSAGE_FLAG={name:"--message",summary:"\u5143\u306E\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"};var EXTERNAL_SEND_HELP="\u26A0 \u5916\u90E8\u3078\u51FA\u308B\u64CD\u4F5C\u3067\u3059\u3002\u5B9F\u884C\u3057\u305F\u77AC\u9593\u306B\u76F8\u624B\u306E\u53D7\u4FE1\u7BB1\u3078\u5C4A\u304D\u3001\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\n --yes \u304C\u7121\u3051\u308C\u3070\u5B9F\u884C\u3057\u307E\u305B\u3093\u3002--dry-run \u3067\u9001\u308B\u5185\u5BB9\uFF08\u5B9B\u5148\u30FB\u4EF6\
|
|
7
|
-
\u540D\u30FB\u672C\u6587\u30FB\u6DFB\u4ED8\u306E\u540D\u524D\u3068\u5927\u304D\u3055\uFF09\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\n --yes \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08--dry-run \u306F --yes \u3092\u8981\u308A\u307E\u305B\u3093\uFF09\u3002\n\u26A0 \u7D42\u4E86\u30B3\u30FC\u30C9 4\uFF08\u901A\u4FE1\u306E\u5931\u6557\u30FB\u30B5\u30FC\u30D0\u306E\u4E00\u6642\u30A8\u30E9\u30FC\uFF09\u3067\u3082\u3001Microsoft 365 \u5074\u3067\u306F\u9001\u4FE1\u6E08\u307F\u306E\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n \u6253\u3061\u76F4\u3059\u524D\u306B twp outlook mail list --folder sentitems \u3067\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
8
|
-
var BODY_HELP="\u672C\u6587\u306F --body-file <\u30D1\u30B9>\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u304B --body <\u6587\u5B57\u5217> \u3067\u6E21\u3057\u307E\u3059\u3002\u6539\u884C\u3084\u8A18\u53F7\u3092\u542B\u3080\u672C\u6587\u306F\n--body-file \u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\uFF08\u30B7\u30A7\u30EB\u306E\u5F15\u6570\u306B\u8F09\u305B\u308B\u3068\u58CA\u308C\u307E\u3059\uFF09\u3002";function addresses(input,flag){return repeatedValues(input,flag).map(raw=>{const value=raw.
|
|
9
|
-
trim();if(!ADDRESS.test(value)||INVISIBLE.test(value)){throw new UsageError(`${flag} \u306B\u306F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30921\u3064\u305A\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${raw}\uFF09`,`\u540D\u524D\u304B\u3089\u306F\u5B9B\u5148\u3092\u63A2\u3057\u307E\u305B\u3093\u3002\u8907\u6570\u306E\u5B9B\u5148\u306F ${flag} \u3092\u7E70\u308A\u8FD4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u4F8B: ${flag} a@example.com ${flag}\
|
|
10
|
-
b@example.com\uFF09\u3002`)}return value})}function recipients(list){return list.map(address=>({emailAddress:{address}}))}function textToHtml(text){return text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/\t/g," ").replace(/ {2,}/g,run=>` ${" ".repeat(run.length-1)}`).replace(/(^|\r\n|\r|\n) /g,"$1 ").replace(/\r\n|\r|\n/g,"<br>\n")}var CONTENT_TYPES={".pdf":"application/pdf",".csv":"text/csv",".txt":"text/plain",
|
|
11
|
-
".md":"text/markdown",".json":"application/json",".xml":"application/xml",".html":"text/html",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".zip":"application/zip",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".xls":"application/vnd.ms-excel",".d\
|
|
12
|
-
oc":"application/msword",".ppt":"application/vnd.ms-powerpoint"};function readAttachments(input){const files=repeatedValues(input,"--attach");const opened=[];try{let total=0;for(const file of files){let fd;try{fd=fs.openSync(file,"r")}catch(err){const reason=err.code??err.message;throw new UsageError(`--attach \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${reason}\uFF09`)}const stat=fs.fstatSync(fd);opened.push({file,fd,size:stat.size});if(!stat.isFile())throw new UsageError(
|
|
13
|
-
`--attach \u306B\u901A\u5E38\u306E\u30D5\u30A1\u30A4\u30EB\u4EE5\u5916\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${file}`);total+=stat.size}if(total>ATTACH_TOTAL_MAX_BYTES)throw tooLarge(total);let read=0;const attachments=opened.map(({file,fd})=>{const bytes=fs.readFileSync(fd);read+=bytes.byteLength;const name=path.basename(file);const contentType=CONTENT_TYPES[path.extname(name).toLowerCase()];return{name,path:path.resolve(file),bytes:bytes.byteLength,contentBytes:bytes.toString("base6\
|
|
14
|
-
4"),...contentType===void 0?{}:{contentType}}});if(read>ATTACH_TOTAL_MAX_BYTES)throw tooLarge(read);return attachments}finally{for(const{fd}of opened)fs.closeSync(fd)}}function tooLarge(total){return new UsageError(`\u6DFB\u4ED8\u306E\u5408\u8A08\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${total} \u30D0\u30A4\u30C8\u30FB\u4E0A\u9650 ${ATTACH_TOTAL_MAX_BYTES} \u30D0\u30A4\u30C8\uFF09`,"Microsoft 365 \u306F\u30E1\u30FC\u30EB\u306B\u76F4\u63A5\u8F09\u305B\u308B\u6DFB\u4ED8\u3092 3MB \u672A\u6E80\u307E\u3067\u3068\u3057\u3066\u3044\u307E\u3059\u3002\u5927\u304D\u3044\u30D5\u30A1\u30A4\u30EB\u306F OneDrive \u306B\u7F6E\u3044\u3066\u5171\u6709\u30EA\u30F3\u30AF\u3092\u672C\u6587\u306B\u66F8\u3044\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
15
|
-
function assertSent(body,label){if(!isRecord(body)||body["result"]!==true){throw new ApiResponseError(`${label}\u306E\u5FDC\u7B54\u304C\u60F3\u5B9A\u306E\u5F62\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08result \u304C true \u3067\u306F\u306A\u3044\uFF09\u3002\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return body}function sentSummary(body,label){assertSent(body,label);return{sent:true}}function resolvedJson(input,key){return JSON.
|
|
16
|
-
parse(requireResolved(input,key))}function bodySummary(text,html){if(text===void 0)return"\u672C\u6587: \u306A\u3057";return`\u672C\u6587: ${html?"HTML":"\u30C6\u30AD\u30B9\u30C8"} ${[...text].length} \u6587\u5B57`}function messageId(input,op){return assertMs365PathSegment(singleRef(input,{flag:"--message",label:"\u5143\u306E\u30E1\u30FC\u30EBID",usage:`twp outlook mail ${op} help`}),"\u5143\u306E\u30E1\u30FC\u30EBID")}function replyAudience(message,all){const replyTo=recipientsText(message["rep\
|
|
17
|
-
lyTo"]);const from=replyTo??emailText(message["from"])??"\uFF08\u5DEE\u51FA\u4EBA\u3092\u8AAD\u3081\u307E\u305B\u3093\uFF09";if(!all)return oneLine(`To ${from}`);const to=recipientsText(message["toRecipients"]);const cc=recipientsText(message["ccRecipients"]);return oneLine([`To ${from}${to===null?"":`\u3001${to}`}`,cc===null?null:`Cc ${cc}`].filter(v=>v!==null).join(" / ")+"\uFF08\u81EA\u5206\u81EA\u8EAB\u306F Microsoft 365 \u304C\u9664\u304D\u307E\u3059\uFF09")}var send={name:"send",summary:"\u30E1\
|
|
18
|
-
\u30FC\u30EB\u3092\u65B0\u3057\u304F\u9001\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09",usage:"twp outlook mail send --to <\u30A2\u30C9\u30EC\u30B9> [--to \u2026] [--cc <\u30A2\u30C9\u30EC\u30B9> \u2026] --subject <\u4EF6\u540D> (--body-file <\u30D1\u30B9> | --body <\u6587\u5B57\u5217>) [--html] [--attach <\u30D1\u30B9> \u2026] --yes",description:`${EXTERNAL_SEND_HELP}
|
|
19
|
-
|
|
20
|
-
\u5B9B\u5148\u306F --to / --cc \u306B\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF08\u540D\u524D\u304B\u3089\u306F\u63A2\u3057\u307E\u305B\u3093\uFF09\u3002\u8907\u6570\u306A\u3089\u30D5\u30E9\u30B0\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\u3002
|
|
21
|
-
Bcc \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08Microsoft 365 \u306E\u4E2D\u7D99\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u305F\u3081\uFF09\u3002
|
|
22
|
-
|
|
23
|
-
${BODY_HELP}
|
|
24
|
-
\u672C\u6587\u306F\u65E2\u5B9A\u3067\u30C6\u30AD\u30B9\u30C8\u3068\u3057\u3066\u9001\u308A\u307E\u3059\uFF08\u9014\u4E2D\u306E\u6539\u884C\u306F\u6B8B\u308A\u307E\u3059\u3002\u5148\u982D\u3068\u672B\u5C3E\u306E\u7A7A\u767D\u30FB\u6539\u884C\u306F\u30B5\u30FC\u30D0\u5074\u3067\u843D\u3061\u307E\u3059\uFF09\u3002
|
|
25
|
-
--html \u3092\u4ED8\u3051\u308B\u3068 HTML \u3068\u3057\u3066\u9001\u308A\u307E\u3059\u3002
|
|
26
|
-
|
|
27
|
-
--attach <\u30D1\u30B9> \u3067\u30D5\u30A1\u30A4\u30EB\u3092\u6DFB\u4ED8\u3067\u304D\u307E\u3059\uFF08\u7E70\u308A\u8FD4\u3057\u3066\u8907\u6570\uFF09\u3002\u5408\u8A08\u306F 3MB\uFF083,145,728 \u30D0\u30A4\u30C8\uFF09\u307E\u3067\u3067\u3059
|
|
28
|
-
\uFF08Microsoft 365 \u304C\u30E1\u30FC\u30EB\u306B\u76F4\u63A5\u8F09\u305B\u3089\u308C\u308B\u4E0A\u9650\uFF09\u3002\u76F8\u624B\u306B\u898B\u3048\u308B\u30D5\u30A1\u30A4\u30EB\u540D\u306F\u30D1\u30B9\u306E\u672B\u5C3E\u3060\u3051\u3067\u3059\u3002
|
|
29
|
-
--dry-run \u3067\u306F\u6DFB\u4ED8\u306E\u4E2D\u8EAB\u3092\u51FA\u3055\u305A\u3001\u540D\u524D\u3068\u5927\u304D\u3055\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\u3002
|
|
30
|
-
|
|
31
|
-
\u9001\u3063\u305F\u30E1\u30FC\u30EB\u306F\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\u306B\u6B8B\u308A\u307E\u3059\uFF08twp outlook mail list --folder sentitems\uFF09\u3002`,destructive:true,confirmation:"\u5916\u90E8\u3078\u30E1\u30FC\u30EB\u3092\u9001\u308B\u64CD\u4F5C\uFF08\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09",flags:[TO_FLAG,CC_FLAG,{name:"--subject",summary:"\u4EF6\u540D\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u4EF6\u540D>"},BODY_FILE_FLAG,BODY_FLAG,HTML_FLAG,
|
|
32
|
-
{name:"--attach",summary:"\u6DFB\u4ED8\u3059\u308B\u30D5\u30A1\u30A4\u30EB\uFF08\u8907\u6570\u306A\u3089\u7E70\u308A\u8FD4\u3059\u30FB\u5408\u8A08 3MB \u307E\u3067\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>",repeatable:true}],forbidden:ms365Forbidden,async prepare(input){const usage="twp outlook mail send help";if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093: ${input.args.join(" ")}`,usage);const to=addresses(input,"--\
|
|
33
|
-
to");if(to.length===0)throw new UsageError("\u5B9B\u5148\uFF08--to\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const cc=addresses(input,"--cc");const subject=input.flags.get("--subject");if(subject===void 0||subject.trim()==="")throw new UsageError("\u4EF6\u540D\uFF08--subject\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const attachments=readAttachments(input);const body=await readBody(input,{flag:"--body",fileFlag:"--body-file",label:"\u30E1\u30FC\u30EB\u672C\u6587",
|
|
34
|
-
maxChars:BODY_MAX_CHARS,usage});if(body===void 0)throw new UsageError("\u672C\u6587\uFF08--body-file \u304B --body\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);return withResolved(input,{to:JSON.stringify(to),cc:JSON.stringify(cc),subject,body,attachments:JSON.stringify(attachments)})},plan(input){const to=resolvedJson(input,"to");const cc=resolvedJson(input,"cc");const attachments=resolvedJson(input,"attachments");const base={subject:requireResolved(input,"subject"),body:{
|
|
35
|
-
contentType:input.flags.has("--html")?"HTML":"Text",content:requireResolved(input,"body")},toRecipients:recipients(to),...cc.length>0?{ccRecipients:recipients(cc)}:{}};if(attachments.length===0)return{method:"POST",path:ms365Path("/outlook/sendMail"),body:base};const file=(a,contentBytes)=>({"@odata.type":"#microsoft.graph.fileAttachment",name:a.name,...a.contentType===void 0?{}:{contentType:a.contentType},contentBytes});return{method:"POST",path:ms365Path("/outlook/sendMail"),body:new JsonBodyWithView(
|
|
36
|
-
{...base,attachments:attachments.map(a=>file(a,a.contentBytes))},{...base,attachments:attachments.map(a=>file(a,`\uFF08base64\u30FB\u5143 ${a.bytes} \u30D0\u30A4\u30C8\u30FB\u8868\u793A\u3057\u306A\u3044\uFF09`))})}},plannedNotes(input){const to=resolvedJson(input,"to");const cc=resolvedJson(input,"cc");const attachments=resolvedJson(input,"attachments");return[`\u9001\u4FE1\u5185\u5BB9: To ${to.join("\u3001")}${cc.length>0?` / Cc ${cc.join("\u3001")}`:""} / \u4EF6\u540D\u300C${requireResolved(input,
|
|
37
|
-
"subject")}\u300D / ${bodySummary(requireResolved(input,"body"),input.flags.has("--html"))} / \u6DFB\u4ED8: ${attachments.length===0?"\u306A\u3057":attachments.map(a=>`${a.name}\uFF08${a.bytes} \u30D0\u30A4\u30C8\u30FB${a.path}\uFF09`).join("\u3001")}`]},summarize:body=>sentSummary(body,"\u30E1\u30FC\u30EB\u9001\u4FE1"),raw:body=>assertSent(body,"\u30E1\u30FC\u30EB\u9001\u4FE1"),notes:()=>["\u9001\u4FE1\u3057\u307E\u3057\u305F\u3002\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\uFF08twp outlook mail list --folder sentitems\uFF09\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002"]};
|
|
38
|
-
function replyOperation(all){const op=all?"reply-all":"reply";const endpoint=all?"replyAll":"reply";const label=all?"\u5168\u54E1\u8FD4\u4FE1":"\u8FD4\u4FE1";return{name:op,summary:all?"\u30E1\u30FC\u30EB\u306B\u5168\u54E1\u8FD4\u4FE1\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09":"\u30E1\u30FC\u30EB\u306E\u5DEE\u51FA\u4EBA\u306B\u8FD4\u4FE1\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09",usage:`twp outlook mail ${op} <\u30E1\u30FC\u30EBID> (--body-file <\u30D1\u30B9> | --body <\u6587\u5B57\u5217>) [--html] --yes`,
|
|
39
|
-
description:`${EXTERNAL_SEND_HELP}
|
|
40
|
-
|
|
41
|
-
`+(all?"\u5143\u306E\u30E1\u30FC\u30EB\u306E\u5DEE\u51FA\u4EBA\u3068\u3001To\u30FBCc \u306E\u5168\u54E1\u306B\u8FD4\u4FE1\u3057\u307E\u3059\uFF08\u81EA\u5206\u81EA\u8EAB\u306F Microsoft 365 \u304C\u9664\u304D\u307E\u3059\uFF09\u3002\n":"\u5143\u306E\u30E1\u30FC\u30EB\u306E\u5DEE\u51FA\u4EBA\uFF08\u8FD4\u4FE1\u5148\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308C\u3070\u305D\u306E\u76F8\u624B\uFF09\u306B\u8FD4\u4FE1\u3057\u307E\u3059\u3002\n")+`\u5B9B\u5148\u306F Microsoft 365 \u304C\u5143\u306E\u30E1\u30FC\u30EB\u304B\u3089\u6C7A\u3081\u307E\u3059\u3002\u9001\u308B\u524D\u306B\u5143\u306E\u30E1\u30FC\u30EB\u3092\u8AAD\u307F\u3001\u5C4A\u304F\u76F8\u624B\u306E\u76EE\u5B89\u3092\u8868\
|
|
42
|
-
\u793A\u3057\u307E\u3059
|
|
43
|
-
\uFF08--dry-run \u3067\u3082\u8868\u793A\u3057\u307E\u3059\uFF09\u3002\u5B9B\u5148\u30FBCc \u3092\u8DB3\u3059\u3053\u3068\u3001\u6DFB\u4ED8\u3092\u4ED8\u3051\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002
|
|
44
|
-
\u30E1\u30FC\u30EBID \u306F twp outlook mail list \u306E id \u3067\u3059\u3002
|
|
45
|
-
|
|
46
|
-
${BODY_HELP}
|
|
47
|
-
\u672C\u6587\u306F\u5143\u306E\u30E1\u30FC\u30EB\u306E\u4E0A\u306B\u5DEE\u3057\u8FBC\u307E\u308C\u307E\u3059\u3002Microsoft 365 \u306F\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u8AAD\u3080\u306E\u3067\u3001\u65E2\u5B9A\uFF08\u30C6\u30AD\u30B9\u30C8\uFF09\u3067\u306F
|
|
48
|
-
\u6539\u884C\u3068\u8A18\u53F7\u304C\u898B\u305F\u3068\u304A\u308A\u306B\u5C4A\u304F\u3088\u3046 HTML \u306B\u76F4\u3057\u3066\u9001\u308A\u307E\u3059\uFF08--dry-run \u306E body \u306B\u5909\u63DB\u5F8C\u306E\u5024\u304C\u51FA\u307E\u3059\uFF09\u3002
|
|
49
|
-
--html \u3092\u4ED8\u3051\u308B\u3068\u3001\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u305D\u306E\u307E\u307E\u9001\u308A\u307E\u3059\u3002`,destructive:true,confirmation:"\u5916\u90E8\u3078\u30E1\u30FC\u30EB\u3092\u9001\u308B\u64CD\u4F5C\uFF08\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09",flags:[MESSAGE_FLAG,BODY_FILE_FLAG,BODY_FLAG,HTML_FLAG],forbidden:ms365Forbidden,async prepare(input,ctx){const usage=`twp outlook mail ${op} help`;const id=messageId(input,op);const body=await readBody(input,
|
|
50
|
-
{flag:"--body",fileFlag:"--body-file",label:`${label}\u306E\u672C\u6587`,maxChars:BODY_MAX_CHARS,usage});if(body===void 0)throw new UsageError("\u672C\u6587\uFF08--body-file \u304B --body\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const original=await ctx.resolver.ms365Message(id);return withResolved(input,{messageId:id,body,audience:replyAudience(original,all),subject:oneLine(str(original["subject"])??"\uFF08\u4EF6\u540D\u306A\u3057\uFF09")})},plan(input){const body=requireResolved(
|
|
51
|
-
input,"body");const id=ms365Segment(requireResolved(input,"messageId"),"\u5143\u306E\u30E1\u30FC\u30EBID");return{method:"POST",path:ms365Path(`/outlook/messages/${id}/${endpoint}`),body:{comment:input.flags.has("--html")?body:textToHtml(body)}}},plannedNotes:input=>[`${label}\u306E\u5185\u5BB9: \u5143\u306E\u30E1\u30FC\u30EB\u300C${requireResolved(input,"subject")}\u300D / \u5C4A\u304F\u76F8\u624B\u306E\u76EE\u5B89\uFF08\u5143\u306E\u30E1\u30FC\u30EB\u304B\u3089 Microsoft 365 \u304C\u6C7A\u3081\u307E\u3059\uFF09: ${requireResolved(
|
|
52
|
-
input,"audience")} / ${bodySummary(requireResolved(input,"body"),input.flags.has("--html"))}`],summarize:body=>sentSummary(body,label),raw:body=>assertSent(body,label),notes:()=>[`${label}\u3057\u307E\u3057\u305F\u3002\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\uFF08twp outlook mail list --folder sentitems\uFF09\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`]}}var forward={name:"forward",summary:"\u30E1\u30FC\u30EB\u3092\u8EE2\u9001\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09",usage:"\
|
|
53
|
-
twp outlook mail forward <\u30E1\u30FC\u30EBID> --to <\u30A2\u30C9\u30EC\u30B9> [--to \u2026] [--body-file <\u30D1\u30B9> | --body <\u6587\u5B57\u5217>] [--html] --yes",description:`${EXTERNAL_SEND_HELP}
|
|
54
|
-
|
|
55
|
-
\u5143\u306E\u30E1\u30FC\u30EB\u3092\u3001\u6DFB\u4ED8\u3082\u542B\u3081\u3066 --to \u306E\u76F8\u624B\u3078\u8EE2\u9001\u3057\u307E\u3059\u3002\u5B9B\u5148\u306F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u6307\u5B9A\u3057\u307E\u3059\uFF08\u540D\u524D\u304B\u3089\u306F\u63A2\u3057\u307E\u305B\u3093\uFF09\u3002
|
|
56
|
-
\u8907\u6570\u306A\u3089\u30D5\u30E9\u30B0\u3092\u7E70\u308A\u8FD4\u3057\u307E\u3059\u3002Cc\u30FBBcc \u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08Microsoft 365 \u306E\u4E2D\u7D99\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u305F\u3081\uFF09\u3002
|
|
57
|
-
\u30E1\u30FC\u30EBID \u306F twp outlook mail list \u306E id \u3067\u3059\u3002
|
|
58
|
-
|
|
59
|
-
\u672C\u6587\uFF08\u6DFB\u3048\u66F8\u304D\uFF09\u306F\u4EFB\u610F\u3067\u3059\u3002${BODY_HELP}
|
|
60
|
-
\u672C\u6587\u306F\u5143\u306E\u30E1\u30FC\u30EB\u306E\u4E0A\u306B\u5DEE\u3057\u8FBC\u307E\u308C\u307E\u3059\u3002Microsoft 365 \u306F\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u8AAD\u3080\u306E\u3067\u3001\u65E2\u5B9A\uFF08\u30C6\u30AD\u30B9\u30C8\uFF09\u3067\u306F
|
|
61
|
-
\u6539\u884C\u3068\u8A18\u53F7\u304C\u898B\u305F\u3068\u304A\u308A\u306B\u5C4A\u304F\u3088\u3046 HTML \u306B\u76F4\u3057\u3066\u9001\u308A\u307E\u3059\u3002--html \u3092\u4ED8\u3051\u308B\u3068\u3001\u672C\u6587\u3092 HTML \u3068\u3057\u3066\u305D\u306E\u307E\u307E\u9001\u308A\u307E\u3059\u3002`,destructive:true,confirmation:"\u5916\u90E8\u3078\u30E1\u30FC\u30EB\u3092\u9001\u308B\u64CD\u4F5C\uFF08\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\uFF09",flags:[MESSAGE_FLAG,TO_FLAG,BODY_FILE_FLAG,BODY_FLAG,
|
|
62
|
-
HTML_FLAG],forbidden:ms365Forbidden,async prepare(input){const usage="twp outlook mail forward help";const id=messageId(input,"forward");const to=addresses(input,"--to");if(to.length===0)throw new UsageError("\u8EE2\u9001\u5148\uFF08--to\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(input.flags.has("--html")&&!input.flags.has("--body")&&!input.flags.has("--body-file")){throw new UsageError("--html \u306F\u672C\u6587\uFF08--body-file \u304B --body\uFF09\u3068\u4E00\u7DD2\u306B\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
63
|
-
usage)}const body=await readBody(input,{flag:"--body",fileFlag:"--body-file",label:"\u8EE2\u9001\u306E\u672C\u6587",maxChars:BODY_MAX_CHARS,usage});return withResolved(input,{messageId:id,to:JSON.stringify(to),...body===void 0?{}:{body}})},plan(input){const id=ms365Segment(requireResolved(input,"messageId"),"\u5143\u306E\u30E1\u30FC\u30EBID");const body=input.resolved?.["body"];return{method:"POST",path:ms365Path(`/outlook/messages/${id}/forward`),body:{...body===void 0?{}:{comment:input.flags.has(
|
|
64
|
-
"--html")?body:textToHtml(body)},toRecipients:recipients(resolvedJson(input,"to"))}}},plannedNotes:input=>[`\u8EE2\u9001\u306E\u5185\u5BB9: To ${resolvedJson(input,"to").join("\u3001")} / ${bodySummary(input.resolved?.["body"],input.flags.has("--html"))}\uFF08\u5143\u306E\u30E1\u30FC\u30EB\u3068\u6DFB\u4ED8\u306F\u305D\u306E\u307E\u307E\u4ED8\u304D\u307E\u3059\uFF09`],summarize:body=>sentSummary(body,"\u8EE2\u9001"),raw:body=>assertSent(body,"\u8EE2\u9001"),notes:()=>["\u8EE2\u9001\u3057\u307E\u3057\u305F\u3002\u9001\u4FE1\u6E08\u307F\u30A2\u30A4\u30C6\u30E0\uFF08twp outloo\
|
|
65
|
-
k mail list --folder sentitems\uFF09\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002"]};var mailSendOperations=[send,replyOperation(false),replyOperation(true),forward];var MAIL_TOP_MAX=1e3;var FOLDER=/^[A-Za-z0-9_=-]+$/;var DATE=/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/;var MAIL_LIST_COLUMNS=["id","receivedDateTime","from","subject","isRead","hasAttachments","importance"];var MAIL_GET_COLUMNS=["id","receivedDateTime","from","to","cc","subject","importance","isRead","hasAttachments","webLink","body"];var ATTACHMENT_COLUMNS=["id","name","type","contentType","size","isInline"];function attachmentRow(row){const source=isRecord(row)?row:{};const odataType=str(source["@o\
|
|
66
|
-
data.type"]);return pick({...source,type:odataType===null?null:odataType.replace(/^#microsoft\.graph\./,"")},ATTACHMENT_COLUMNS)}var EVENT_LIST_COLUMNS=["id","subject","start","end","isAllDay","location","organizer"];var EVENT_GET_COLUMNS=["id","subject","start","end","isAllDay","location","organizer","attendees","isOnlineMeeting","onlineMeetingUrl","webLink","body"];function mailRow(row){const source=isRecord(row)?row:{};return pick({...source,from:emailText(source["from"]),to:recipientsText(source["\
|
|
67
|
-
toRecipients"]),cc:recipientsText(source["ccRecipients"]),body:plainText(source["body"])},MAIL_GET_COLUMNS)}function eventRow(row){const source=isRecord(row)?row:{};const location=isRecord(source["location"])?str(source["location"]["displayName"]):null;const attendees=Array.isArray(source["attendees"])?source["attendees"].map(emailText).filter(v=>v!==null).join("\u3001")||null:null;const online=isRecord(source["onlineMeeting"])?str(source["onlineMeeting"]["joinUrl"]):null;return pick({...source,
|
|
68
|
-
start:dateTimeText(source["start"]),end:dateTimeText(source["end"]),location,organizer:emailText(source["organizer"]),attendees,onlineMeetingUrl:str(source["onlineMeetingUrl"])??online,body:plainText(source["body"])},EVENT_GET_COLUMNS)}function mailCursorKind(hasSearch){return hasSearch?"skiptoken":"skip"}function joinFilters(parts){const present=parts.filter(p=>p!==void 0);if(present.length===0)return void 0;if(present.length===1)return present[0];return present.map(p=>`(${p})`).join(" and ")}function jstDayStartUtc(raw,flag,addDays=0){
|
|
69
|
-
const m=DATE.exec(raw.trim());const[y,mo,d]=m===null?[NaN,NaN,NaN]:[Number(m[1]),Number(m[2]),Number(m[3])];const date=new Date(Date.UTC(y,mo-1,d+addDays,-9,0,0));const check=new Date(Date.UTC(y,mo-1,d));if(m===null||y<1970||Number.isNaN(date.getTime())||check.getUTCMonth()!==mo-1||check.getUTCDate()!==d){throw new UsageError(`${flag} \u306F yyyy-MM-dd \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${raw}\uFF09`)}return date.toISOString().
|
|
70
|
-
slice(0,19)}function messageAndAttachment(input,usage){const slots=[{flag:"--message",label:"\u30E1\u30FC\u30EBID"},{flag:"--attachment",label:"\u6DFB\u4ED8ID"}];const values=new Map;const open=[];for(const slot of slots){const fromFlag=input.flags.get(slot.flag);if(fromFlag===void 0){open.push(slot);continue}if(fromFlag.trim()==="")throw new UsageError(`${slot.flag} \u306B\u5024\u304C\u3042\u308A\u307E\u305B\u3093`,usage);values.set(slot.flag,fromFlag.trim())}const args=input.args.map(arg=>arg.
|
|
71
|
-
trim()).filter(arg=>arg!=="");if(args.length>open.length){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u304C\u591A\u3059\u304E\u307E\u3059: ${args.slice(open.length).join(" ")}`,usage)}if(args.length<open.length)throw new UsageError(`${open[args.length]?.label}\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);open.forEach((slot,index)=>values.set(slot.flag,args[index]));return{message:assertMs365PathSegment(values.get("--message"),"\u30E1\u30FC\u30EBID"),attachment:assertMs365PathSegment(
|
|
72
|
-
values.get("--attachment"),"\u6DFB\u4ED8ID")}}function oneId(input,flag,label,usage){return assertMs365PathSegment(singleRef(input,{flag,label,usage}),label)}var mailResource={name:"mail",summary:"\u30E1\u30FC\u30EB\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u9001\u4FE1\u30FB\u8FD4\u4FE1\u30FB\u8EE2\u9001\uFF09",operations:[{name:"list",summary:"\u30E1\u30FC\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u53D7\u4FE1\u30C8\u30EC\u30A4\uFF09",usage:"twp outlook mail list [--folder <\u540D\u524D|\
|
|
73
|
-
ID>] [--unread] [--search <\u8A9E>] [--filter <OData>] [--limit <\u4EF6\u6570>] [--all]",description:'\u65E2\u5B9A\u306F\u53D7\u4FE1\u30C8\u30EC\u30A4\uFF08inbox\uFF09\u3092\u65B0\u3057\u3044\u9806\u306B\u8FD4\u3057\u307E\u3059\u3002--folder \u306B\u306F sentitems / drafts / deleteditems /\narchive \u306E\u3088\u3046\u306A\u65E2\u77E5\u306E\u540D\u524D\u304B\u3001\u30D5\u30A9\u30EB\u30C0ID \u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\n--search \u306F\u4EF6\u540D\u30FB\u672C\u6587\u30FB\u5DEE\u51FA\u4EBA\u306A\u3069\u306E\u5168\u6587\u691C\u7D22\u3067\u3059\uFF08Microsoft 365 \u306E\u691C\u7D22\u69CB\u6587\uFF09\u3002--search \u306F --filter /\n--unread / --orderby \u3068\u4F75\u7528\u3067\u304D\u307E\u305B\u3093\uFF08Microsoft 365 \u5074\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u305F\u3081\u3001\u9001\u308B\u524D\u306B\u7D42\u4E86\u30B3\u30FC\u30C9 2 \u3067\u6B62\u3081\u307E\u3059\uFF09\u3002\n--filter / --orderby / --select \u306F Microsoft Graph \u306E OData \u69CB\u6587\u3092\u305D\u306E\u307E\u307E\u6E21\u3057\u307E\u3059\n\uFF08\u4F8B: --filter "receivedDateTime ge 2026-09-01T00:00:00Z"\uFF09\u3002\n\n\u8981\u7D04\u5217\u306E body \u306F\u8A73\
|
|
74
|
-
\u7D30\uFF08twp outlook mail get\uFF09\u306B\u3060\u3051\u51FA\u307E\u3059\u3002--output json \u306F Graph \u306E\u9805\u76EE\u3092\u3059\u3079\u3066\u51FA\u3057\u307E\u3059\u3002\n\n'+graphPagingHelp(MAIL_TOP_MAX),flags:[{name:"--folder",summary:"\u30E1\u30FC\u30EB\u30D5\u30A9\u30EB\u30C0\uFF08\u65E2\u5B9A inbox\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>"},{name:"--unread",summary:"\u672A\u8AAD\u3060\u3051\u306B\u3059\u308B",takesValue:false},{name:"--search",summary:"\u5168\u6587\u691C\u7D22\u306E\u8A9E",
|
|
75
|
-
takesValue:true,placeholder:"<\u8A9E>"},{name:"--filter",summary:"OData \u306E $filter\uFF08\u305D\u306E\u307E\u307E\u6E21\u3059\uFF09",takesValue:true,placeholder:"<\u5F0F>"},{name:"--orderby",summary:"OData \u306E $orderby\uFF08\u305D\u306E\u307E\u307E\u6E21\u3059\uFF09",takesValue:true,placeholder:"<\u5F0F>"},{name:"--select",summary:"OData \u306E $select\uFF08\u8FD4\u3059\u9805\u76EE\u3092\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\uFF09",takesValue:true,placeholder:"<\u9805\u76EE>"},...graphListFlags(
|
|
76
|
-
{limit:true})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u30E1\u30FC\u30EB\u4E00\u89A7",kind:"either",cursorParamFor:plan=>mailCursorKind(plan.query?.["search"]!==void 0)}),plan(input){const folder=nonEmpty(input.flags,"--folder")?.trim();if(folder!==void 0&&!FOLDER.test(folder)){throw new UsageError(`--folder \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${folder}`,"inbox / sentitems \u306E\u3088\u3046\u306A\u65E2\u77E5\u306E\u540D\u524D\u304B\u3001\u30D5\u30A9\u30EB\u30C0ID\uFF08\u82F1\u6570\u5B57\u3068 - _ =\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
77
|
-
const search=nonEmpty(input.flags,"--search");if(search!==void 0&&search.includes('"')){throw new UsageError(`--search \u306B " \u306F\u4F7F\u3048\u307E\u305B\u3093\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${search}\uFF09`,"\u8A9E\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u5F15\u7528\u7B26\u306F\u3053\u3061\u3089\u3067\u4ED8\u3051\u307E\u3059\uFF09\u3002")}if(search!==void 0){const clash=["--filter","--unread","--orderby"].filter(flag=>input.flags.has(flag));if(clash.
|
|
78
|
-
length>0){throw new UsageError(`--search \u306F ${clash.join(" / ")} \u3068\u4F75\u7528\u3067\u304D\u307E\u305B\u3093\uFF08Microsoft 365 \u304C\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\uFF09`,"--search \u3092\u5916\u3057\u3066 --filter \u3067\u7D5E\u308B\u304B\u3001--search \u3060\u3051\u3067\u691C\u7D22\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}}const kind=mailCursorKind(search!==void 0);return{method:"GET",path:ms365Path("/outlook/messages"),query:{top:topFlag(input,MAIL_TOP_MAX),folder,search,
|
|
79
|
-
filter:joinFilters([nonEmpty(input.flags,"--filter"),input.flags.has("--unread")?"isRead eq false":void 0]),orderby:nonEmpty(input.flags,"--orderby"),select:nonEmpty(input.flags,"--select"),[kind]:cursorFlag(input,kind)}}},summarize:body=>graphValue(body,"\u30E1\u30FC\u30EB\u4E00\u89A7").map(row=>{const source=isRecord(row)?row:{};return pick({...source,from:emailText(source["from"])},MAIL_LIST_COLUMNS)}),raw:body=>graphValue(body,"\u30E1\u30FC\u30EB\u4E00\u89A7"),notes:body=>graphPagingNotes(body,
|
|
80
|
-
"\u30E1\u30FC\u30EB\u4E00\u89A7")},{name:"get",summary:"\u30E1\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u3064\u304D\uFF09",usage:"twp outlook mail get <\u30E1\u30FC\u30EBID>",description:"\u30E1\u30FC\u30EBID \u306F twp outlook mail list \u306E id \u3067\u3059\u3002\n\u8981\u7D04\u5217\u306E body \u306F\u672C\u6587\u3092\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u76F4\u3057\u305F\u3082\u306E\u3067\u3059\uFF08HTML \u306E\u672C\u6587\u3082 1\u884C\u306B\u7573\u307F\u307E\u3059\uFF09\u3002\n\u5143\u306E HTML\u30FB\u5B9B\u5148\u306E\u5168\u9805\u76EE\u306F --output json \u3067\u8AAD\u3081\u307E\u3059\u3002\u6DFB\u4ED8\u306F twp outlook attachment list \u3067\u4E00\u89A7\u3067\u304D\u307E\u3059\u3002",
|
|
81
|
-
flags:[{name:"--message",summary:"\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"}],forbidden:ms365Forbidden,async prepare(input){return withResolved(input,{messageId:oneId(input,"--message","\u30E1\u30FC\u30EBID","twp outlook mail get help")})},plan(input){return{method:"GET",path:ms365Path(`/outlook/messages/${ms365Segment(requireResolved(input,"messageId"),"\u30E1\u30FC\u30EBID")}`)}},summarize:body=>mailRow(graphData(
|
|
82
|
-
body,"\u30E1\u30FC\u30EB\u8A73\u7D30")),raw:body=>graphData(body,"\u30E1\u30FC\u30EB\u8A73\u7D30")},...mailSendOperations]};var attachmentResource={name:"attachment",summary:"\u30E1\u30FC\u30EB\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\uFF08\u4E00\u89A7\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\uFF09",operations:[{name:"list",summary:"\u30E1\u30FC\u30EB\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B",usage:"twp outlook attachment list <\u30E1\u30FC\u30EBID>",description:"\
|
|
83
|
-
download \u306B\u6E21\u3059 id \u3068\u3001\u843D\u3068\u3059\u524D\u306B\u5927\u304D\u3055\u3092\u5224\u65AD\u3059\u308B\u305F\u3081\u306E size \u3092\u8FD4\u3057\u307E\u3059\uFF08\u672C\u4F53\u306F\u542B\u307F\u307E\u305B\u3093\uFF09\u3002\ntype \u304C fileAttachment \u306E\u3082\u306E\u3060\u3051\u5B9F\u4F53\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u3059\uFF08itemAttachment\uFF1D\u6DFB\u4ED8\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30FB\u4E88\u5B9A\u3001\nreferenceAttachment\uFF1DOneDrive \u7B49\u3078\u306E\u30EA\u30F3\u30AF\u306F\u5B9F\u4F53\u3092\u6301\u3061\u307E\u305B\u3093\uFF09\u3002\nsize \u306F Microsoft 365 \u304C\u6570\u3048\u308B\u6DFB\u4ED8\u306E\u5927\u304D\u3055\u3067\u3001\u66F8\u304D\u51FA\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3088\u308A\u6570\u767E\u30D0\u30A4\u30C8\u5927\u304D\u304F\u51FA\u307E\u3059\n\uFF08\u4ED8\u5E2F\u60C5\u5831\u3092\u542B\u3080\u305F\u3081\u30022026-10-01 \u5B9F\u6E2C\u3067 140,793 \u306B\u5BFE\u3057\u5B9F\u4F53 140,399 \u30D0\u30A4\u30C8\uFF09\u3002\n\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\uFF08\u30E1\u30FC\u30EB1\u4EF6\u3076\u3093\u306E\u6DFB\u4ED8\u3092\u3059\u3079\u3066\u8FD4\u3057\u307E\u3059\uFF09\u3002",
|
|
84
|
-
flags:[{name:"--message",summary:"\u30E1\u30FC\u30EBID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"}],forbidden:ms365Forbidden,async prepare(input){return withResolved(input,{messageId:oneId(input,"--message","\u30E1\u30FC\u30EBID","twp outlook attachment list help")})},plan(input){return{method:"GET",path:ms365Path(`/outlook/messages/${ms365Segment(requireResolved(input,"messageId"),"\u30E1\u30FC\u30EBID")}/attachments`)}},summarize:body=>graphValue(
|
|
85
|
-
body,"\u6DFB\u4ED8\u4E00\u89A7").map(attachmentRow),raw:body=>graphValue(body,"\u6DFB\u4ED8\u4E00\u89A7")},{name:"download",summary:"\u30E1\u30FC\u30EB\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092 --out \u3078\u66F8\u304D\u51FA\u3059",usage:"twp outlook attachment download <\u30E1\u30FC\u30EBID> <\u6DFB\u4ED8ID> --out <\u30D1\u30B9> [--force]",description:"\u6DFB\u4ED8\u306E\u5B9F\u4F53\u3092 --out \u306E\u30D1\u30B9\u3078\u305D\u306E\u307E\u307E\u66F8\u304D\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\n\u6A19\u6E96\u51FA\u529B\u306B\u51FA\u308B\u306E\u306F\u66F8\u3044\u305F\u5834\u6240\u30FB\u30D0\u30A4\u30C8\u6570\u30FBContent-Type \u3060\u3051\u3067\u3001--output json \u3067\u305D\u306E\u307E\u307E\u8AAD\u3081\u307E\u3059\u3002\n\n\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6DFB\u4ED8\u306E\u540D\u524D\u304B\u3089\
|
|
86
|
-
\u30D1\u30B9\u3092\u7D44\u307F\u7ACB\u3066\u307E\u305B\u3093\uFF09\u3002\n\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF08--force \u3092\u4ED8\u3051\u305F\u3068\u304D\u3060\u3051\u4E0A\u66F8\u304D\u3057\u307E\u3059\uFF09\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u81EA\u52D5\u3067\u4F5C\u308A\u307E\u305B\u3093\u3002\u6DFB\u4ED8ID \u306F twp outlook attachment list \u306E id \u3067\u3059\u3002",flags:[{name:"--me\
|
|
87
|
-
ssage",summary:"\u30E1\u30FC\u30EBID\uFF08\u7B2C1\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"},{name:"--attachment",summary:"\u6DFB\u4ED8ID\uFF08\u7B2C2\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"},{name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--force",summary:"\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\
|
|
88
|
-
\u3092\u4E0A\u66F8\u304D\u3059\u308B",takesValue:false}],forbidden:ms365Forbidden,download:{outFlag:"--out",forceFlag:"--force"},async prepare(input){const refs=messageAndAttachment(input,"twp outlook attachment download help");return withResolved(input,{messageId:refs.message,attachmentId:refs.attachment})},plan(input){const message=ms365Segment(requireResolved(input,"messageId"),"\u30E1\u30FC\u30EBID");const attachment=ms365Segment(requireResolved(input,"attachmentId"),"\u6DFB\u4ED8ID");return{
|
|
89
|
-
method:"GET",path:ms365Path(`/outlook/messages/${message}/attachments/${attachment}/content`)}},summarize:body=>body,raw:body=>body,notes:body=>isRecord(body)&&body["size"]===0?["\u66F8\u304D\u51FA\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u306F 0 \u30D0\u30A4\u30C8\u3067\u3059\u3002\u6DFB\u4ED8\u3055\u308C\u305F\u30E1\u30FC\u30EB\u30FB\u4E88\u5B9A\uFF08type \u304C itemAttachment\uFF09\u3084\u30EA\u30F3\u30AF\u306E\u6DFB\u4ED8\uFF08referenceAttachment\uFF09\u306F\u5B9F\u4F53\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\uFF08twp outlook attachment list \u306E type \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002"]:
|
|
90
|
-
[]}]};var eventResource={name:"event",summary:"\u4E88\u5B9A\u8868\u306E\u4E88\u5B9A\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\uFF09",operations:[{name:"list",summary:"\u4E88\u5B9A\u3092\u4E00\u89A7\u3059\u308B",usage:"twp outlook event list [--from <yyyy-MM-dd>] [--to <yyyy-MM-dd>] [--filter <OData>] [--limit <\u4EF6\u6570>] [--all]",description:'\u81EA\u5206\u306E\u4E88\u5B9A\u8868\u306E\u4E88\u5B9A\u3092\u8FD4\u3057\u307E\u3059\u3002--from / --to \u306F\u65E5\u672C\u6642\u9593\u306E\u65E5\u4ED8\u3067\u3001\u958B\u59CB\u65E5\u6642\u304C\u305D\u306E\u7BC4\u56F2\uFF08\u4E21\u7AEF\u306E\u65E5\u3092\u542B\u3080\uFF09\u306B\n\u3042\u308B\u4E88\u5B9A\u306B\u7D5E\u308A\u307E\u3059\u3002\u65E5\u6642\u306F UTC \u3067\u8FD4\u308A\u307E\u3059\uFF08start / end \u306E\u62EC\u5F27\u5185\u304C\u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\uFF09\u3002\n\n\u26A0 \u7E70\u308A\u8FD4\u3057\u306E\u4E88\u5B9A\u306F\u300C\u7CFB\u5217\u300D\u306E1\u4EF6\u3068\u3057\u3066\u8FD4\u308A\u3001\u5404\u56DE\u306B\u306F\u5C55\u958B\u3055\u308C\u307E\u305B\u3093\u3002\u7CFB\u5217\u306E\u958B\u59CB\u65E5\u6642\u3067\u7D5E\u308A\u8FBC\u3080\
|
|
91
|
-
\u305F\u3081\u3001\n --from \u3088\u308A\u524D\u306B\u59CB\u307E\u3063\u305F\u7E70\u308A\u8FD4\u3057\u4E88\u5B9A\u306F\u3001\u7BC4\u56F2\u5185\u306B\u56DE\u304C\u3042\u3063\u3066\u3082\u51FA\u307E\u305B\u3093\u3002\n\n--filter / --orderby / --select \u306F Microsoft Graph \u306E OData \u69CB\u6587\u3092\u305D\u306E\u307E\u307E\u6E21\u3057\u307E\u3059\n\uFF08\u4F8B: --orderby "start/dateTime"\uFF09\u3002--from / --to \u3068 --filter \u306F and \u3067\u3064\u306A\u304E\u307E\u3059\u3002\n\n'+graphPagingHelp(
|
|
92
|
-
null),flags:[{name:"--from",summary:"\u3053\u306E\u65E5\uFF08\u65E5\u672C\u6642\u9593\uFF09\u4EE5\u964D\u306B\u59CB\u307E\u308B\u4E88\u5B9A",takesValue:true,placeholder:"<yyyy-MM-dd>"},{name:"--to",summary:"\u3053\u306E\u65E5\uFF08\u65E5\u672C\u6642\u9593\uFF09\u307E\u3067\u306B\u59CB\u307E\u308B\u4E88\u5B9A",takesValue:true,placeholder:"<yyyy-MM-dd>"},{name:"--filter",summary:"OData \u306E $filter\uFF08\u305D\u306E\u307E\u307E\u6E21\u3059\uFF09",takesValue:true,placeholder:"<\u5F0F>"},{name:"--\
|
|
93
|
-
orderby",summary:"OData \u306E $orderby\uFF08\u305D\u306E\u307E\u307E\u6E21\u3059\uFF09",takesValue:true,placeholder:"<\u5F0F>"},{name:"--select",summary:"OData \u306E $select\uFF08\u8FD4\u3059\u9805\u76EE\u3092\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\uFF09",takesValue:true,placeholder:"<\u9805\u76EE>"},...graphListFlags({limit:true})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u4E88\u5B9A\u4E00\u89A7",kind:"skip"}),plan(input){const from=input.flags.get("--from");const to=input.flags.
|
|
94
|
-
get("--to");const fromUtc=from===void 0?void 0:jstDayStartUtc(from,"--from");const toUtc=to===void 0?void 0:jstDayStartUtc(to,"--to",1);if(fromUtc!==void 0&&toUtc!==void 0&&fromUtc>=toUtc){throw new UsageError(`--to \u306F --from \u4EE5\u964D\u306E\u65E5\u4ED8\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--from ${from} / --to ${to}\uFF09`)}return{method:"GET",path:ms365Path("/calendar/events"),query:{top:topFlag(input,null),filter:joinFilters([nonEmpty(input.flags,"--filter"),fromUtc===
|
|
95
|
-
void 0?void 0:`start/dateTime ge '${fromUtc}'`,toUtc===void 0?void 0:`start/dateTime lt '${toUtc}'`]),orderby:nonEmpty(input.flags,"--orderby"),select:nonEmpty(input.flags,"--select"),skip:cursorFlag(input,"skip")}}},summarize:body=>graphValue(body,"\u4E88\u5B9A\u4E00\u89A7").map(row=>{const full=eventRow(row);return pick(full,EVENT_LIST_COLUMNS)}),raw:body=>graphValue(body,"\u4E88\u5B9A\u4E00\u89A7"),notes:body=>graphPagingNotes(body,"\u4E88\u5B9A\u4E00\u89A7")},{name:"get",summary:"\u4E88\u5B9A1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\
|
|
96
|
-
\u308B\uFF08\u51FA\u5E2D\u8005\u30FB\u672C\u6587\u3064\u304D\uFF09",usage:"twp outlook event get <\u4E88\u5B9AID>",description:"\u4E88\u5B9AID \u306F twp outlook event list \u306E id \u3067\u3059\u3002\u672C\u6587\u306F\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u76F4\u3057\u3066 1\u884C\u306B\u7573\u307F\u307E\u3059\n\uFF08\u5143\u306E HTML\u30FB\u51FA\u5E2D\u8005\u306E\u5FDC\u7B54\u72B6\u6CC1\u306F --output json \u3067\u8AAD\u3081\u307E\u3059\uFF09\u3002",flags:[{name:"--event",summary:"\
|
|
97
|
-
\u4E88\u5B9AID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"}],forbidden:ms365Forbidden,async prepare(input){return withResolved(input,{eventId:oneId(input,"--event","\u4E88\u5B9AID","twp outlook event get help")})},plan(input){return{method:"GET",path:ms365Path(`/calendar/events/${ms365Segment(requireResolved(input,"eventId"),"\u4E88\u5B9AID")}`)}},summarize:body=>eventRow(graphData(body,"\u4E88\u5B9A\u8A73\u7D30")),raw:body=>graphData(body,
|
|
98
|
-
"\u4E88\u5B9A\u8A73\u7D30")}]};var outlookDomain={name:"outlook",summary:"Microsoft 365 \u306E Outlook\uFF08\u30E1\u30FC\u30EB\u30FB\u6DFB\u4ED8\u30FB\u4E88\u5B9A\u8868\uFF09",operations:[],subresources:[mailResource,attachmentResource,eventResource]};export{outlookDomain};
|
package/dist/teams-RDBKQJMM.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{cursorFlag,graphData,graphListFlags,graphPaging,graphPagingHelp,graphPagingNotes,graphValue,ms365Forbidden,plainText,str,teamsFromText,topFlag}from"./chunk-QICH2OOI.js";import{assertMs365PathSegment,ms365Path,ms365Segment}from"./chunk-3HH5IYNO.js";import{nonEmpty}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";
|
|
4
|
-
import"./chunk-VSJBJXZO.js";var MESSAGE_TOP_MAX=50;var CHAT_TOP_MAX=50;var MENTION_LIMIT_MAX=200;var TEAM_ID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var CHANNEL_ID=/^19:[^\s]+@thread\.[A-Za-z0-9]+$/;var TEAM_COLUMNS=["id","displayName","description","visibility","isArchived"];var MEMBER_COLUMNS=["id","displayName","email","roles","userId"];var CHANNEL_COLUMNS=["id","displayName","membershipType","description","isArchived"];var CHAT_COLUMNS=["id","chatType","topic","members","lastUpdatedDateTime"];
|
|
5
|
-
var MESSAGE_COLUMNS=["id","createdDateTime","from","subject","text","replyToId"];var MENTION_COLUMNS=["created_at","scope","where","from","preview","is_unread","mention_type","message_id"];var FOLDER_COLUMNS=["driveId","id","name","webUrl"];var TEAM_FLAG={name:"--team",summary:"\u30C1\u30FC\u30E0\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,placeholder:"<\u540D\u524D|ID>"};var CHANNEL_FLAG={name:"--channel",summary:"\u30C1\u30E3\u30CD\u30EB\uFF08\u540D\u524D\u304B ID\uFF09",takesValue:true,
|
|
6
|
-
placeholder:"<\u540D\u524D|ID>"};function messageRow(row){const source=isRecord(row)?row:{};return pick({...source,from:teamsFromText(source["from"]),text:plainText(source["body"])},MESSAGE_COLUMNS)}function chatRow(row){const source=isRecord(row)?row:{};const members=Array.isArray(source["members"])?source["members"].map(m=>isRecord(m)?str(m["displayName"]):null).filter(v=>v!==null):[];return pick({...source,members:members.length>0?members.join("\u3001"):null},CHAT_COLUMNS)}async function resolveTeam(input,ctx,usage){
|
|
7
|
-
const ref=input.flags.get("--team")?.trim();if(ref===void 0||ref==="")throw new UsageError("--team \u3067\u30C1\u30FC\u30E0\uFF08\u540D\u524D\u304B ID\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(TEAM_ID.test(ref))return ref.toLowerCase();return(await ctx.resolver.ms365Team(ref)).id}async function resolveChannel(input,ctx,teamId,usage){const ref=input.flags.get("--channel")?.trim();if(ref===void 0||ref==="")throw new UsageError("--channel \u3067\u30C1\u30E3\u30CD\u30EB\uFF08\u540D\u524D\u304B ID\uFF09\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
8
|
-
usage);if(CHANNEL_ID.test(ref))return ref;return(await ctx.resolver.ms365Channel(teamId,ref)).id}function channelPath(input){const team=ms365Segment(requireResolved(input,"teamId"),"\u30C1\u30FC\u30E0 ID");const channel=ms365Segment(requireResolved(input,"channelId"),"\u30C1\u30E3\u30CD\u30EB ID");return`/teams/teams/${team}/channels/${channel}`}function unreachableNextNotes(body,label){const next=graphData(body,label)["@odata.nextLink"];return next===void 0||next===null?[]:[`${label}\u306B\u306F\u7D9A\u304D\u304C\u3042\u308A\u307E\u3059\u304C\u3001\
|
|
9
|
-
\u3053\u306E\u4E00\u89A7\u306F\u7D9A\u304D\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF08\u8868\u793A\u3057\u305F\u306E\u306F\u6700\u521D\u306E\u30DA\u30FC\u30B8\u3060\u3051\u3067\u3001\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`]}var teamResource={name:"team",summary:"\u53C2\u52A0\u3057\u3066\u3044\u308B\u30C1\u30FC\u30E0",operations:[{name:"list",summary:"\u53C2\u52A0\u3057\u3066\u3044\u308B\u30C1\u30FC\u30E0\u3092\u4E00\u89A7\u3059\u308B",usage:"twp teams team li\
|
|
10
|
-
st [--all]",description:"\u3053\u3053\u306B\u51FA\u308B id \u3068 displayName \u306F --team \u306B\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08\u540D\u524D\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF09\u3002\n\u3053\u306E\u4E00\u89A7\u306F\u4EF6\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08Microsoft 365 \u5074\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u305F\u3081 --limit \u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\n"+graphPagingHelp(null),flags:graphListFlags(
|
|
11
|
-
{limit:false}),forbidden:ms365Forbidden,paging:graphPaging({label:"\u30C1\u30FC\u30E0\u4E00\u89A7",kind:"skiptoken"}),plan(input){return{method:"GET",path:ms365Path("/teams/teams"),query:{skiptoken:cursorFlag(input,"skiptoken")}}},summarize:body=>graphValue(body,"\u30C1\u30FC\u30E0\u4E00\u89A7").map(row=>pick(row,TEAM_COLUMNS)),raw:body=>graphValue(body,"\u30C1\u30FC\u30E0\u4E00\u89A7"),notes:body=>graphPagingNotes(body,"\u30C1\u30FC\u30E0\u4E00\u89A7")}]};var memberResource={name:"member",summary:"\
|
|
12
|
-
\u30C1\u30FC\u30E0\u306E\u30E1\u30F3\u30D0\u30FC",operations:[{name:"list",summary:"\u30C1\u30FC\u30E0\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B",usage:"twp teams member list --team <\u540D\u524D|ID>",description:"roles \u304C owner \u306E\u30E1\u30F3\u30D0\u30FC\u306F\u30C1\u30FC\u30E0\u306E\u6240\u6709\u8005\u3067\u3059\u3002\u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\u3002",flags:[TEAM_FLAG],forbidden:ms365Forbidden,async prepare(input,ctx){
|
|
13
|
-
return withResolved(input,{teamId:await resolveTeam(input,ctx,"twp teams member list help")})},plan(input){return{method:"GET",path:ms365Path(`/teams/teams/${ms365Segment(requireResolved(input,"teamId"),"\u30C1\u30FC\u30E0 ID")}/members`)}},summarize:body=>graphValue(body,"\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7").map(row=>pick(row,MEMBER_COLUMNS)),raw:body=>graphValue(body,"\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7"),notes:body=>unreachableNextNotes(body,"\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7")}]};var channelResource={
|
|
14
|
-
name:"channel",summary:"\u30C1\u30FC\u30E0\u306E\u30C1\u30E3\u30CD\u30EB\uFF08\u4E00\u89A7\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u7F6E\u304D\u5834\u6240\uFF09",operations:[{name:"list",summary:"\u30C1\u30FC\u30E0\u306E\u30C1\u30E3\u30CD\u30EB\u3092\u4E00\u89A7\u3059\u308B",usage:"twp teams channel list --team <\u540D\u524D|ID> [--all]",description:"\u3053\u3053\u306B\u51FA\u308B id \u3068 displayName \u306F --channel \u306B\u305D\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08\u540D\u524D\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF09\u3002\n\u3053\u306E\u4E00\u89A7\u306F\u4EF6\u6570\u3092\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u4E2D\u7D99\u304C\u53D7\u3051\u4ED8\u3051\u306A\u3044\u305F\u3081 --limit \u304C\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\n"+
|
|
15
|
-
graphPagingHelp(null),flags:[TEAM_FLAG,...graphListFlags({limit:false})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u30C1\u30E3\u30CD\u30EB\u4E00\u89A7",kind:"skiptoken"}),async prepare(input,ctx){return withResolved(input,{teamId:await resolveTeam(input,ctx,"twp teams channel list help")})},plan(input){return{method:"GET",path:ms365Path(`/teams/teams/${ms365Segment(requireResolved(input,"teamId"),"\u30C1\u30FC\u30E0 ID")}/channels`),query:{skiptoken:cursorFlag(input,"skiptoken")}}},summarize:body=>graphValue(
|
|
16
|
-
body,"\u30C1\u30E3\u30CD\u30EB\u4E00\u89A7").map(row=>pick(row,CHANNEL_COLUMNS)),raw:body=>graphValue(body,"\u30C1\u30E3\u30CD\u30EB\u4E00\u89A7"),notes:body=>graphPagingNotes(body,"\u30C1\u30E3\u30CD\u30EB\u4E00\u89A7")},{name:"folder",summary:"\u30C1\u30E3\u30CD\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u7F6E\u304D\u5834\u6240\uFF08\u30C9\u30E9\u30A4\u30D6ID\u30FB\u30D5\u30A9\u30EB\u30C0ID\uFF09\u3092\u8868\u793A\u3059\u308B",usage:"twp teams channel folder --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID>",
|
|
17
|
-
description:"\u30C1\u30E3\u30CD\u30EB\u306E\u300C\u30D5\u30A1\u30A4\u30EB\u300D\u30BF\u30D6\u306E\u5B9F\u4F53\uFF08SharePoint \u306E\u30D5\u30A9\u30EB\u30C0\uFF09\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u51FA\u529B\u306E driveId \u3068 id \u3092\u4F7F\u3046\u3068\u3001\u4E2D\u8EAB\u3092 twp onedrive item list <id> --drive <driveId> \u3067\u4E00\u89A7\u3067\u304D\u307E\u3059\u3002",flags:[TEAM_FLAG,CHANNEL_FLAG],forbidden:ms365Forbidden,async prepare(input,ctx){const usage="twp teams channel folder\
|
|
18
|
-
help";const teamId=await resolveTeam(input,ctx,usage);return withResolved(input,{teamId,channelId:await resolveChannel(input,ctx,teamId,usage)})},plan(input){return{method:"GET",path:ms365Path(`${channelPath(input)}/filesFolder`)}},summarize(body){const data=graphData(body,"\u30C1\u30E3\u30CD\u30EB\u306E\u30D5\u30A9\u30EB\u30C0");const parent=isRecord(data["parentReference"])?data["parentReference"]:{};return pick({...data,driveId:parent["driveId"]??null},FOLDER_COLUMNS)},raw:body=>graphData(body,
|
|
19
|
-
"\u30C1\u30E3\u30CD\u30EB\u306E\u30D5\u30A9\u30EB\u30C0")}]};var chatResource={name:"chat",summary:"\u81EA\u5206\u304C\u53C2\u52A0\u3057\u3066\u3044\u308B\u30C1\u30E3\u30C3\u30C8",operations:[{name:"list",summary:"\u81EA\u5206\u304C\u53C2\u52A0\u3057\u3066\u3044\u308B\u30C1\u30E3\u30C3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u53C2\u52A0\u8005\u306E\u540D\u524D\u3064\u304D\uFF09",usage:"twp teams chat list [--limit <\u4EF6\u6570>] [--all]",description:`chatType \u306F oneOnOne\uFF081\u5BFE1\uFF09/ group\uFF08\u30B0\u30EB\u30FC\u30D7\uFF09/ mee\
|
|
20
|
-
ting\uFF08\u4F1A\u8B70\u306E\u30C1\u30E3\u30C3\u30C8\uFF09\u3067\u3059\u3002
|
|
21
|
-
members \u306B\u306F\u53C2\u52A0\u8005\u306E\u8868\u793A\u540D\u304C\u5165\u308A\u307E\u3059\uFF081\u5BFE1\u306E\u30C1\u30E3\u30C3\u30C8\u306F\u76F8\u624B\u3068\u81EA\u5206\u306E2\u4EBA\uFF09\u3002
|
|
22
|
-
|
|
23
|
-
\u30C1\u30E3\u30C3\u30C8\u306F\u540D\u524D\u3067\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08--chat \u306B\u306F id \u3092\u6E21\u3057\u307E\u3059\uFF09\u3002\u63A2\u3059\u3068\u304D\u306F --all \u3068 --query \u3092\u4F7F\u3044\u307E\u3059:
|
|
24
|
-
twp teams chat list --all --query "[?topic=='\u9031\u6B21\u5B9A\u4F8B'].id"
|
|
25
|
-
twp teams chat list --all --query "[?chatType=='oneOnOne' && members[?displayName=='\u5C71\u7530 \u592A\u90CE']].id"
|
|
26
|
-
\uFF08--query \u306F Graph \u306E\u751F\u30C7\u30FC\u30BF\u306B\u5F53\u3066\u307E\u3059\u3002members \u306F {displayName, email, ...} \u306E\u914D\u5217\u3067\u3059\uFF09
|
|
27
|
-
|
|
28
|
-
\u26A0 \u30C1\u30E3\u30C3\u30C8\u304C\u591A\u3044\u4EBA\u306F --all \u306B\u6642\u9593\u304C\u304B\u304B\u308A\u307E\u3059\uFF081\u30DA\u30FC\u30B8\u6700\u592725\u4EF6\u30021,500\u4EF6\u3067\u7D0470\u79D2\uFF09\u3002
|
|
29
|
-
|
|
30
|
-
`+graphPagingHelp(CHAT_TOP_MAX),flags:graphListFlags({limit:true}),forbidden:ms365Forbidden,paging:graphPaging({label:"\u30C1\u30E3\u30C3\u30C8\u4E00\u89A7",kind:"skiptoken"}),plan(input){return{method:"GET",path:ms365Path("/teams/chats"),query:{top:topFlag(input,CHAT_TOP_MAX),expand:"members",skiptoken:cursorFlag(input,"skiptoken")}}},summarize:body=>graphValue(body,"\u30C1\u30E3\u30C3\u30C8\u4E00\u89A7").map(chatRow),raw:body=>graphValue(body,"\u30C1\u30E3\u30C3\u30C8\u4E00\u89A7"),notes:body=>graphPagingNotes(
|
|
31
|
-
body,"\u30C1\u30E3\u30C3\u30C8\u4E00\u89A7")}]};var messageResource={name:"message",summary:"\u30C1\u30E3\u30C3\u30C8\u30FB\u30C1\u30E3\u30CD\u30EB\u306E\u30E1\u30C3\u30BB\u30FC\u30B8",operations:[{name:"list",summary:"\u30C1\u30E3\u30C3\u30C8\u304B\u30C1\u30E3\u30CD\u30EB\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp teams message list (--chat <ID> | --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID>) [--limit <\u4EF6\u6570>] [--all]",description:"--chat\uFF08\u30C1\u30E3\u30C3\u30C8\uFF09\u304B\
|
|
32
|
-
--team \u3068 --channel\uFF08\u30C1\u30E3\u30CD\u30EB\uFF09\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n\u26A0 \u30C1\u30E3\u30CD\u30EB\u3067\u8FD4\u308B\u306E\u306F\u30B9\u30EC\u30C3\u30C9\u306E\u6700\u521D\u306E\u6295\u7A3F\u3060\u3051\u3067\u3059\u3002\u8FD4\u4FE1\u306F twp teams reply list <\u6295\u7A3F\u306Eid> \u3067\u8AAD\u307F\u307E\u3059\n \uFF08\u8981\u7D04\u5217\u306E replyToId \u304C\u7A7A\u306E\u884C\u304C\u6700\u521D\u306E\u6295\u7A3F\u3067\u3059\uFF09\u3002\n\n\u8981\u7D04\u5217\u306E text \u306F\u672C\u6587\u3092\u30D7\u30EC\u30FC\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u76F4\u3057\u305F\u3082\u306E\u3067\u3059\u3002\u5143\u306E HTML\u30FB\u30E1\u30F3\u30B7\u30E7\u30F3\u30FB\u30EA\u30A2\u30AF\u30B7\u30E7\u30F3\u306F\n--output json \u3067\u8AAD\u3081\u307E\u3059\u3002\n\n"+
|
|
33
|
-
graphPagingHelp(MESSAGE_TOP_MAX),flags:[{name:"--chat",summary:"\u30C1\u30E3\u30C3\u30C8ID\uFF08twp teams chat list \u306E id\uFF09",takesValue:true,placeholder:"<ID>"},TEAM_FLAG,CHANNEL_FLAG,...graphListFlags({limit:true})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u30E1\u30C3\u30BB\u30FC\u30B8\u4E00\u89A7",kind:"skiptoken"}),async prepare(input,ctx){const usage="twp teams message list help";const chat=input.flags.get("--chat");const hasChannel=input.flags.has("--team")||input.flags.
|
|
34
|
-
has("--channel");if(chat!==void 0&&hasChannel){throw new UsageError("--chat \u3068 --team / --channel \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage)}if(chat!==void 0){return withResolved(input,{chatId:assertMs365PathSegment(chat.trim(),"\u30C1\u30E3\u30C3\u30C8ID")})}if(!hasChannel)throw new UsageError("--chat \u304B\u3001--team \u3068 --channel \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const teamId=await resolveTeam(input,ctx,usage);return withResolved(
|
|
35
|
-
input,{teamId,channelId:await resolveChannel(input,ctx,teamId,usage)})},plan(input){const chatId=input.resolved?.["chatId"];const path=chatId!==void 0?`/teams/chats/${ms365Segment(chatId,"\u30C1\u30E3\u30C3\u30C8ID")}/messages`:`${channelPath(input)}/messages`;return{method:"GET",path:ms365Path(path),query:{top:topFlag(input,MESSAGE_TOP_MAX),skiptoken:cursorFlag(input,"skiptoken")}}},summarize:body=>graphValue(body,"\u30E1\u30C3\u30BB\u30FC\u30B8\u4E00\u89A7").map(messageRow),raw:body=>graphValue(
|
|
36
|
-
body,"\u30E1\u30C3\u30BB\u30FC\u30B8\u4E00\u89A7"),notes:body=>graphPagingNotes(body,"\u30E1\u30C3\u30BB\u30FC\u30B8\u4E00\u89A7")}]};var replyResource={name:"reply",summary:"\u30C1\u30E3\u30CD\u30EB\u6295\u7A3F\u306E\u30B9\u30EC\u30C3\u30C9\u8FD4\u4FE1",operations:[{name:"list",summary:"\u30C1\u30E3\u30CD\u30EB\u6295\u7A3F\u306E\u30B9\u30EC\u30C3\u30C9\u8FD4\u4FE1\u3092\u4E00\u89A7\u3059\u308B",usage:"twp teams reply list <\u6295\u7A3FID> --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID> [--limit <\u4EF6\u6570>] [--all]",
|
|
37
|
-
description:"\u6295\u7A3FID \u306F twp teams message list --team \u2026 --channel \u2026 \u306E id\uFF08replyToId \u304C\u7A7A\u306E\u884C\uFF09\u3067\u3059\u3002\n\u8FD4\u4FE1\u306E\u672C\u6587\u30FB\u30E1\u30F3\u30B7\u30E7\u30F3\u30FB\u30EA\u30A2\u30AF\u30B7\u30E7\u30F3\u306F\u3053\u306E\u4E00\u89A7\u3067\u3057\u304B\u8AAD\u3081\u307E\u305B\u3093\uFF08--output json \u306B\u5168\u9805\u76EE\u304C\u51FA\u307E\u3059\uFF09\u3002\n\n"+graphPagingHelp(MESSAGE_TOP_MAX),flags:[{name:"--message",summary:"\
|
|
38
|
-
\u6295\u7A3FID\uFF08\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF09",takesValue:true,placeholder:"<ID>"},TEAM_FLAG,CHANNEL_FLAG,...graphListFlags({limit:true})],forbidden:ms365Forbidden,paging:graphPaging({label:"\u8FD4\u4FE1\u4E00\u89A7",kind:"skiptoken"}),async prepare(input,ctx){const usage="twp teams reply list help";const message=singleRef(input,{flag:"--message",label:"\u6295\u7A3FID",usage});const messageId=assertMs365PathSegment(message,"\u6295\u7A3FID");const teamId=await resolveTeam(
|
|
39
|
-
input,ctx,usage);return withResolved(input,{messageId,teamId,channelId:await resolveChannel(input,ctx,teamId,usage)})},plan(input){const message=ms365Segment(requireResolved(input,"messageId"),"\u6295\u7A3FID");return{method:"GET",path:ms365Path(`${channelPath(input)}/messages/${message}/replies`),query:{top:topFlag(input,MESSAGE_TOP_MAX),skiptoken:cursorFlag(input,"skiptoken")}}},summarize:body=>graphValue(body,"\u8FD4\u4FE1\u4E00\u89A7").map(messageRow),raw:body=>graphValue(body,"\u8FD4\u4FE1\u4E00\u89A7"),
|
|
40
|
-
notes:body=>graphPagingNotes(body,"\u8FD4\u4FE1\u4E00\u89A7")}]};function mentionResult(body){const data=graphData(body,"\u30E1\u30F3\u30B7\u30E7\u30F3\u4E00\u89A7");if(!Array.isArray(data["mentions"])){throw new ApiResponseError("\u30E1\u30F3\u30B7\u30E7\u30F3\u4E00\u89A7\u306E\u5FDC\u7B54\u306B mentions \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return data}function mentionRow(row){const source=isRecord(
|
|
41
|
-
row)?row:{};const from=isRecord(source["from"])?str(source["from"]["display_name"]):null;const where=source["scope"]==="chat"?str(source["chat_topic"])??"\u30C1\u30E3\u30C3\u30C8":"\u30C1\u30E3\u30CD\u30EB";return pick({...source,from,where},MENTION_COLUMNS)}var mentionResource={name:"mention",summary:"\u81EA\u5206\u5B9B\u3066\u306E\u30E1\u30F3\u30B7\u30E7\u30F3\uFF08\u30C1\u30E3\u30C3\u30C8\u30FB\u30C1\u30E3\u30CD\u30EB\u6A2A\u65AD\uFF09",operations:[{name:"list",summary:"\u81EA\u5206\u5B9B\u3066\u306E\u30E1\u30F3\u30B7\u30E7\u30F3\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u76F4\u8FD17\
|
|
42
|
-
\u65E5\uFF09",usage:"twp teams mention list [--since <\u65E5\u6642>] [--until <\u65E5\u6642>] [--unread] [--scope chats|channels|all] [--limit <\u4EF6\u6570>] [--type <\u7A2E\u985E>]",description:"\u30C1\u30E3\u30C3\u30C8\u3068\u30C1\u30E3\u30CD\u30EB\u3092\u6A2A\u65AD\u3057\u3066\u3001\u81EA\u5206\u5B9B\u3066\uFF08\u500B\u4EBA\u30FB\u30BF\u30B0\u30FB\u30C1\u30E3\u30CD\u30EB\u5168\u4F53\uFF09\u306E\u30E1\u30F3\u30B7\u30E7\u30F3\u3092\u65B0\u3057\u3044\u9806\u306B\u8FD4\u3057\u307E\u3059\u3002\n\u65E2\u5B9A\u306E\u671F\u9593\u306F --until\uFF08\u65E2\u5B9A\u306F\u4ECA\uFF09\u304B\u3089\u9061\u3063\u30667\u65E5\u3067\u3059\u3002--since / --until \u306F 2026-10-01 \u3084\n2026-10-01T09:00:00+09:00 \u306E\u5F62\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u65E5\u4ED8\u3060\u3051\u306A\u3089\u305D\u306E\u65E5\u306E 0\u6642\uFF08\u65E5\u672C\u6642\u9593\uFF09\u306A\u306E\u3067\u3001\n--until 2026-10-01 \u306F 10\u67081\u65E5\u3092\u542B\u307F\u307E\u305B\u3093\uFF08\u542B\u3081\u308B\u306A\u3089 --until 2026-10-02\uFF09\u3002\n--type \u306F user / tag / conversation \u3092\u30AB\u30F3\u30DE\u533A\u5207\u308A\u3067\u3002\n\n\u30B5\u30FC\u30D0\u304C\u8D70\u67FB\u3057\u3066\u7D50\u679C\u3092\u8FD4\u3059\u306E\u3067\u3001\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\
|
|
43
|
-
\u307E\u305B\u3093\uFF08--all \u306F\u7121\u304F\u3001--limit \u306E\u65E2\u5B9A\u306F 50\u30FB\u4E0A\u9650\u306F 200\uFF09\u3002\n\u4E00\u81F4\u3057\u305F\u4EF6\u6570\u304C --limit \u3092\u8D85\u3048\u305F\u30FB\u8D70\u67FB\u304C\u6642\u9593\u3084\u4EF6\u6570\u306E\u4E0A\u9650\u306B\u9054\u3057\u305F\u30FB\u4E00\u90E8\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u305F\u5834\u5408\u306F\u3001\n\u305D\u306E\u3053\u3068\u3092\u5FC5\u305A\u8868\u793A\u3057\u307E\u3059\uFF08\u8868\u793A\u304C\u7121\u3051\u308C\u3070\u53D6\u308A\u3053\u307C\u3057\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\n--output json \u306F\u4EF6\u6570\u30FB\u8D70\u67FB\u7BC4\u56F2\u30FB\u6CE8\u8A18\u3092\u542B\u3080\u691C\u7D22\u7D50\u679C\u5168\u4F53\u3092\u51FA\u3057\u307E\u3059\uFF08\u4E00\u89A7\u306F mentions\uFF09\u3002\n\u30C1\u30E3\u30CD\u30EB\u6295\u7A3F\u306E\u672A\u8AAD\u306F Microsoft 365 \u304B\u3089\u53D6\u5F97\u3067\u304D\u306A\u3044\u305F\u3081\u3001is_unread \u304C null \u306B\u306A\u308A\u307E\u3059\uFF08--unread \u3067\u3082\u6B8B\u3057\u307E\u3059\uFF09\u3002",
|
|
44
|
-
flags:[{name:"--since",summary:"\u3053\u306E\u65E5\u6642\u4EE5\u964D\uFF08\u65E2\u5B9A\u306F --until \u306E7\u65E5\u524D\uFF09",takesValue:true,placeholder:"<\u65E5\u6642>"},{name:"--until",summary:"\u3053\u306E\u65E5\u6642\u307E\u3067\uFF08\u65E2\u5B9A\u306F\u4ECA\uFF09",takesValue:true,placeholder:"<\u65E5\u6642>"},{name:"--unread",summary:"\u672A\u8AAD\u3060\u3051\u306B\u3059\u308B",takesValue:false},{name:"--scope",summary:"\u63A2\u3059\u7BC4\u56F2\uFF08chats | channels | all\u30FB\u65E2\u5B9A all\uFF09",
|
|
45
|
-
takesValue:true,placeholder:"<\u7BC4\u56F2>"},{name:"--limit",summary:`\u8FD4\u3059\u4EF6\u6570\uFF08\u65E2\u5B9A 50\u30FB\u4E0A\u9650 ${MENTION_LIMIT_MAX}\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"},{name:"--type",summary:"\u30E1\u30F3\u30B7\u30E7\u30F3\u306E\u7A2E\u985E\uFF08user,tag,conversation\uFF09",takesValue:true,placeholder:"<\u7A2E\u985E>"}],forbidden:ms365Forbidden,plan(input){const since=nonEmpty(input.flags,"--since");const until=nonEmpty(input.flags,"--until");const at=raw=>raw===
|
|
46
|
-
void 0?NaN:Date.parse(/^\d{4}-\d{2}-\d{2}$/.test(raw.trim())?`${raw.trim()}T00:00:00+09:00`:raw.trim());if(!Number.isNaN(at(since))&&!Number.isNaN(at(until))&&at(since)>at(until)){throw new UsageError(`--until \u306F --since \u3088\u308A\u5F8C\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08--since ${String(since)} / --until ${String(until)}\uFF09`)}const scope=nonEmpty(input.flags,"--scope")?.trim();if(scope!==void 0&&!["chats","channels","all"].includes(scope)){throw new UsageError(
|
|
47
|
-
`--scope \u306B\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F chats / channels / all \u3067\u3059\uFF08\u53D7\u3051\u53D6\u3063\u305F\u5024: ${scope}\uFF09`)}return{method:"GET",path:ms365Path("/teams/mentions"),query:{since,until,unread_only:input.flags.has("--unread")?"true":void 0,scope,limit:topFlag(input,MENTION_LIMIT_MAX),mention_types:nonEmpty(input.flags,"--type")}}},summarize:body=>mentionResult(body)["mentions"].map(mentionRow),raw:mentionResult,notes(body){const data=mentionResult(body);const out=[];
|
|
48
|
-
if(data["truncated"]===true){out.push(`\u4E00\u81F4\u3057\u305F ${String(data["matched_count"])} \u4EF6\u306E\u3046\u3061 ${String(data["returned_count"])} \u4EF6\u3060\u3051\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\uFF08--limit \u3067\u5897\u3084\u305B\u307E\u3059\u3002\u4E0A\u9650 ${MENTION_LIMIT_MAX}\uFF09\u3002`)}const exhausted=Array.isArray(data["budget_exhausted"])?data["budget_exhausted"].map(String):[];if(exhausted.length>0){out.push(`\u8D70\u67FB\u304C\u4E0A\u9650\u306B\u9054\u3057\u305F\u305F\u3081\u3001\u53D6\u308A\u3053\u307C\u3057\u304C\u3042\u308A\u3048\u307E\u3059\uFF08${exhausted.
|
|
49
|
-
join("\u3001")}\uFF09\u3002\u671F\u9593\u3092\u77ED\u304F\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const errors=Array.isArray(data["errors"])?data["errors"]:[];if(errors.length>0){out.push(`${errors.length} \u4EF6\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u305F\u305F\u3081\u3001\u305D\u306E\u5206\u306E\u30E1\u30F3\u30B7\u30E7\u30F3\u306F\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\uFF08--output json \u306E errors \u306B\u8A73\u7D30\u304C\u3042\u308A\u307E\u3059\uFF09\u3002`)}for(const note of Array.
|
|
50
|
-
isArray(data["notes"])?data["notes"]:[]){if(typeof note==="string"&¬e!=="")out.push(note)}return out}}]};var teamsDomain={name:"teams",summary:"Microsoft Teams\uFF08\u30C1\u30FC\u30E0\u30FB\u30C1\u30E3\u30CD\u30EB\u30FB\u30C1\u30E3\u30C3\u30C8\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u30FB\u30E1\u30F3\u30B7\u30E7\u30F3\uFF09",operations:[],subresources:[teamResource,memberResource,channelResource,chatResource,messageResource,replyResource,mentionResource]};export{teamsDomain};
|