@tocca-systems/twp-cli 0.92.0 → 0.93.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 +8 -0
- package/README.md +62 -1
- package/dist/{agent-SX7Z5BVN.js → agent-JNWPWVHF.js} +1 -1
- package/dist/{agent-loop-QV7WHT7B.js → agent-loop-HMSOMXFI.js} +2 -2
- package/dist/{ai-dispatch-YPQGMOBK.js → ai-dispatch-FVHIWBCX.js} +2 -2
- package/dist/{analysis-6MPLKJUS.js → analysis-UP5QD5OD.js} +2 -2
- package/dist/{announcement-4ZK63ONY.js → announcement-A3J2DYSQ.js} +1 -1
- package/dist/{api-command-K6I3WSI4.js → api-command-W5NBP6LO.js} +3 -3
- package/dist/api-key-YSHTZPY2.js +66 -0
- package/dist/{app-Z6NIVNWQ.js → app-ATZXNSKN.js} +5 -5
- package/dist/{attendance-correct-X67ITW3J.js → attendance-correct-GBJUPRTU.js} +2 -2
- package/dist/{attendance-lists-RVJIQAAM.js → attendance-lists-BIGQFPVN.js} +1 -1
- package/dist/{backlog-ZHON6HED.js → backlog-VJWLVDSM.js} +1 -1
- package/dist/{budget-FEEEYUX2.js → budget-VUMWU762.js} +2 -2
- package/dist/{capacity-list-command-GFHEKY47.js → capacity-list-command-CPUOR57V.js} +1 -1
- package/dist/{chunk-SZOEBJGI.js → chunk-24AJQUDZ.js} +1 -1
- package/dist/{chunk-NELPXRBC.js → chunk-3E7QVTKD.js} +1 -1
- package/dist/{chunk-VROESTZQ.js → chunk-4557EX6E.js} +1 -1
- package/dist/{chunk-3UOVTIM6.js → chunk-45WIRMGL.js} +1 -1
- package/dist/{chunk-6DM366P6.js → chunk-4DOPQ74T.js} +51 -47
- package/dist/{chunk-Y4U3F4UM.js → chunk-4JJFIPTI.js} +2 -2
- package/dist/{chunk-RY27USNC.js → chunk-4YCX5UNV.js} +1 -1
- package/dist/{chunk-IXT2X5BZ.js → chunk-5TKHN3A5.js} +6 -6
- package/dist/{chunk-PBMHUH73.js → chunk-5WJWURQT.js} +1 -1
- package/dist/{chunk-N3I76TL6.js → chunk-6CALO6LE.js} +1 -1
- package/dist/{chunk-FLLSRBFZ.js → chunk-6FPW6T4P.js} +1 -1
- package/dist/{chunk-VBIZ6U7C.js → chunk-6HR26FNC.js} +1 -1
- package/dist/{chunk-RZA3PZNH.js → chunk-7T5CEF6J.js} +1 -1
- package/dist/{chunk-M763HXDH.js → chunk-A3VGBVQP.js} +1 -1
- package/dist/{chunk-NXPLTDN4.js → chunk-BABZL52A.js} +9 -9
- package/dist/{chunk-JBAVETQP.js → chunk-DMMSNDDD.js} +1 -1
- package/dist/{chunk-BPLDHTAS.js → chunk-EOXGQHZA.js} +1 -1
- package/dist/{chunk-HZNC2UFL.js → chunk-FLIY4GM2.js} +1 -1
- package/dist/{chunk-UVTOBRHP.js → chunk-HPBAAKJS.js} +1 -1
- package/dist/{chunk-GLOGPK4Y.js → chunk-ILEV32T6.js} +1 -1
- package/dist/chunk-MSZWJ24L.js +12 -0
- package/dist/{chunk-BROJYH74.js → chunk-MZB4KA26.js} +1 -1
- package/dist/{chunk-D6MAASMD.js → chunk-O6GAIXHJ.js} +1 -1
- package/dist/{chunk-3D734ED2.js → chunk-P54LCXEY.js} +1 -1
- package/dist/{chunk-4DUZIRGL.js → chunk-PTLUNRQS.js} +10 -10
- package/dist/{chunk-MQOHOOJP.js → chunk-SPQJNTAK.js} +1 -1
- package/dist/{chunk-NB2GXB27.js → chunk-SQMJ7XKE.js} +1 -1
- package/dist/{chunk-ELW4VTSK.js → chunk-TUFWQYKB.js} +1 -1
- package/dist/{chunk-3S52X3Z7.js → chunk-VHKZ6RUA.js} +1 -1
- package/dist/{chunk-IQL7NZKM.js → chunk-VRRDGI2I.js} +1 -1
- package/dist/chunk-X3F7DOP5.js +4 -0
- package/dist/{chunk-VOSADZUE.js → chunk-XIAZ6ZJG.js} +3 -3
- package/dist/{chunk-7UAJ3ZY7.js → chunk-YB4ZDJXR.js} +1 -1
- package/dist/cli.js +42 -9
- package/dist/{commands-MNYRRJBT.js → commands-A3RLFXMI.js} +1 -1
- package/dist/{commands-23GMSCTQ.js → commands-QNVPMZDX.js} +12 -12
- package/dist/{company-YFHD4RLP.js → company-HUP72FGC.js} +2 -2
- package/dist/{completion-KPMCNLV2.js → completion-YB2UIXEL.js} +1 -1
- package/dist/{contract-C7PTM573.js → contract-WE37KVDC.js} +2 -2
- package/dist/{department-JZVWFUCI.js → department-5V4W37PU.js} +1 -1
- package/dist/{deposit-NUWEBC7M.js → deposit-VI3KTO7N.js} +2 -2
- package/dist/{domain-knowledge-QDSWQW4E.js → domain-knowledge-NOORBHDM.js} +1 -1
- package/dist/{estimate-GJEDV3D5.js → estimate-5GPJ33DO.js} +4 -4
- package/dist/{evaluation-KQPTG4G3.js → evaluation-5Q5GHKM3.js} +2 -2
- package/dist/{expense-NFQY5NZN.js → expense-F5UUXTGV.js} +1 -1
- package/dist/faq-QBCNTMXP.js +122 -0
- package/dist/{fiscal-year-GL3RFX6H.js → fiscal-year-CVYFYGRR.js} +1 -1
- package/dist/{holiday-FUYMZVGX.js → holiday-UPF22P5V.js} +2 -2
- package/dist/{inquiry-XMM6EHNJ.js → inquiry-57RLTCK2.js} +1 -1
- package/dist/{invoice-MLJEVQA4.js → invoice-FL42M3A4.js} +2 -2
- package/dist/{job-title-JHTVL7OO.js → job-title-LEHO7TBW.js} +1 -1
- package/dist/{knowledge-MROBIUE5.js → knowledge-CELSHUX6.js} +2 -2
- package/dist/{leave-GXVOULRK.js → leave-7BXZEIEQ.js} +2 -2
- package/dist/{license-XUPFMAGX.js → license-YOBNOTSR.js} +1 -1
- package/dist/{login-history-JIWV62KF.js → login-history-RCUHEEYE.js} +1 -1
- package/dist/{media-FKKQA223.js → media-SE6FZLQG.js} +3 -3
- package/dist/{notification-YAT6O2TK.js → notification-BE6KRW5R.js} +1 -1
- package/dist/{oneshot-HV5VMNFX.js → oneshot-2V5GL6OA.js} +1 -1
- package/dist/{outlook-GXWQLCR6.js → outlook-RWEUIFAI.js} +2 -2
- package/dist/{plan-submit-I5QAVNZN.js → plan-submit-3LCM44YE.js} +2 -2
- package/dist/{position-33HC7ETC.js → position-YAC32O37.js} +1 -1
- package/dist/{project-O6TQKZBJ.js → project-EQQEF622.js} +2 -2
- package/dist/{prospect-LQ2RLIBN.js → prospect-C3OWZPUJ.js} +1 -1
- package/dist/{purchase-E25SBHR2.js → purchase-7NN4SIER.js} +3 -3
- package/dist/{receivable-M3IUSRB7.js → receivable-4UCQ5G4R.js} +1 -1
- package/dist/{redmine-OIBKHGK3.js → redmine-THH5YMND.js} +1 -1
- package/dist/{registry-QHNBNSNA.js → registry-PJBXIHUK.js} +1 -1
- package/dist/{render-BY4KHD5D.js → render-XILFR4N3.js} +1 -1
- package/dist/{report-TS7D6YF5.js → report-TQRJJEGK.js} +1 -1
- package/dist/{run-AHNWMLZ4.js → run-DHHIH5A3.js} +2 -2
- package/dist/{runner-command-GN45H7TL.js → runner-command-PIHQW65P.js} +1 -1
- package/dist/{sales-ai-review-KYYUF5HG.js → sales-ai-review-JH6UAUHC.js} +2 -2
- package/dist/{sales-master-UNKMFZDV.js → sales-master-QF4ZGAGF.js} +3 -3
- package/dist/{sales-numbering-URGXUTUX.js → sales-numbering-I4CGWWLF.js} +2 -2
- package/dist/{search-OEOAUIW3.js → search-65MA22AA.js} +1 -1
- package/dist/{segment-H7FFI52Z.js → segment-PTTW7IJM.js} +1 -1
- package/dist/{skill-BJFHENEO.js → skill-J2HXRXLF.js} +2 -2
- package/dist/{skill-manage-command-Z4MLSACA.js → skill-manage-command-RKQHSPRJ.js} +2 -2
- package/dist/{staffing-board-2ZV2Q6TC.js → staffing-board-FSZ6WM2E.js} +3 -3
- package/dist/{status-command-XOELHUCV.js → status-command-5G7ZNGN2.js} +2 -2
- package/dist/{supplier-payment-2OVDNHBD.js → supplier-payment-OOX5NQH5.js} +3 -3
- package/dist/{support-6NZCSDPJ.js → support-LWKDMVP7.js} +2 -2
- package/dist/{task-GLFAR4GN.js → task-XF3MUGDE.js} +4 -4
- package/dist/{teams-KNXVEWMD.js → teams-J66HFCF5.js} +1 -1
- package/dist/{user-L6NYXPV6.js → user-PWZUOZGI.js} +43 -22
- package/dist/{user-contract-type-2PUE2JQL.js → user-contract-type-XM4G3TX5.js} +1 -1
- package/dist/{user-group-EIYVFUTB.js → user-group-5V3L7WYR.js} +1 -1
- package/dist/{worker-agent-2BARDPDL.js → worker-agent-G6MC436V.js} +1 -1
- package/dist/{workflow-P4SJX6YR.js → workflow-KTXVWCPN.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-JQQP7JLQ.js +0 -4
- package/dist/chunk-LGNYEROA.js +0 -12
- package/dist/faq-QVRTJ3KS.js +0 -68
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-
|
|
4
|
-
import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-UVCJXHWN.js";import
|
|
5
|
-
import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-
|
|
6
|
-
UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.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{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems}from"./chunk-4JJFIPTI.js";import{FISCAL_YEAR_FLAG,fiscalYear,skillNames}from"./chunk-VHKZ6RUA.js";import{LICENSE_FEATURE_NAMES,levelHoldsSeat,permissionMovesSeat,readLicenses}from"./chunk-VRRDGI2I.js";import{CONCURRENCY,exportOperation,mapPool,pacedSender}from"./chunk-ZFSQJAYZ.js";import"./chunk-ILEV32T6.js";import{readCsvFileText}from"./chunk-QLENN5DD.js";import"./chunk-SQMJ7XKE.js";import"./chunk-SPQJNTAK.js";
|
|
4
|
+
import{USER_REF_FLAG,USER_REF_HELP,prepareUser,userPath}from"./chunk-UVCJXHWN.js";import{createFlags,fieldBody,hasAnyField,resolveRefFields,updateFlags}from"./chunk-45WIRMGL.js";import"./chunk-EXT4AIDF.js";import{booleanText,boundedText,isoDate,isoDateValue}from"./chunk-JJSBBWJ5.js";import"./chunk-A3VGBVQP.js";import"./chunk-W4NLJ2YK.js";import"./chunk-5TKHN3A5.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{DEPARTMENTS_PATH,ORG_MASTER_LIMIT,
|
|
5
|
+
POSITIONS_PATH}from"./chunk-4DOPQ74T.js";import{ResolveError,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,
|
|
6
|
+
ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.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")}
|
|
7
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\
|
|
8
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.
|
|
9
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]",
|
|
@@ -172,11 +172,12 @@ ctx.warn(lines.join("\n"));throw new ApiRejectedError(`\u4E00\u62EC\u62DB\u5F85\
|
|
|
172
172
|
INVITE_REF_HELP)}const hit=hits[0]?.["token"];if(typeof hit!=="string"||!/^[A-Za-z0-9_-]+$/.test(hit)){throw new ApiResponseError("\u62DB\u5F85\u4E00\u89A7\u306E\u5FDC\u7B54\u306E\u30C8\u30FC\u30AF\u30F3\u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return hit}function invitePath(token,suffix=""){return`${INVITATIONS_PATH}/${encodeURIComponent(token)}${suffix}`}function refPlan(input,method,suffix=""){const token=input.
|
|
173
173
|
resolved?.["token"];return{method,path:token===void 0?`${INVITATIONS_PATH}/{token}${suffix}`:invitePath(token,suffix)}}function refNotes(input){const email=input.resolved?.["email"];return email===void 0?[]:[`\u3053\u306E\u524D\u306B\u3001${email} \u5B9B\u3066\u306E\u62DB\u5F85\u306E\u30C8\u30FC\u30AF\u30F3\u3092\u8ABF\u3079\u308B\u305F\u3081\u62DB\u5F85\u4E00\u89A7\u3092 GET \u3057\u307E\u3059\uFF08{token} \u306F\u305D\u306E\u7D50\u679C\u3067\u57CB\u307E\u308A\u307E\u3059\uFF09\u3002`]}var userInviteResource={
|
|
174
174
|
name:"invite",summary:"\u30E6\u30FC\u30B6\u30FC\u306E\u62DB\u5F85\uFF081\u4EF6\u30FBCSV \u4E00\u62EC\u30FB\u4E00\u89A7\u30FB\u518D\u9001\u30FB\u53D6\u6D88\uFF09",operations:[{name:"create",summary:"1\u4EBA\u3092\u62DB\u5F85\u3059\u308B\uFF08\u62DB\u5F85\u30E1\u30FC\u30EB\u3092\u9001\u308B\uFF09",usage:"twp user invite create --email <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9> [--role user|admin|super_admin] [--name <\u6C0F\u540D>]",description:"--email \u304C\u5FC5\u9808\u3067\u3059\u3002--role \u3092\u7701\u304F\u3068\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\uFF08user\uFF09\u3067\u62DB\u5F85\u3057\u307E\u3059\u3002\n--nam\
|
|
175
|
-
e \u306F\u62DB\u5F85\u30E1\u30FC\u30EB\u3068\u53D7\u8AFE\u753B\u9762\u306B\u51FA\u3059\u6C0F\u540D\u3067\u3059\uFF08\u53D7\u8AFE\u6642\u306B\u672C\u4EBA\u304C\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09\u3002\n\u6A5F\u80FD\u6A29\u9650\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u65E2\u5B9A\u3092\u4F7F\u3044\u307E\u3059\u3002\n\n"+ROLE_HELP,forbidden:FORBIDDEN2,flags:[{name:"--email",summary:"\u62DB\u5F85\u3059\u308B\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
176
|
-
{name:"--role",summary:"\u6A29\u9650\uFF08user / admin / super_admin\uFF09",takesValue:true,placeholder:"<\u6A29\u9650>"},{name:"--name",summary:"\u6C0F\u540D\uFF08\u62DB\u5F85\u30E1\u30FC\u30EB\u3068\u53D7\u8AFE\u753B\u9762\u306B\u51FA\u308B\uFF09",takesValue:true,placeholder:"<\u6C0F\u540D>"}],async prepare(input){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
|
|
177
|
-
flags.get("--email")?.trim()??"";if(email==="")throw new UsageError("--email \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp user invite create help");if(!EMAIL_RE.test(email))throw new UsageError(`--email \u306E\u5F62\u304C\u9055\u3044\u307E\u3059: ${email}`,"\u4F8B: --email new.member@example.com");const role=input.flags.get("--role");if(role!==void 0)roleValue(role,"--role ");const name=input.flags.get("--name");if(name!==
|
|
178
|
-
\u307E\u3059\uFF08${[...name].length} \u6587\u5B57\u30FB\u4E0A\u9650 255 \u6587\u5B57\uFF09`,"twp user invite create help")}return input},plan(input){const role=input.flags.get("--role");const name=input.flags.get("--name")?.trim();return{method:"POST",path:INVITATIONS_PATH,body:{email:input.flags.get("--email").trim(),role:role===void 0?"user":roleValue(role,"--role "),...name!==void 0&&name!==""?{user_name:name}:
|
|
179
|
-
\uFF09\u3067\u62DB\u5F85\u3057\u307E\u3059\u3002"],summarize:body=>successAck(body,"\u62DB\u5F85"),raw:body=>successAck(body,"\u62DB\u5F85")},{name:"bulk",summary:"CSV \u306E\u5168\u54E1\u3092\u62DB\u5F85\u3059\u308B\uFF081\u56DE 50 \u4EF6\u307E\u3067\uFF09",usage:"twp user invite bulk --file <CSV>",description:`CSV \u306F\u300C\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\u300D\u306E2\u5217\u3067\u3059\uFF081\u884C\u76EE\u306E\u30D8\u30C3\u30C0
|
|
175
|
+
e \u306F\u62DB\u5F85\u30E1\u30FC\u30EB\u3068\u53D7\u8AFE\u753B\u9762\u306B\u51FA\u3059\u6C0F\u540D\u3067\u3059\uFF08\u53D7\u8AFE\u6642\u306B\u672C\u4EBA\u304C\u5909\u66F4\u3067\u304D\u307E\u3059\uFF09\u3002\n\u6A5F\u80FD\u6A29\u9650\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u65E2\u5B9A\u3092\u4F7F\u3044\u307E\u3059\uFF08twp user default-permission list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002\n\n"+ROLE_HELP,forbidden:FORBIDDEN2,flags:[{name:"--email",summary:"\u62DB\u5F85\u3059\u308B\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",
|
|
176
|
+
takesValue:true,placeholder:"<\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>"},{name:"--role",summary:"\u6A29\u9650\uFF08user / admin / super_admin\uFF09",takesValue:true,placeholder:"<\u6A29\u9650>"},{name:"--name",summary:"\u6C0F\u540D\uFF08\u62DB\u5F85\u30E1\u30FC\u30EB\u3068\u53D7\u8AFE\u753B\u9762\u306B\u51FA\u308B\uFF09",takesValue:true,placeholder:"<\u6C0F\u540D>"}],async prepare(input){if(input.args.length>0){throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
|
|
177
|
+
args.join(" ")}`,"twp user invite create help")}const email=input.flags.get("--email")?.trim()??"";if(email==="")throw new UsageError("--email \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp user invite create help");if(!EMAIL_RE.test(email))throw new UsageError(`--email \u306E\u5F62\u304C\u9055\u3044\u307E\u3059: ${email}`,"\u4F8B: --email new.member@example.com");const role=input.flags.get("--role");if(role!==void 0)roleValue(role,"--role ");const name=input.flags.get("--name");if(name!==
|
|
178
|
+
void 0&&[...name].length>255){throw new UsageError(`\u6C0F\u540D\u304C\u9577\u3059\u304E\u307E\u3059\uFF08${[...name].length} \u6587\u5B57\u30FB\u4E0A\u9650 255 \u6587\u5B57\uFF09`,"twp user invite create help")}return input},plan(input){const role=input.flags.get("--role");const name=input.flags.get("--name")?.trim();return{method:"POST",path:INVITATIONS_PATH,body:{email:input.flags.get("--email").trim(),role:role===void 0?"user":roleValue(role,"--role "),...name!==void 0&&name!==""?{user_name:name}:
|
|
179
|
+
{}}}},plannedNotes:input=>input.flags.has("--role")?[]:["--role \u672A\u6307\u5B9A\u306E\u305F\u3081\u3001\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\uFF08user\uFF09\u3067\u62DB\u5F85\u3057\u307E\u3059\u3002"],summarize:body=>successAck(body,"\u62DB\u5F85"),raw:body=>successAck(body,"\u62DB\u5F85")},{name:"bulk",summary:"CSV \u306E\u5168\u54E1\u3092\u62DB\u5F85\u3059\u308B\uFF081\u56DE 50 \u4EF6\u307E\u3067\uFF09",usage:"twp user invite bulk --file <CSV>",description:`CSV \u306F\u300C\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\u300D\u306E2\u5217\u3067\u3059\uFF081\u884C\u76EE\u306E\u30D8\u30C3\u30C0 em\
|
|
180
|
+
ail,role \u306F\u7701\u7565\u3067\u304D\u307E\u3059\uFF09\u3002
|
|
180
181
|
\u6C0F\u540D\u306E\u5217\u306F\u7F6E\u3051\u307E\u305B\u3093\uFF08\u4E00\u62EC\u62DB\u5F85\u3067\u306F\u6C0F\u540D\u306F\u9001\u3089\u308C\u305A\u3001\u53D7\u8AFE\u6642\u306B\u672C\u4EBA\u304C\u5165\u529B\u3057\u307E\u3059\uFF09\u3002
|
|
181
182
|
\u7A7A\u884C\u3068 # \u3067\u59CB\u307E\u308B\u884C\u306F\u8AAD\u307F\u98DB\u3070\u3057\u307E\u3059\u3002
|
|
182
183
|
|
|
@@ -189,8 +190,8 @@ flags.get("--email")?.trim()??"";if(email==="")throw new UsageError("--email \u3
|
|
|
189
190
|
\u9001\u3063\u305F\u5F8C\u306B\u30B5\u30FC\u30D0\u304C\u884C\u3054\u3068\u306B\u65AD\u3063\u305F\u5834\u5408\uFF08\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u308B\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u7B49\uFF09\u306F\u3001
|
|
190
191
|
\u5931\u6557\u3057\u305F\u884C\u3068\u9001\u4FE1\u6E08\u307F\u306E\u884C\u3092 stderr \u306B\u51FA\u3057\u3066\u7D42\u4E86\u30B3\u30FC\u30C9 3 \u3067\u7D42\u308F\u308A\u307E\u3059\uFF08\u9001\u4FE1\u6E08\u307F\u306E\u884C\u306F\u53D6\u308A\u6D88\u3055\u308C\u307E\u305B\u3093\uFF09\u3002
|
|
191
192
|
|
|
192
|
-
\u6A5F\u80FD\u6A29\u9650\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u65E2\u5B9A\u3092\u4F7F\u3044\u307E\u3059\u3002${ROLE_HELP}`,forbidden:FORBIDDEN2,flags:[{name:"--file",summary:"\u62DB\u5F85\u3059\u308B\u4EBA\u306E CSV\uFF08\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\uFF09",takesValue:true,placeholder:"<CSV>"}],async prepare(input){const usage="twp user invite bulk help";if(input.args.length>0)throw new UsageError(
|
|
193
|
-
args.join(" ")}`,usage);const file=input.flags.get("--file");if(file===void 0||file.trim()==="")throw new UsageError("--file <CSV> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const{rows,errors}=parseInviteCsv(readCsvFile(file,usage));if(errors.length>0){throw new UsageError(`CSV \u306B\u4E0D\u6B63\u306A\u884C\u304C ${errors.length} \u884C\u3042\u308B\u305F\u3081\u30011\u901A\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093:
|
|
193
|
+
\u6A5F\u80FD\u6A29\u9650\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u65E2\u5B9A\u3092\u4F7F\u3044\u307E\u3059\uFF08twp user default-permission list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002${ROLE_HELP}`,forbidden:FORBIDDEN2,flags:[{name:"--file",summary:"\u62DB\u5F85\u3059\u308B\u4EBA\u306E CSV\uFF08\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\uFF09",takesValue:true,placeholder:"<CSV>"}],async prepare(input){const usage="twp user invite bulk help";if(input.args.length>0)throw new UsageError(
|
|
194
|
+
`bulk \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage);const file=input.flags.get("--file");if(file===void 0||file.trim()==="")throw new UsageError("--file <CSV> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);const{rows,errors}=parseInviteCsv(readCsvFile(file,usage));if(errors.length>0){throw new UsageError(`CSV \u306B\u4E0D\u6B63\u306A\u884C\u304C ${errors.length} \u884C\u3042\u308B\u305F\u3081\u30011\u901A\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093:
|
|
194
195
|
${errors.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`)}if(rows.length===0)throw new UsageError(`CSV \u306B\u62DB\u5F85\u3059\u308B\u884C\u304C\u3042\u308A\u307E\u305B\u3093: ${file}`,usage);if(rows.length>BULK_MAX){throw new UsageError(`\u4E00\u5EA6\u306B\u62DB\u5F85\u3067\u304D\u308B\u306E\u306F ${BULK_MAX} \u4EF6\
|
|
195
196
|
\u307E\u3067\u3067\u3059\uFF08${rows.length} \u4EF6\uFF09`,`CSV \u3092 ${BULK_MAX} \u884C\u305A\u3064\u306B\u5206\u3051\u3066\u6253\u3063\u3066\u304F\u3060\u3055\u3044\u3002`)}return withResolved(input,{rows:JSON.stringify(rows)})},plan:bulkPlan,plannedNotes:input=>{const rows=bulkRows(input);return[`${rows.length} \u4EF6\u3092\u62DB\u5F85\u3057\u307E\u3059:`,...rows.map(row=>` ${row.line} \u884C\u76EE: ${row.email}\uFF08${row.role}\uFF09`)]},execute:runBulk,summarize:body=>(bulkBody(body).rows??
|
|
196
197
|
[]).map(row=>pick(row,["line","email","role","success","queued","error"])),raw:body=>{const response=bulkBody(body).response??body;if(!isRecord(response))return response;const rest={...response};delete rest["result"];return rest},notes:body=>{const response=bulkBody(body).response;const queued=isRecord(response)?response["queued_count"]:void 0;const warnings=isRecord(response)?response["license_warnings"]:void 0;const notes=[];if(typeof queued==="number"&&queued>0){notes.push(`${queued} \u4EF6\u306F\u9001\u4FE1\u5F85\u3061\u306E\u5217\
|
|
@@ -210,14 +211,14 @@ join(" / ")}`,"\u6A5F\u80FD\u30B3\u30FC\u30C9\u3067\u6307\u5B9A\u3057\u3066\u304
|
|
|
210
211
|
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
212
|
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
213
|
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
|
|
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[{
|
|
215
|
-
|
|
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`,
|
|
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"));
|
|
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;
|
|
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
|
|
220
|
-
|
|
214
|
+
return}seen.set(key,line);rows.push({line,user,feature,level})});return{rows,errors}}function featureLevelFlags(input,usage){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",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",
|
|
215
|
+
"\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[{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>=<\u30EC\u30D9\u30EB> \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\
|
|
216
|
+
\u3055\u3044\u3002")}return{feature:value.slice(0,at),level:value.slice(at+1)}})}function flagRows(input,user){return featureLevelFlags(input,UPDATE_USAGE).map(pair=>({line:null,user,...pair}))}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\
|
|
217
|
+
\u30E6\u30FC\u30B6\u30FC\u3092\u4F4D\u7F6E\u5F15\u6570\u3067\u53D7\u3051\u307E\u305B\u3093\uFF08CSV \u306E\u5217\u3067\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`,
|
|
218
|
+
UPDATE_HELP)}const file=input.flags.get(FILE_FLAG2.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"));
|
|
219
|
+
const parsed=parsePermissionCsv(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;
|
|
220
|
+
for(const row of raw){try{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?
|
|
221
|
+
`--feature ${row.feature}`:`${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
222
|
${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
223
|
\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
224
|
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?
|
|
@@ -279,7 +280,26 @@ return body["rows"]}var listOperation2={name:"list",summary:"1\u4EBA\u306E\u6A5F
|
|
|
279
280
|
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
281
|
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
282
|
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
|
|
283
|
+
operations:[listOperation2,updateOperation2]};var FORBIDDEN4="\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp user default-permission \u306F\u7D44\u7E54\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059";var PATH="/api/v2/admin/tenant/default-feature-permissions";var UPDATE_USAGE2="twp user default-permission update --feature <\u6A5F\u80FD> --level <\u30EC\u30D9\u30EB> | twp user default-permission update --feature <\u6A5F\u80FD>=<\u30EC\u30D9\u30EB> [--feature \u2026]";var SCOPE_NOTE="\u65E2\u5B9A\u306F\u3001\u3053\
|
|
284
|
+
\u308C\u304B\u3089\u4F5C\u6210\u30FB\u62DB\u5F85\u30FBSSO \u306E\u81EA\u52D5\u4F5C\u6210\u3067\u5165\u308B\u4EBA\u306B\u4ED8\u304F\u6A29\u9650\u3067\u3059\u3002\u3044\u307E\u3044\u308B\u30E6\u30FC\u30B6\u30FC\u306E\u6A29\u9650\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF081\u4EBA\u305A\u3064\u5909\u3048\u308B\u3068\u304D\u306F twp user permission update\uFF09\u3002";async function forbiddenGuarded(work){try{return await work()}catch(err){if(err instanceof ResolveError&&err.status===403)throw new ResolveError(
|
|
285
|
+
`${FORBIDDEN4}\uFF08${err.message}\uFF09`,403);throw err}}function defaultRows(body){const levels=isRecord(body)?body["default_feature_permissions"]:void 0;const metadata=isRecord(body)?body["feature_metadata"]:void 0;if(!isRecord(levels)||!isRecord(metadata)){throw new ApiResponseError("\u65E2\u5B9A\u306E\u6A5F\u80FD\u6A29\u9650\u306E\u5FDC\u7B54\u306B default_feature_permissions / feature_metadata \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
286
|
+
return Object.entries(metadata).map(([code,meta])=>{const label2=isRecord(meta)&&typeof meta["label"]==="string"?meta["label"]:code;const choices=isRecord(meta)&&Array.isArray(meta["levels"])?meta["levels"].map(String).join("/"):"";const level=levels[code];return{feature_name:label2,feature_code:code,level:typeof level==="string"?level:"(\u306A\u3057)",levels:choices}})}var listOperation3={name:"list",summary:"\u65B0\u3057\u304F\u5165\u308B\u4EBA\u306B\u4ED8\u304F\u65E2\u5B9A\u306E\u6A5F\u80FD\u6A29\u9650\u3092\u4E26\u3079\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",
|
|
287
|
+
usage:"twp user default-permission list",description:"\u6A5F\u80FD\u3054\u3068\u306B\u3001\u65E2\u5B9A\u306E\u30EC\u30D9\u30EB\uFF08level\uFF09\u3068\u53D6\u308C\u308B\u30EC\u30D9\u30EB\uFF08levels\uFF09\u30921\u884C\u305A\u3064\u51FA\u3057\u307E\u3059\u3002\n\u753B\u9762\u306E\u300C\u30C6\u30CA\u30F3\u30C8\u8A2D\u5B9A > \u8A8D\u8A3C\u9023\u643A\u300D\u306E\u300C\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210\u6642\u30C7\u30D5\u30A9\u30EB\u30C8\u5229\u7528\u6A5F\u80FD\u300D\u3068\u540C\u3058\u5024\u3067\u3059\u3002\n\n"+
|
|
288
|
+
SCOPE_NOTE,forbidden:FORBIDDEN4,flags:[],async prepare(input){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp user default-permission list");return input},plan:()=>({method:"GET",path:PATH}),summarize:body=>defaultRows(body),raw:body=>defaultRows(body)};function mergeDefaults(current,wanted){const body={...current};const changes=[];for(const item of wanted){changes.push({feature:item.feature,featureLabel:item.
|
|
289
|
+
featureLabel,from:current[item.feature]??"none",to:item.level});body[item.feature]=item.level}return{body,changes}}function revertCommand2(changes){const moved=changes.filter(change=>change.from!==change.to);if(moved.length===0)return null;return`twp user default-permission update ${moved.map(change=>`--feature ${shellQuote(`${change.feature}=${change.from}`)}`).join(" ")}`}async function prepareUpdate2(input,ctx){if(input.args.length>0){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306F\u30C6\u30CA\u30F3\u30C8\u306B1\u3064\u3067\u3059\uFF09: ${input.
|
|
290
|
+
args.join(" ")}`,UPDATE_USAGE2)}const pairs=featureLevelFlags(input,UPDATE_USAGE2);const defs=await forbiddenGuarded(()=>ctx.resolver.featurePermissions());const wanted=[];for(const pair of pairs){const def=featureDef(pair.feature,defs);const level=levelOf(pair.level,def);if(wanted.some(item=>item.feature===def.code)){throw new UsageError(`${def.label}\uFF08${def.code}\uFF09\u304C2\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`,"1\u3064\u306E\u6A5F\u80FD\u306B\u3064\u304D --feature \u306F1\u56DE\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
|
|
291
|
+
wanted.push({feature:def.code,featureLabel:def.label,level})}const current=await forbiddenGuarded(()=>ctx.resolver.defaultFeatureLevels());const{body,changes}=mergeDefaults(current,wanted);return withResolved(input,{body:JSON.stringify(body),changes:JSON.stringify(changes)})}function changesOf(input){return JSON.parse(requireResolved(input,"changes"))}function updatePlan(input){return{method:"PUT",path:PATH,body:JSON.parse(requireResolved(input,"body"))}}function updateBody(body){if(!isRecord(body)||
|
|
292
|
+
body["defaultUpdate"]!==true||!Array.isArray(body["changes"])){throw new ApiResponseError("\u65E2\u5B9A\u306E\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}async function runUpdate2(input,ctx){const plan=updatePlan(input);const response=await ctx.send(plan);if(!isRecord(response)||response["result"]!==true){throw new ApiResponseError("\u65E2\u5B9A\u306E\u6A5F\u80FD\u6A29\u9650\u306E\u66F4\
|
|
293
|
+
\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")}const saved=isRecord(response["default_feature_permissions"])?response["default_feature_permissions"]:{};const savedOf=feature=>typeof saved[feature]==="string"?saved[feature]:null;const changes=changesOf(input);const sent=plan.body;const drifted=Object.entries(sent).filter(([feature,level])=>!changes.some(change=>change.
|
|
294
|
+
feature===feature)&&savedOf(feature)!==level).map(([feature,level])=>({feature,sent:level,saved:savedOf(feature)}));return{defaultUpdate:true,changes:changes.map(change=>({...change,saved:savedOf(change.feature)})),drifted,response}}var updateOperation3={name:"update",summary:"\u65E2\u5B9A\u306E\u6A5F\u80FD\u6A29\u9650\u3092\u5909\u3048\u308B\uFF08\u6307\u5B9A\u3057\u306A\u3044\u6A5F\u80FD\u306F\u3044\u307E\u306E\u5024\u306E\u307E\u307E\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:UPDATE_USAGE2,
|
|
295
|
+
description:"\u753B\u9762\u306E\u300C\u30C6\u30CA\u30F3\u30C8\u8A2D\u5B9A > \u8A8D\u8A3C\u9023\u643A\u300D\u306E\u300C\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210\u6642\u30C7\u30D5\u30A9\u30EB\u30C8\u5229\u7528\u6A5F\u80FD\u300D\u3068\u540C\u3058\u5909\u66F4\u3092\u3057\u307E\u3059\uFF08\u540C\u3058 API \u3092\u4F7F\u3044\u307E\u3059\uFF09\u3002\n\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\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\n\u53D6\u308C\u308B\u30EC\u30D9\u30EB\u306F twp user default-permission list \u306E levels \u5217\u3067\u898B\u3089\u308C\u307E\u3059\u3002\u53D6\u308C\u306A\u3044\u7D44\u307F\u5408\u308F\u305B\u306F\u9001\u308B\u524D\u306B\u6B62\u3081\u307E\u3059\u3002\n\n twp user default-permission update --feature wiki_management --level viewer\n twp user default-permission update --feature inquiry=member --feature workflow=none\n\n\u30B5\u30FC\u30D0\u306E API \u306F\u5168\u6A5F\u80FD\u3092\u307E\u3068\u3081\u3066\u7F6E\u304D\u63DB\u3048\u308B\u305F\u3081\u3001\u3044\u307E\u306E\u65E2\u5B9A\u3092\u8AAD\u3093\u3067\u304B\u3089\u3001\u6307\u5B9A\u3057\u305F\u6A5F\u80FD\u3060\u3051\u3092\u5DEE\u3057\u66FF\u3048\u3066\u5168\u6A5F\u80FD\u3092\u9001\u308A\u307E\u3059\u3002\n\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u6A5F\u80FD\u306E\u65E2\u5B9A\u306F\u5909\u308F\u308A\u307E\u305B\u3093\u3002\u9001\u308B\u524D\u306B\u300C\u3069\u306E\u6A5F\u80FD\u304C\u4F55\u304B\u3089\u4F55\u3078\u300D\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-r\
|
|
296
|
+
un \u306F\u3053\u3053\u3067\u6B62\u307E\u308A\u3001\n\u9001\u308B\u672C\u6587\u306E\u5168\u4F53\u3092\u51FA\u3057\u307E\u3059\uFF09\u3002\u9001\u3063\u305F\u3042\u3068\u306F\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u3057\u305F\u5024\u3092\u5168\u6A5F\u80FD\u3067\u78BA\u304B\u3081\u3001\u5143\u306B\u623B\u3059\u30B3\u30DE\u30F3\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n\u8AAD\u3093\u3067\u304B\u3089\u9001\u308B\u307E\u3067\u306E\u9593\u306B\u5225\u306E\u7BA1\u7406\u8005\u304C\u753B\u9762\u3067\u5909\u3048\u305F\u5024\u306F\u3001\u8AAD\u3093\u3060\u6642\u70B9\u306E\u5024\u3067\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306B\u7AF6\u5408\u306E\u691C\u51FA\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\n\n"+
|
|
297
|
+
SCOPE_NOTE,forbidden:FORBIDDEN4,flags:[FEATURE_FLAG,LEVEL_FLAG],prepare:prepareUpdate2,plan:updatePlan,plannedNotes:()=>["\u3044\u307E\u306E\u65E2\u5B9A\u306F GET \u6E08\u307F\u3067\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u6A5F\u80FD\u306F\u305D\u306E\u5024\u306E\u307E\u307E\u9001\u308A\u307E\u3059\uFF09\u3002"],async preview(input){const notes=changesOf(input).map(change=>change.from===change.to?`${change.featureLabel}\uFF08${change.feature}\uFF09: ${change.to} \u306E\u307E\u307E\uFF08\u65E2\u306B\u3053\u306E\u5024\u3067\u3059\uFF09`:
|
|
298
|
+
`${change.featureLabel}\uFF08${change.feature}\uFF09: ${change.from} \u2192 ${change.to}`);notes.push(SCOPE_NOTE);return{notes,warnings:[]}},execute:runUpdate2,summarize:body=>updateBody(body).changes.map(change=>({feature_name:change.featureLabel,feature_code:change.feature,from:change.from,to:change.saved??"(\u4E0D\u660E)"})),raw:body=>updateBody(body).changes.map(change=>({feature_code:change.feature,from_level:change.from,to_level:change.to,saved_level:change.saved})),notes(body){const notes=[];
|
|
299
|
+
const revert=revertCommand2(updateBody(body).changes);if(revert!==null)notes.push(`\u5143\u306B\u623B\u3059\u306B\u306F:
|
|
300
|
+
${revert}`);return notes},failures:body=>{const{changes,drifted}=updateBody(body);return[...changes.filter(change=>change.saved!==change.to).map(change=>({target:`${change.featureLabel}\uFF08${change.feature}\uFF09`,error:new ApiRejectedError(`${change.to} \u3092\u9001\u308A\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u3057\u305F\u5024\u306F ${change.saved??"\uFF08\u5FDC\u7B54\u306B\u7121\u3057\uFF09"} \u3067\u3059\u3002twp user default-permission list \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`)})),
|
|
301
|
+
...drifted.map(item=>({target:item.feature,error:new ApiRejectedError(`\u6307\u5B9A\u3057\u3066\u3044\u306A\u3044\u6A5F\u80FD\u306E\u65E2\u5B9A\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${item.sent} \u3092\u9001\u308A\u307E\u3057\u305F\u304C\u3001\u4FDD\u5B58\u3055\u308C\u305F\u5024\u306F ${item.saved??"\uFF08\u5FDC\u7B54\u306B\u7121\u3057\uFF09"} \u3067\u3059\uFF09\u3002twp user default-permission update --feature ${shellQuote(`${item.feature}=${item.sent}`)} \u3067\u623B\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}))]}};
|
|
302
|
+
var userDefaultPermissionResource={name:"default-permission",summary:"\u65B0\u3057\u304F\u5165\u308B\u4EBA\u306B\u4ED8\u304F\u65E2\u5B9A\u306E\u6A5F\u80FD\u6A29\u9650\uFF08\u53C2\u7167\u30FB\u5909\u66F4\u3002\u65E2\u5B58\u30E6\u30FC\u30B6\u30FC\u306F\u5909\u308F\u3089\u306A\u3044\uFF09",operations:[listOperation3,updateOperation3]};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"]!==
|
|
283
303
|
"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,
|
|
284
304
|
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>"},{flag:"--\
|
|
285
305
|
two-factor-tel",key:"two_factor_tel",label:"\u4E8C\u6BB5\u968E\u8A8D\u8A3C\u7528\u306E\u96FB\u8A71\u756A\u53F7",maxChars:20,summary:"\u4E8C\u6BB5\u968E\u8A8D\u8A3C\uFF08SMS\uFF09\u306E\u9001\u308A\u5148\u96FB\u8A71\u756A\u53F7",placeholder:"<\u96FB\u8A71\u756A\u53F7>"},{flag:"--employee-identifier",key:"employee_identifier",label:"\u793E\u54E1\u8B58\u5225\u5B50",maxChars:255,summary:"\u793E\u54E1\u8B58\u5225\u5B50\uFF08\u4EBA\u6750\u60C5\u5831\uFF09",placeholder:"<\u8B58\u5225\u5B50>"},{flag:"--\
|
|
@@ -309,6 +329,7 @@ key]=value}return body}function writeAck2(body,label2){if(!isRecord(body)||body[
|
|
|
309
329
|
usage:"twp user create --name <\u6C0F\u540D> --email <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9> --password-file <\u30D1\u30B9|-> [--role admin|user] [--kana <\u30D5\u30EA\u30AC\u30CA>] [--hire-date <YYYY-MM-DD>] [--employee-code <\u793E\u54E1\u756A\u53F7>] [--two-factor none|email|sms] [--punch-correction true|false] [--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
|
|
310
330
|
\u8868\u793A\u30D5\u30E9\u30B0\u3092\u7701\u304F\u3068\u3001\u30B5\u30FC\u30D0\u306E\u65E2\u5B9A\uFF08\u3059\u3079\u3066 true\uFF1D\u8868\u793A\u3059\u308B\uFF09\u3067\u4F5C\u6210\u3057\u307E\u3059\u3002
|
|
311
331
|
\u6A5F\u80FD\u6A29\u9650\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u65E2\u5B9A\u3067\u4ED8\u4E0E\u3055\u308C\u307E\u3059\uFF08\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7A7A\u304D\u304C\u8DB3\u308A\u306A\u3044\u6A5F\u80FD\u306F\u4ED8\u4E0E\u3055\u308C\u305A\u3001stderr \u306B\u51FA\u307E\u3059\uFF09\u3002
|
|
332
|
+
\u65E2\u5B9A\u306F twp user default-permission list \u3067\u898B\u3089\u308C\u3001update \u3067\u5909\u3048\u3089\u308C\u307E\u3059\u3002
|
|
312
333
|
|
|
313
334
|
${PASSWORD_HELP}
|
|
314
335
|
|
|
@@ -320,7 +341,7 @@ ${PROFILE_HELP}
|
|
|
320
341
|
`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.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(body["two_factor_authentication_type"]===TWO_FACTOR_TYPES["sms"]&&body["two_factor_tel"]===void 0){throw new UsageError("--two-factor sms \u306B\u306F \
|
|
321
342
|
--two-factor-tel \u3082\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u4E8C\u6BB5\u968E\u8A8D\u8A3C\u306E\u30B3\u30FC\u30C9\u3092 SMS \u3067\u9001\u308B\u96FB\u8A71\u756A\u53F7\u3067\u3059\u3002")}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(input,{password})},plan(input){const body=userFields(input);
|
|
322
343
|
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"),["user_id","message"]),raw:body=>writeAck2(body,"\u30E6\u30FC\u30B6\u30FC\u4F5C\u6210"),
|
|
323
|
-
notes:body=>licenseNotes(body)};var UPDATE_FLAGS=[...FIELD_FLAGS,AUTH_TYPE_FLAG,CLEAR_FLAG,USER_REF_FLAG];var
|
|
344
|
+
notes:body=>licenseNotes(body)};var UPDATE_FLAGS=[...FIELD_FLAGS,AUTH_TYPE_FLAG,CLEAR_FLAG,USER_REF_FLAG];var updateOperation4={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-chart true|false] [--dashboard true|false] [--name <\u6C0F\u540D>] [--two-factor none\
|
|
324
345
|
|email|sms] [--clear <\u9805\u76EE>] \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
|
|
325
346
|
\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
|
|
326
347
|
\u5024\u3092\u6D88\u3059\u3068\u304D\u306F --clear <\u9805\u76EE> \u3092\u4F7F\u3044\u307E\u3059\uFF08${Object.keys(CLEARABLE).join(" / ")}\u30FB\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u308B\uFF09\u3002
|
|
@@ -365,4 +386,4 @@ input.flags,"--employment"),include_hidden:input.flags.has("--include-hidden")?"
|
|
|
365
386
|
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:"\
|
|
366
387
|
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\
|
|
367
388
|
\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\
|
|
368
|
-
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,
|
|
389
|
+
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,updateOperation4,unlockOperation,exportOperation,...userHrOperations],subresources:[userAssignmentResource,userInviteResource,userPermissionResource,userDefaultPermissionResource]};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-
|
|
3
|
+
import{booleanQuery,cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterItem,masterRows,referencedDeleteGuidance,targetId,updateFlags}from"./chunk-45WIRMGL.js";import"./chunk-JJSBBWJ5.js";import{USER_CONTRACT_TYPES_PATH}from"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.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-EDF4U5BT.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,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{USER_REF_HELP}from"./chunk-UVCJXHWN.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{USER_GROUPS_PATH,USER_GROUP_LIMIT}from"./chunk-
|
|
3
|
+
import{USER_REF_HELP}from"./chunk-UVCJXHWN.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{USER_GROUPS_PATH,USER_GROUP_LIMIT}from"./chunk-4DOPQ74T.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import{nonEmpty}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";
|
|
4
4
|
import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u30E6\u30FC\u30B6\u30FC\u30B0\u30EB\u30FC\u30D7";var LIST_COLUMNS=["id","usergroup_name","display_type","select_type","sort","updated"];var GET_COLUMNS=["id","usergroup_name","display_type","select_type","sort","member_count","members","updated"];var MEMBER_COLUMNS=["user_id","user_name","email","code"];var DISPLAY_VALUES={visible:1,hidden:0};var SELECT_VALUES={all:1,"admin-only":0};var FORBIDDEN="\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u30B0\u30EB\u30FC\u30D7\u306E\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059";
|
|
5
5
|
var REF_HELP="<\u30B0\u30EB\u30FC\u30D7> \u306F\u30B0\u30EB\u30FC\u30D7\u540D\u304B ID \u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u30B0\u30EB\u30FC\u30D7\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";var KIND_HELP="\
|
|
6
6
|
display_type: 1\uFF1D\u8868\u793A / 0\uFF1D\u975E\u8868\u793A\uFF08\u9078\u629E\u80A2\u306B\u51FA\u3055\u306A\u3044\uFF09\u3002select_type: 1\uFF1D\u5168\u54E1\uFF08\u7BA1\u7406\u8005\u30FB\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u304C\u9078\u3079\u308B\uFF09/ 0\uFF1D\u7BA1\u7406\u8005\u306E\u307F\u3002";var DELETED_USERS_NOTE="\u524A\u9664\u6E08\u307F\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\u306F\u3001\u30B5\u30FC\u30D0\u304C\u8A73\u7D30\u306B\u8FD4\u3055\u306A\u3044\u305F\u3081\u9001\u4FE1\u6642\u306B\u6D88\u3048\u307E\u3059\uFF08\u753B\u9762\u3067\u4FDD\u5B58\u3057\u305F\u3068\u304D\u3068\u540C\u3058\uFF09\u3002";
|
|
@@ -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-
|
|
3
|
+
import{SCHEDULE_HELP,parseSchedule,readRunStatus,workerAgentDomain}from"./chunk-EOXGQHZA.js";import"./chunk-WVCEKC7V.js";import"./chunk-A3VGBVQP.js";import"./chunk-W4NLJ2YK.js";import"./chunk-5TKHN3A5.js";import"./chunk-RX5HWI4L.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";
|
|
4
4
|
import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.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-
|
|
4
|
-
import"./chunk-
|
|
3
|
+
import{applyInstancePlan,createInstancePlan,formColumns,parseInstanceContent,workflowDomain,writtenInstance}from"./chunk-O6GAIXHJ.js";import"./chunk-MZB4KA26.js";import"./chunk-DMMSNDDD.js";import"./chunk-4557EX6E.js";import"./chunk-JJSBBWJ5.js";import"./chunk-A3VGBVQP.js";import"./chunk-W4NLJ2YK.js";import"./chunk-5TKHN3A5.js";import"./chunk-RX5HWI4L.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
|
|
4
|
+
import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.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
package/dist/chunk-JQQP7JLQ.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
var DOMAIN_NAMES=["agent","agent-loop","ai-review-reason","analysis","announcement","attendance","audit-log","backlog","budget","business-hours","business-place","company","contract","customer","department","deposit","estimate","evaluation","expense","faq","fiscal-year","goal-sheet","holiday","inquiry","invoice","job-title","knowledge","leave","license","login-history","media","meeting","note","notification","onedrive","outlook","payee","position","project","prospect","purchase","qualification",
|
|
4
|
-
"receivable","redmine","report","role-template","rounding-setting","seal-impression","search","segment","shift","skill","staffing-board","storage","supplier-payment","support","task","teams","user","user-contract-type","user-group","wiki","workchange","worker-agent","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
|
package/dist/chunk-LGNYEROA.js
DELETED
|
@@ -1,12 +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-SX7Z5BVN.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-QV7WHT7B.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-KYYUF5HG.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-6MPLKJUS.js")).analysisDomain,announcement:async()=>(await import("./announcement-4ZK63ONY.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-X67ITW3J.js")).attendanceDomainWithRecords,
|
|
4
|
-
"audit-log":async()=>(await import("./audit-log-ZGK7IVLD.js")).auditLogDomain,backlog:async()=>(await import("./backlog-ZHON6HED.js")).backlogDomain,budget:async()=>(await import("./budget-FEEEYUX2.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-I4X6YQS3.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-UNKMFZDV.js")).businessPlaceDomain,company:async()=>(await import("./company-YFHD4RLP.js")).companyDomain,contract:async()=>(await import("./contract-C7PTM573.js")).
|
|
5
|
-
contractDomain,customer:async()=>(await import("./company-YFHD4RLP.js")).customerDomain,department:async()=>(await import("./department-JZVWFUCI.js")).departmentDomain,deposit:async()=>(await import("./deposit-NUWEBC7M.js")).depositDomain,estimate:async()=>(await import("./estimate-GJEDV3D5.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-KQPTG4G3.js")).evaluationDomain,expense:async()=>(await import("./expense-NFQY5NZN.js")).expenseDomain,faq:async()=>(await import("./faq-QVRTJ3KS.js")).
|
|
6
|
-
faqDomain,"fiscal-year":async()=>(await import("./fiscal-year-GL3RFX6H.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-FUYMZVGX.js")).holidayDomain,"goal-sheet":async()=>(await import("./evaluation-KQPTG4G3.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-XMM6EHNJ.js")).inquiryDomain,invoice:async()=>(await import("./invoice-MLJEVQA4.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-JHTVL7OO.js")).jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-QDSWQW4E.js")).
|
|
7
|
-
knowledgeDomain,leave:async()=>(await import("./leave-GXVOULRK.js")).leaveDomain,license:async()=>(await import("./license-XUPFMAGX.js")).licenseDomain,"login-history":async()=>(await import("./login-history-JIWV62KF.js")).loginHistoryDomain,media:async()=>(await import("./media-FKKQA223.js")).mediaDomain,meeting:async()=>(await import("./knowledge-MROBIUE5.js")).meetingDomain,note:async()=>(await import("./knowledge-MROBIUE5.js")).noteDomain,notification:async()=>(await import("./notification-YAT6O2TK.js")).
|
|
8
|
-
notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-GXWQLCR6.js")).outlookDomain,payee:async()=>(await import("./sales-master-UNKMFZDV.js")).payeeDomain,position:async()=>(await import("./position-33HC7ETC.js")).positionDomain,project:async()=>(await import("./project-O6TQKZBJ.js")).projectDomain,prospect:async()=>(await import("./prospect-LQ2RLIBN.js")).prospectDomain,purchase:async()=>(await import("./purchase-E25SBHR2.js")).
|
|
9
|
-
purchaseDomain,qualification:async()=>(await import("./skill-BJFHENEO.js")).qualificationDomain,receivable:async()=>(await import("./receivable-M3IUSRB7.js")).receivableDomain,redmine:async()=>(await import("./redmine-OIBKHGK3.js")).redmineDomain,report:async()=>(await import("./report-TS7D6YF5.js")).reportDomain,"role-template":async()=>(await import("./evaluation-KQPTG4G3.js")).roleTemplateDomain,"rounding-setting":async()=>(await import("./sales-numbering-URGXUTUX.js")).roundingSettingDomain,
|
|
10
|
-
"seal-impression":async()=>(await import("./sales-master-UNKMFZDV.js")).sealImpressionDomain,search:async()=>(await import("./search-OEOAUIW3.js")).searchDomain,segment:async()=>(await import("./segment-H7FFI52Z.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-RVJIQAAM.js")).shiftDomain,skill:async()=>(await import("./skill-BJFHENEO.js")).skillDomain,"staffing-board":async()=>(await import("./staffing-board-2ZV2Q6TC.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).
|
|
11
|
-
storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-2OVDNHBD.js")).supplierPaymentDomain,support:async()=>(await import("./support-6NZCSDPJ.js")).supportDomain,task:async()=>(await import("./task-GLFAR4GN.js")).taskDomain,teams:async()=>(await import("./teams-KNXVEWMD.js")).teamsDomain,user:async()=>(await import("./user-L6NYXPV6.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-2PUE2JQL.js")).userContractTypeDomain,"user-group":async()=>(await import("./user-group-EIYVFUTB.js")).
|
|
12
|
-
userGroupDomain,wiki:async()=>(await import("./knowledge-MROBIUE5.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-RVJIQAAM.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-2BARDPDL.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-P4SJX6YR.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
package/dist/faq-QVRTJ3KS.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
-
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-RMFLTSOV.js";import{composeDocument,htmlToText,metaLine}from"./chunk-62GRAKUD.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{boundedText}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import{FAQS_PATH}from"./chunk-6DM366P6.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";
|
|
4
|
-
import{MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import"./chunk-II5RVJQN.js";import{positiveInteger}from"./chunk-MI6HVYR2.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-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";
|
|
5
|
-
import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";import path from"path";var LABEL="FAQ";var LIST_COLUMNS=["id","category_label","question","updated_at"];var GET_COLUMNS=["id","question","category","category_label","answer_format","visibility_type","assignee_user_id","attachment_ids","updated_at"];var SEARCH_COLUMNS=["id","category_label","question"];var QUESTION_MAX_CHARS=500;var ANSWER_MAX_STORED_CHARS=6e4;var MAX_ATTACHMENTS=30;var KEYWORD_MAX_CHARS=200;var QUERY_MAX_CHARS=1e3;var TOP_K_MAX=10;var EMBED_EXTENSIONS=[".png",".jpg",".jpeg",".gif",".webp",".pdf"];var EMBED_MAX_BYTES=20*
|
|
6
|
-
1024*1024;var TARGET_TYPES=["all","admin_only","user_only","department","department_position","project","user","contract_type"];var TARGET_TYPES_WITHOUT_ID=["all","admin_only","user_only"];var TARGET_KEYS=["target_type","target_id","target_name","min_position_rank","min_position_name"];var DERIVED_TARGET_KEYS=["target_key"];var ANSWER_FORMATS={markup:"markup_v1",html:"html_v1"};var WRITE_FORBIDDEN="FAQ \u306E\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u6DFB\u4ED8\u306B\u306F\u3001\u300C\u793E\u5185FAQ\u7BA1\u7406\u300D\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
|
|
7
|
-
var ID_HELP="FAQ \u306E ID \u306F twp faq list \u306E id \u5217\u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002";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 arrayOf(body,key,what){const list=envelope(body,what)[key];if(!Array.isArray(list))throw new ApiResponseError(
|
|
8
|
-
`${what}\u306E\u5FDC\u7B54\u306B ${key} \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return list}function faqItem(body,what){const row=envelope(body,what)["faq"];if(!isRecord(row)||typeof row["id"]!=="string")throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B faq \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return row}function faqAttachmentIds(row){
|
|
9
|
-
const ids=row["attachment_ids"];if(ids===null||ids===void 0)return[];if(!Array.isArray(ids)||!ids.every(id=>typeof id==="string")){throw new ApiResponseError("FAQ \u306E attachment_ids \u304C\u6587\u5B57\u5217\u306E\u914D\u5217\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return ids}function answerText(row){const answer=row["answer"];if(typeof answer!=="string")return"";return row["answer_format"]==="html_v1"?htmlToText(
|
|
10
|
-
answer):answer.trim()}function faqDocument(body){const row=faqItem(body,LABEL);const attachments=Array.isArray(row["attachments"])?row["attachments"].filter(isRecord):[];return composeDocument(row["question"],[...metaLine("ID",row["id"]),...metaLine("\u30AB\u30C6\u30B4\u30EA",row["category_label"]??row["category"]),...metaLine("\u516C\u958B\u7BC4\u56F2",row["visibility_type"]==="targets"?"\u5BFE\u8C61\u3092\u6307\u5B9A":"\u5168\u54E1"),...metaLine("\u62C5\u5F53\u8005",row["assignee_user_id"]),...metaLine(
|
|
11
|
-
"\u66F4\u65B0",row["updated_at"])],[{body:answerText(row)},...attachments.length>0?[{heading:`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\uFF08${attachments.length} \u4EF6\uFF09`,body:attachments.map(a=>`- ${String(a["file_name"]??a["id"]??"(\u4E0D\u660E)")}\uFF08${String(a["id"]??"")}\uFF09`).join("\n")}]:[]])}function noArgs(input,op){if(input.args.length>0)throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp faq ${op} help`)}var FAQ_REF_FLAG={
|
|
12
|
-
name:"--faq",summary:"\u5BFE\u8C61\u306E FAQ \u306E ID\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<FAQ\u306EID>"};function faqId(input,usage){const id=singleRef(input,{flag:FAQ_REF_FLAG.name,label:"FAQ \u306E ID",usage}).trim();if(!isSafePathSegment(id))throw new UsageError(`FAQ \u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,ID_HELP);return id}var itemPath=id=>`${FAQS_PATH}/${encodeURIComponent(
|
|
13
|
-
id)}`;function parseTargets(text,file){let parsed;try{parsed=JSON.parse(text.replace(/^\uFEFF/,""))}catch(error){throw new UsageError(`--targets-file \u304C JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${error.message}\uFF09`,TARGETS_HELP)}if(!Array.isArray(parsed)||parsed.length===0)throw new UsageError(`--targets-file \u306F\u516C\u958B\u5BFE\u8C61\u306E\u914D\u5217\uFF081\u4EF6\u4EE5\u4E0A\uFF09\u306B\u3057\u3066\u304F\u3060\u3055\u3044: ${file}`,TARGETS_HELP);if(parsed.
|
|
14
|
-
length>200)throw new UsageError(`\u516C\u958B\u5BFE\u8C61\u306F 200 \u4EF6\u307E\u3067\u3067\u3059\uFF08${parsed.length} \u4EF6\uFF09`,TARGETS_HELP);return parsed.map((target,index)=>{if(!isRecord(target))throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u304C\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093`,TARGETS_HELP);const unknownKeys=Object.keys(target).filter(key=>!TARGET_KEYS.includes(key)&&!DERIVED_TARGET_KEYS.includes(key));if(unknownKeys.
|
|
15
|
-
length>0)throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u306B\u77E5\u3089\u306A\u3044\u30AD\u30FC\u304C\u3042\u308A\u307E\u3059: ${unknownKeys.join(", ")}`,TARGETS_HELP);const type=target["target_type"];if(typeof type!=="string"||!TARGET_TYPES.includes(type)){throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\u306E target_type \u304C\u4E0D\u6B63\u3067\u3059: ${JSON.stringify(type)}`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${TARGET_TYPES.join(" / ")} \u3067\u3059\u3002`)}
|
|
16
|
-
const id=target["target_id"];if(!TARGET_TYPES_WITHOUT_ID.includes(type)&&(typeof id!=="string"||id.trim()==="")){throw new UsageError(`--targets-file \u306E ${index+1} \u4EF6\u76EE\uFF08${type}\uFF09\u306B\u306F target_id \u304C\u8981\u308A\u307E\u3059`,TARGETS_HELP)}return Object.fromEntries(Object.entries(target).filter(([key])=>!DERIVED_TARGET_KEYS.includes(key)))})}var TARGETS_HELP=`--targets-file \u306F\u516C\u958B\u5BFE\u8C61\u306E JSON \u914D\u5217\u3067\u3059\u3002\u4F8B: [{"target_type":"department","target_id":"<\u90E8\u7F72ID>"},{"target_type":"user","t\
|
|
17
|
-
arget_id":"<\u30E6\u30FC\u30B6\u30FCID>"}]
|
|
18
|
-
target_type \u306F ${TARGET_TYPES.join(" / ")}\uFF08${TARGET_TYPES_WITHOUT_ID.join(" / ")} \u4EE5\u5916\u306F target_id \u304C\u8981\u308B\uFF09\u3002\u90E8\u7F72\xD7\u8077\u4F4D\u306F min_position_rank \u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u3044\u307E\u306E\u516C\u958B\u5BFE\u8C61\u306F twp faq get <ID> --output json \u306E visibility_targets \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002`;var ANSWER_SPEC={flag:"--answer",fileFlag:"--answer-file",label:"\u56DE\u7B54",maxChars:ANSWER_MAX_STORED_CHARS};
|
|
19
|
-
var BODY_FLAGS=[{name:"--question",summary:`\u8CEA\u554F\uFF08${QUESTION_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\uFF09`,takesValue:true,placeholder:"<\u8CEA\u554F>"},{name:"--answer",summary:"\u56DE\u7B54\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08\u6539\u884C\u3084\u8A18\u53F7\u3092\u542B\u3080\u306A\u3089 --answer-file\uFF09",takesValue:true,placeholder:"<\u56DE\u7B54>"},{name:"--answer-file",summary:"\u56DE\u7B54\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",
|
|
20
|
-
takesValue:true,placeholder:"<\u30D1\u30B9|->"},{name:"--answer-format",summary:"\u56DE\u7B54\u306E\u5F62\u5F0F\uFF08markup=\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u30FB\u65E2\u5B9A / html=\u753B\u9762\u306E\u30A8\u30C7\u30A3\u30BF\u3068\u540C\u3058 HTML\uFF09\u3002\u56DE\u7B54\u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u308B",takesValue:true,placeholder:"markup|html"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u3002twp faq categories \u3067\u78BA\u8A8D\uFF09",
|
|
21
|
-
takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"},{name:"--visibility",summary:"\u516C\u958B\u7BC4\u56F2\uFF08all=\u5168\u54E1 / targets=--targets-file \u306E\u5BFE\u8C61\u3060\u3051\uFF09",takesValue:true,placeholder:"all|targets"},{name:"--targets-file",summary:"\u516C\u958B\u5BFE\u8C61\u306E JSON \u914D\u5217\uFF08--visibility targets \u306E\u3068\u304D\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--assignee",summary:"\u62C5\u5F53\u8005\uFF08\u6C0F\u540D\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FBID\u30FBme\uFF09",
|
|
22
|
-
takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"},{name:"--attachment",summary:`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306B\u4ED8\u3051\u308B\u6DFB\u4ED8ID\uFF08twp faq attachment upload \u3067\u5F97\u308B\u30FB\u7E70\u308A\u8FD4\u3057\u53EF\u30FB${MAX_ATTACHMENTS} \u4EF6\u307E\u3067\uFF09`,takesValue:true,placeholder:"<\u6DFB\u4ED8ID>",repeatable:true}];var UPDATE_ONLY_FLAGS=[{name:"--no-assignee",summary:"\u62C5\u5F53\u8005\u3092\u5916\u3059",takesValue:false},{name:"--no-attachme\
|
|
23
|
-
nts",summary:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3092\u7A7A\u306B\u3059\u308B\uFF08\u5916\u3057\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3059\u308B\uFF09",takesValue:false}];async function prepareBody(input,ctx,usage,update){const body={};const question=boundedText(input,"--question",{maxChars:QUESTION_MAX_CHARS,label:"\u8CEA\u554F"});if(question!==void 0)body["question"]=question.trim();const answer=await readBody(input,{...ANSWER_SPEC,usage});const format=input.flags.
|
|
24
|
-
get("--answer-format");if(format!==void 0){if(answer===void 0){throw new UsageError("--answer-format \u306F --answer / --answer-file \u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059","\u5F62\u5F0F\u3092\u5909\u3048\u308B\u3068\u304D\u306F\u56DE\u7B54\u672C\u6587\u3082\u9001\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const value=ANSWER_FORMATS[format.trim()];if(value===void 0)throw new UsageError(`--answer-format \u306F markup \u304B html \u3067\u3059: ${format}`,
|
|
25
|
-
usage);body["answer_format"]=value}if(answer!==void 0)body["answer"]=answer;const category=input.flags.get("--category");if(category!==void 0)body["category"]=await ctx.resolver.faqCategory(category);const visibility=input.flags.get("--visibility")?.trim();const targetsFile=input.flags.get("--targets-file");if(visibility!==void 0&&visibility!=="all"&&visibility!=="targets"){throw new UsageError(`--visibility \u306F all \u304B targets \u3067\u3059: ${visibility}`,usage)}if(targetsFile!==void 0){if(visibility===
|
|
26
|
-
"all")throw new UsageError("--visibility all \u3068 --targets-file \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",TARGETS_HELP);const file=path.resolve(targetsFile.trim());let text;try{text=fs.readFileSync(file,"utf8")}catch(error){throw new UsageError(`--targets-file \u3092\u8AAD\u3081\u307E\u305B\u3093: ${file}\uFF08${error.message}\uFF09`)}body["visibility_type"]="targets";body["visibility_targets"]=parseTargets(text,file)}else if(visibility==="targets"){throw new UsageError(
|
|
27
|
-
"--visibility targets \u306B\u306F --targets-file \u304C\u8981\u308A\u307E\u3059",TARGETS_HELP)}else if(visibility==="all"){body["visibility_type"]="all";body["visibility_targets"]=[]}const assignee=input.flags.get("--assignee");if(update&&assignee!==void 0&&input.flags.has("--no-assignee")){throw new UsageError("--assignee \u3068 --no-assignee \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage)}if(assignee!==void 0)body["assignee_user_id"]=(await ctx.resolver.user(assignee,
|
|
28
|
-
"--assignee")).id;if(update&&input.flags.has("--no-assignee"))body["assignee_user_id"]=null;const attachments=[...new Set(repeatedValues(input,"--attachment").map(id=>id.trim()))];if(update&&attachments.length>0&&input.flags.has("--no-attachments")){throw new UsageError("--attachment \u3068 --no-attachments \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",usage)}for(const id of attachments){if(!isSafePathSegment(id))throw new UsageError(`\u6DFB\u4ED8ID \u306E\u5F62\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${id}`,
|
|
29
|
-
"\u6DFB\u4ED8ID \u306F twp faq attachment upload \u306E attachment_id \u5217\u3067\u5F97\u3089\u308C\u307E\u3059\u3002")}if(attachments.length>MAX_ATTACHMENTS)throw new UsageError(`\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u306F ${MAX_ATTACHMENTS} \u4EF6\u307E\u3067\u3067\u3059\uFF08${attachments.length} \u4EF6\uFF09`,usage);if(attachments.length>0)body["attachment_ids"]=attachments;if(update&&input.flags.has("--no-attachments"))body["attachment_ids"]=[];return body}function bodyOf(input){return JSON.
|
|
30
|
-
parse(requireResolved(input,"body"))}var categoriesOperation={name:"categories",summary:"FAQ \u306E\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u3068\u8868\u793A\u540D\uFF09\u3092\u4E00\u89A7\u3059\u308B",usage:"twp faq categories",description:"create / update / list \u306E --category \u306B\u306F\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u3092\u6E21\u305B\u307E\u3059\u3002",flags:[],plan(input){noArgs(input,"categories");return{method:"GET",path:`${FAQS_PATH}/categories`}},summarize:body=>arrayOf(
|
|
31
|
-
body,"categories","FAQ \u30AB\u30C6\u30B4\u30EA\u4E00\u89A7").map(row=>pick(row,["code","label"])),raw:body=>arrayOf(body,"categories","FAQ \u30AB\u30C6\u30B4\u30EA\u4E00\u89A7")};var listOperation={name:"list",summary:"\u81EA\u5206\u306B\u516C\u958B\u3055\u308C\u3066\u3044\u308B FAQ \u3092\u4E00\u89A7\u3059\u308B\uFF08--keyword / --category \u3067\u7D5E\u308B\uFF09",usage:"twp faq list [--keyword <\u8A9E>] [--category <\u30AB\u30C6\u30B4\u30EA>]",description:`\u516C\u958B\u5BFE\u8C61\u306B\u81EA\u5206\u304C\u542B\u307E\u308C\u308B FAQ \u3060\u3051\u304C\u8FD4\u308A\u307E\u3059\uFF08FAQ\u7BA1\u7406\u8005\u30FB\u5168\u4F53\u7BA1\
|
|
32
|
-
\u7406\u8005\u306F\u5168\u4EF6\uFF09\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\u3002
|
|
33
|
-
--keyword \u306F\u8CEA\u554F\u3068\u56DE\u7B54\u306E\u4E21\u65B9\u306B\u52B9\u304D\u307E\u3059\uFF08\u8A9E\u3092\u3059\u3079\u3066\u542B\u3080\u3082\u306E\u3060\u3051\uFF09\u3002\u6587\u7AE0\u3067\u63A2\u3059\u306A\u3089 twp faq search\u3002
|
|
34
|
-
|
|
35
|
-
--output json \u306F\u56DE\u7B54\u672C\u6587\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
|
|
36
|
-
--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--keyword",summary:"\u8CEA\u554F\u30FB\u56DE\u7B54\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--category",summary:"\u30AB\u30C6\u30B4\u30EA\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\uFF09\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"}],async prepare(input,ctx){noArgs(input,"list");
|
|
37
|
-
boundedText(input,"--keyword",{maxChars:KEYWORD_MAX_CHARS,label:"\u691C\u7D22\u8A9E"});const category=input.flags.get("--category");if(category===void 0)return input;return withResolved(input,{category:await ctx.resolver.faqCategory(category)})},plan:input=>({method:"GET",path:FAQS_PATH,query:{keyword:input.flags.get("--keyword"),category:input.resolved?.["category"]}}),summarize:body=>arrayOf(body,"faqs","FAQ \u4E00\u89A7").map(row=>pick(row,LIST_COLUMNS)),raw:body=>arrayOf(body,"faqs","FAQ \u4E00\u89A7")};
|
|
38
|
-
var GET_USAGE="twp faq get <FAQ\u306EID>";var getOperation={name:"get",summary:"FAQ 1\u4EF6\u306E\u8CEA\u554F\u30FB\u56DE\u7B54\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE,description:"\u516C\u958B\u5BFE\u8C61\u5916\u306E FAQ \u306F\u300C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u300D\u306B\u306A\u308A\u307E\u3059\uFF08\u5B58\u5728\u3059\u308B\u304B\u3069\u3046\u304B\u3082\u5206\u304B\u308A\u307E\u305B\u3093\uFF09\u3002\n--output text \u3067\u8AAD\u3081\u308B\u5F62\uFF08\u8CEA\u554F\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u56DE\u7B54\u30FB\u6DFB\u4ED8\uFF09\u3067\u51FA\u3057\u307E\u3059\u3002HTML \u5F62\u5F0F\u306E\u56DE\u7B54\u306F\u5E73\u6587\u306B\u7573\u307F\u307E\u3059\u3002\n--output json \u306F\u516C\u958B\u5BFE\u8C61\uFF08visibility_targets\uFF09\u30FB\u6DFB\u4ED8\uFF08attachments\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3067\u3059\u3002",
|
|
39
|
-
flags:[FAQ_REF_FLAG],plan:input=>({method:"GET",path:itemPath(faqId(input,GET_USAGE))}),summarize:body=>pick(faqItem(body,LABEL),GET_COLUMNS),raw:body=>faqItem(body,LABEL),document:faqDocument};var SEARCH_USAGE='twp faq search "<\u8CEA\u554F\u6587>" [--top-k <\u4EF6\u6570>]';var searchOperation={name:"search",summary:"\u8CEA\u554F\u6587\u304B\u3089\u6839\u62E0\u306B\u306A\u308B FAQ \u3092\u63A2\u3059\uFF08\u753B\u9762\u306E\u300CAI\u306B\u8CEA\u554F\u300D\u306E\u691C\u7D22\u90E8\u5206\uFF09",usage:SEARCH_USAGE,
|
|
40
|
-
description:`\u6587\u7AE0\u306E\u307E\u307E\u6E21\u305B\u307E\u3059\uFF08list --keyword \u3068\u9055\u3044\u3001\u8A9E\u3092\u3059\u3079\u3066\u542B\u3080\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u81EA\u5206\u306B\u516C\u958B\u3055\u308C\u3066\u3044\u308B FAQ \u3060\u3051\u304C\u5BFE\u8C61\u3067\u3059\u3002
|
|
41
|
-
\u56DE\u7B54\u6587\u306E\u751F\u6210\u306F\u3057\u307E\u305B\u3093\uFF08\u753B\u9762\u306E\u300CAI\u306B\u8CEA\u554F\u300D\u304C\u8FD4\u3059\u6587\u7AE0\u306F\u4F5C\u308A\u307E\u305B\u3093\uFF09\u3002\u6839\u62E0\u306E FAQ \u3068\u3001\u305D\u306E\u56DE\u7B54\u672C\u6587\uFF08\u5E73\u6587\uFF09\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
42
|
-
1\u4EF6\u3082\u5F53\u305F\u3089\u306A\u3051\u308C\u3070\u3001\u554F\u3044\u5408\u308F\u305B\u5148\u306E FAQ\uFF08fallback_faq\uFF09\u304C\u3042\u308C\u3070\u305D\u308C\u3092\u8FD4\u3057\u307E\u3059\u3002
|
|
43
|
-
|
|
44
|
-
--output json \u306F {faqs, fallback_faq} \u3067\u3059\u3002--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${SEARCH_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[{name:"--top-k",summary:`\u8FD4\u3059\u4EF6\u6570\u306E\u4E0A\u9650\uFF081\u301C${TOP_K_MAX}\u30FB\u65E2\u5B9A 5\uFF09`,takesValue:true,placeholder:"<\u4EF6\u6570>"}],plan(input){const query=input.args.join(" ").trim();if(query==="")throw new UsageError("\u63A2\u3057\u305F\u3044\u8CEA\u554F\u6587\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
45
|
-
SEARCH_USAGE);if([...query].length>QUERY_MAX_CHARS)throw new UsageError(`\u8CEA\u554F\u6587\u304C\u9577\u3059\u304E\u307E\u3059\uFF08\u4E0A\u9650 ${QUERY_MAX_CHARS} \u6587\u5B57\uFF09`,SEARCH_USAGE);const topK=positiveInteger(input.flags,"--top-k");if(topK!==void 0&&topK>TOP_K_MAX)throw new UsageError(`--top-k \u306F 1\u301C${TOP_K_MAX} \u3067\u3059: ${topK}`,SEARCH_USAGE);return{method:"GET",path:`${FAQS_PATH}/ai-context`,query:{query,top_k:topK===void 0?void 0:String(topK)}}},summarize(body){const rows=arrayOf(
|
|
46
|
-
body,"faqs","FAQ \u691C\u7D22").map(row=>pick(row,SEARCH_COLUMNS));const fallback=body["fallback_faq"];return rows.length===0&&isRecord(fallback)?[{...pick(fallback,SEARCH_COLUMNS),fallback:true}]:rows},raw:body=>({faqs:arrayOf(body,"faqs","FAQ \u691C\u7D22"),fallback_faq:body["fallback_faq"]??null}),notes(body){if(!isRecord(body)||!Array.isArray(body["faqs"])||body["faqs"].length>0)return[];return isRecord(body["fallback_faq"])?["\u5F53\u305F\u308B FAQ \u304C\u7121\u304B\u3063\u305F\u305F\u3081\u3001\u554F\u3044\u5408\u308F\u305B\u5148\u306E FAQ\uFF08fallback\uFF09\u3092\u8FD4\u3057\u307E\u3057\u305F\u3002"]:
|
|
47
|
-
["\u5F53\u305F\u308B FAQ \u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002"]}};var CREATE_USAGE="twp faq create --question <\u8CEA\u554F> --answer-file <\u30D1\u30B9> --category <\u30AB\u30C6\u30B4\u30EA> [\u9805\u76EE\u2026]";var createOperation={name:"create",summary:"FAQ \u3092\u767B\u9332\u3059\u308B\uFF08\u793E\u5185FAQ\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",usage:CREATE_USAGE,description:"--question / \u56DE\u7B54\uFF08--answer \u304B --answer-file\uFF09/ --category \u304C\u5FC5\u9808\u3067\u3059\u3002\u516C\u958B\u7BC4\u56F2\u306E\u65E2\u5B9A\u306F\u5168\u54E1\u3067\u3059\u3002\n\u56DE\u7B54\u306F\u65E2\u5B9A\u3067\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\uFF08\
|
|
48
|
-
\u5E73\u6587\uFF0B:::image \u7B49\u306E\u884C\uFF09\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\u3002\u753B\u9762\u3067\u4F5C\u3063\u305F HTML \u306E\u56DE\u7B54\u3092\u6E21\u3059\u306A\u3089 --answer-format html\u3002\n\u672C\u6587\u306B\u753B\u50CF\u30FBPDF \u3092\u5DEE\u3057\u8FBC\u3080\u306A\u3089 twp faq attachment embed \u3067\u5F97\u305F\u30DE\u30FC\u30AB\u30FC\u884C\u3092\u56DE\u7B54\u306B\u5165\u308C\u307E\u3059\u3002\n\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3078\u4ED8\u3051\u308B\u306A\u3089 twp faq attachment upload \u3067\u5F97\u305F\u6DFB\u4ED8ID \u3092 --attachment \u3067\u6E21\u3057\u307E\u3059\uFF0830\u5206\u4EE5\u5185\uFF09\u3002\n\n"+
|
|
49
|
-
TARGETS_HELP,forbidden:WRITE_FORBIDDEN,flags:BODY_FLAGS,async prepare(input,ctx){noArgs(input,"create");const body=await prepareBody(input,ctx,CREATE_USAGE,false);const missing=[["question","--question"],["answer","--answer / --answer-file"],["category","--category"]].filter(([key])=>body[key]===void 0);if(missing.length>0)throw new UsageError(`${missing.map(([,flag])=>flag).join("\u30FB")} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,CREATE_USAGE);return withResolved(input,{body:JSON.
|
|
50
|
-
stringify(body)})},plan:input=>({method:"POST",path:FAQS_PATH,body:bodyOf(input)}),summarize:body=>pick(faqItem(body,"FAQ \u306E\u767B\u9332"),GET_COLUMNS),raw:body=>faqItem(body,"FAQ \u306E\u767B\u9332")};var UPDATE_USAGE="twp faq update <FAQ\u306EID> [\u9805\u76EE\u2026]";var updateOperation={name:"update",summary:"FAQ \u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE,description:"\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u9001\u308A\u307E\u3059\uFF08\u62C5\u5F53\u8005\u306A\u3069\u3001\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\
|
|
51
|
-
\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002\u5909\u3048\u308B\u9805\u76EE\u304C1\u3064\u3082\u7121\u3044\u3068\u30A8\u30E9\u30FC\u3067\u3059\u3002\n--answer-format \u306F\u56DE\u7B54\u3068\u4E00\u7DD2\u306B\u3060\u3051\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u5F62\u5F0F\u3060\u3051\u3092\u5909\u3048\u308B\u3068\u672C\u6587\u3068\u98DF\u3044\u9055\u3046\u305F\u3081\uFF09\u3002\u56DE\u7B54\u3092\u9001\u3063\u3066\u5F62\u5F0F\u3092\u7701\u304F\u3068\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u3067\u4FDD\u5B58\u3055\u308C\u307E\u3059\n\uFF08\u3044\u307E\u306E\u56DE\u7B54\u304C HTML \u5F62\u5F0F\u306A\u3089\u9001\u308B\u524D\u306B\u8B66\u544A\u3057\u3001--yes \u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n--attachment \u306F\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u3092\u6307\u5B9A\u3057\u305F\u6DFB\u4ED8ID \u3067\u7F6E\u304D\u63DB\u3048\u307E\u3059\u3002\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8\u306F\u3001\u6B8B\u3059\u306A\u3089\u305D\u306E ID \u3082\u4E26\u3079\u3066\u304F\u3060\u3055\u3044\n\uFF08\u5916\u308C\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059\u3002\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8\u304C\u5916\u308C\u308B\u3068\u304D\u306F\u9001\u308B\u524D\u306B\u8B66\u544A\u3057\u3001--yes \u304C\u8981\u308A\u307E\u3059\uFF09\u3002\n\n"+
|
|
52
|
-
TARGETS_HELP,forbidden:WRITE_FORBIDDEN,flags:[...BODY_FLAGS,...UPDATE_ONLY_FLAGS,FAQ_REF_FLAG],async prepare(input,ctx){const id=faqId(input,UPDATE_USAGE);const body=await prepareBody(input,ctx,UPDATE_USAGE,true);if(Object.keys(body).length===0)throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp faq update help");return withResolved(input,{id,body:JSON.stringify(body)})},plan:input=>({method:"PUT",path:itemPath(requireResolved(
|
|
53
|
-
input,"id")),body:bodyOf(input)}),async preview(input,ctx){const body=bodyOf(input);const next=body["attachment_ids"];const formatReset=body["answer"]!==void 0&&body["answer_format"]===void 0;if(!Array.isArray(next)&&!formatReset)return{notes:[],warnings:[]};const current=faqItem(await ctx.send({method:"GET",path:itemPath(requireResolved(input,"id"))}),LABEL);const warnings=[];if(Array.isArray(next)){const dropped=faqAttachmentIds(current).filter(id=>!next.includes(id));if(dropped.length>0)warnings.
|
|
54
|
-
push(`\u3044\u307E\u4ED8\u3044\u3066\u3044\u308B\u6DFB\u4ED8 ${dropped.length} \u4EF6\u304C\u5916\u308C\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059: ${dropped.join(" ")}\uFF08\u6B8B\u3059\u306A\u3089 --attachment \u306B\u4E26\u3079\u3066\u304F\u3060\u3055\u3044\uFF09`)}if(formatReset&¤t["answer_format"]==="html_v1"){warnings.push("\u3044\u307E\u306E\u56DE\u7B54\u306F HTML \u5F62\u5F0F\u3067\u3059\u3002--answer-format \u3092\u7701\u304F\u3068\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u3068\u3057\u3066\u4FDD\u5B58\u3055\u308C\u307E\u3059\uFF08HTML \u306E\u307E\u307E\u306A\u3089 --answer-format html \u3092\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF09\u3002")}
|
|
55
|
-
return{notes:[],warnings}},summarize:body=>pick(faqItem(body,"FAQ \u306E\u66F4\u65B0"),GET_COLUMNS),raw:body=>faqItem(body,"FAQ \u306E\u66F4\u65B0")};var DELETE_USAGE="twp faq delete <FAQ\u306EID> --yes";var deleteOperation={name:"delete",summary:"FAQ \u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09",usage:DELETE_USAGE,description:"\u53D6\u308A\u6D88\u305B\u307E\u305B\u3093\u3002\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306E\u6DFB\u4ED8\u3082\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3057\u307E\u3059\u3002\u9001\u308B\u524D\u306B\u3001\u6D88\u3048\u308B FAQ \u306E\u8CEA\u554F\u3092\u8868\u793A\u3057\u307E\u3059\u3002",
|
|
56
|
-
destructive:true,forbidden:WRITE_FORBIDDEN,flags:[FAQ_REF_FLAG],plan:input=>({method:"DELETE",path:itemPath(faqId(input,DELETE_USAGE))}),async preview(input,ctx){const row=faqItem(await ctx.send({method:"GET",path:itemPath(faqId(input,DELETE_USAGE))}),LABEL);const attachments=faqAttachmentIds(row).length;return{notes:[`\u524A\u9664\u3059\u308B FAQ: ${String(row["question"])}${attachments>0?`\uFF08\u6DFB\u4ED8 ${attachments} \u4EF6\u3082\u524A\u9664\u3055\u308C\u307E\u3059\uFF09`:""}`],warnings:[]}},
|
|
57
|
-
summarize:body=>acknowledgement(body,"FAQ \u306E\u524A\u9664"),raw:body=>acknowledgement(body,"FAQ \u306E\u524A\u9664")};var UPLOAD_USAGE="twp faq attachment upload --file <\u30D1\u30B9> [--name <\u30D5\u30A1\u30A4\u30EB\u540D>]";var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var NAME_FLAG={name:"--name",summary:"\u30B5\u30FC\u30D0\u306B\u4FDD\u5B58\u3059\u308B\
|
|
58
|
-
\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u540D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"};function localFile(input,usage){const{file,size}=inspectLocalFile(input.flags.get("--file"),"--file",usage);const nameFlag=input.flags.get("--name")?.trim();const name=nameFlag!==void 0&&nameFlag!==""?nameFlag:path.basename(file);return{file,name,size,contentType:contentTypeFor(name)}}function uploadUrlPlan(input){
|
|
59
|
-
const{name,size,contentType}=localFile(input,UPLOAD_USAGE);return{method:"POST",path:"/api/v2/attachments/upload-url",body:{file_name:name,content_type:contentType,file_size:size,source:"faq"}}}var uploadOperation={name:"upload",summary:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306B\u4ED8\u3051\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u3052\u3001\u6DFB\u4ED8ID \u3092\u5F97\u308B",usage:UPLOAD_USAGE,description:"\u753B\u9762\u306E FAQ \u7DE8\u96C6\u306E\u300C\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u300D\u6B04\u3068\u540C\u3058\u3067\u3059\u3002\u4E0A\u3052\u305F\u3060\u3051\u3067\u306F FAQ \u306B\u4ED8\u304D\u307E\u305B\u3093\u3002\n\u8FD4\u3063\u305F attachment_id \u3092 twp faq create \
|
|
60
|
-
/ update \u306E --attachment \u3078\u6E21\u3059\u3068\u4ED8\u304D\u307E\u3059\u3002\n30\u5206\u4EE5\u5185\u306B\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\uFF08\u4ED8\u3051\u306A\u304B\u3063\u305F\u6DFB\u4ED8\u306F\u30B5\u30FC\u30D0\u304C\u81EA\u52D5\u3067\u524A\u9664\u3057\u307E\u3059\uFF09\u3002\u6A29\u9650\uFF08\u793E\u5185FAQ\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09\u306F\u4ED8\u3051\u308B\u3068\u304D\u306B\u691C\u67FB\u3055\u308C\u307E\u3059\u3002\n\u56DE\u7B54\u672C\u6587\u306E\u4E2D\u306B\u753B\u50CF\u30FBPDF \u3092\u5DEE\u3057\u8FBC\u307F\u305F\u3044\u3068\u304D\u306F twp faq attachment embed \u3092\u4F7F\u3044\u307E\u3059\u3002",
|
|
61
|
-
flags:[FILE_FLAG,NAME_FLAG],plan:input=>{noArgs(input,"attachment upload");return uploadUrlPlan(input)},async execute(input,ctx){const{file,name,size,contentType}=localFile(input,UPLOAD_USAGE);await checkUploadQuota(ctx,size);const{id,uploadUrl}=issued(await ctx.send(uploadUrlPlan(input)));const bytes=new Uint8Array(fs.readFileSync(file));if(bytes.byteLength!==size)throw new UsageError(`\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u5927\u304D\u3055\u304C\u5909\u308F\u308A\u307E\u3057\u305F\uFF08${size}\
|
|
62
|
-
\u2192 ${bytes.byteLength} \u30D0\u30A4\u30C8\uFF09: ${file}`);await ctx.putSigned(uploadUrl,bytes,contentType);return{result:true,attachment_id:id,file_name:name,content_type:contentType,file_size:size}},summarize:uploaded,raw:uploaded,notes:body=>isRecord(body)?[`30\u5206\u4EE5\u5185\u306B twp faq create / update --attachment ${String(body["attachment_id"])} \u3067 FAQ \u306B\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002`]:[]};function uploaded(body){const row=envelope(body,"\u6DFB\u4ED8\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9");
|
|
63
|
-
return pick(row,["attachment_id","file_name","content_type","file_size"])}var EMBED_USAGE="twp faq attachment embed --file <\u30D1\u30B9>";var embedOperation={name:"embed",summary:"\u56DE\u7B54\u672C\u6587\u3078\u5DEE\u3057\u8FBC\u3080\u753B\u50CF\u30FBPDF \u3092\u4E0A\u3052\u3001\u672C\u6587\u306B\u7F6E\u304F\u30DE\u30FC\u30AB\u30FC\u884C\u3092\u5F97\u308B",usage:EMBED_USAGE,description:"\u753B\u9762\u306E\u56DE\u7B54\u30A8\u30C7\u30A3\u30BF\u306E\u300C\u753B\u50CF\u30FBPDF\u3092\u633F\u5165\u300D\u3068\u540C\u3058\u3067\u3059\uFF08\u753B\u50CF\u306F png / jpg / gif / webp\u3001\u307B\u304B\u306F PDF\u30FB20MB \u307E\u3067\uFF09\u3002\n\u8FD4\u3063\u305F marker\uFF08:::image \u2026 / :::file \u2026 \u306E\u884C\
|
|
64
|
-
\uFF09\u3092\u56DE\u7B54\u672C\u6587\uFF08--answer-file\uFF09\u306B\u5165\u308C\u3066 create / update \u3057\u307E\u3059\uFF08\u30DE\u30FC\u30AB\u30FC\u5F62\u5F0F\u306E\u56DE\u7B54\u306E\u3068\u304D\uFF09\u3002\ndisplay_marker \u306F\u7F72\u540D\u4ED8\u304DURL\u306E\u5165\u3063\u305F\u8868\u793A\u7528\u306E\u884C\u3067\u3001\u4FDD\u5B58\u6642\u306B\u30B5\u30FC\u30D0\u304C marker \u3068\u540C\u3058\u5F62\u3078\u623B\u3057\u307E\u3059\u3002",forbidden:WRITE_FORBIDDEN,flags:[FILE_FLAG],async prepare(input){
|
|
65
|
-
noArgs(input,"attachment embed");const{file,size}=inspectLocalFile(input.flags.get("--file"),"--file",EMBED_USAGE);const ext=path.extname(file).toLowerCase();if(!EMBED_EXTENSIONS.includes(ext))throw new UsageError(`\u5DEE\u3057\u8FBC\u3081\u308B\u306E\u306F\u753B\u50CF\uFF08png / jpg / gif / webp\uFF09\u304B PDF \u3067\u3059: ${file}`,EMBED_USAGE);if(size>EMBED_MAX_BYTES)throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u304C\u5927\u304D\u3059\u304E\u307E\u3059\uFF08${size} \u30D0\u30A4\u30C8\u30FB\u4E0A\u9650 20MB\uFF09: ${file}`,
|
|
66
|
-
EMBED_USAGE);return withResolved(input,{fileName:path.basename(file),fileBase64:fs.readFileSync(file).toString("base64")})},plan:input=>{const fileName=requireResolved(input,"fileName");return{method:"POST",path:`${FAQS_PATH}/attachments`,body:new MultipartBody({},[{field:"file",filename:fileName,contentType:contentTypeFor(fileName),bytes:new Uint8Array(Buffer.from(requireResolved(input,"fileBase64"),"base64"))}])}},summarize:embedded,raw:embedded};function embedded(body){const row=envelope(body,
|
|
67
|
-
"\u753B\u50CF\u30FBPDF \u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9");if(typeof row["marker"]!=="string")throw new ApiResponseError("\u753B\u50CF\u30FBPDF \u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306E\u5FDC\u7B54\u306B marker \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return pick(row,["type","marker","display_marker"])}var attachmentResource={name:"attachment",summary:"FAQ \u306E\u6DFB\u4ED8\uFF08\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u30FB\u672C\u6587\u3078\u5DEE\u3057\u8FBC\u3080\u753B\u50CF/PDF\uFF09",
|
|
68
|
-
operations:[uploadOperation,embedOperation]};var faqDomain={name:"faq",summary:"\u793E\u5185FAQ\uFF08\u4E00\u89A7\u30FB\u672C\u6587\u30FB\u691C\u7D22\u30FB\u30AB\u30C6\u30B4\u30EA\u30FB\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u6DFB\u4ED8\uFF09",operations:[listOperation,getOperation,searchOperation,categoriesOperation,createOperation,updateOperation,deleteOperation],subresources:[attachmentResource]};export{answerText,faqDomain,faqItem,parseTargets};
|