@tocca-systems/twp-cli 0.92.0 → 0.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/CHANGELOG.public.md +12 -0
  2. package/README.md +81 -3
  3. package/dist/{agent-SX7Z5BVN.js → agent-JNWPWVHF.js} +1 -1
  4. package/dist/{agent-loop-QV7WHT7B.js → agent-loop-ED3PVMVI.js} +2 -2
  5. package/dist/{ai-dispatch-YPQGMOBK.js → ai-dispatch-FVHIWBCX.js} +2 -2
  6. package/dist/{analysis-6MPLKJUS.js → analysis-UP5QD5OD.js} +2 -2
  7. package/dist/{announcement-4ZK63ONY.js → announcement-A3J2DYSQ.js} +1 -1
  8. package/dist/{api-command-K6I3WSI4.js → api-command-VZRYCDYJ.js} +3 -3
  9. package/dist/api-key-YSHTZPY2.js +66 -0
  10. package/dist/{app-Z6NIVNWQ.js → app-VDQDKYEU.js} +5 -5
  11. package/dist/{attendance-correct-X67ITW3J.js → attendance-correct-GBJUPRTU.js} +2 -2
  12. package/dist/{attendance-lists-RVJIQAAM.js → attendance-lists-BIGQFPVN.js} +1 -1
  13. package/dist/{backlog-ZHON6HED.js → backlog-VJWLVDSM.js} +1 -1
  14. package/dist/{budget-FEEEYUX2.js → budget-VUMWU762.js} +2 -2
  15. package/dist/{capacity-list-command-GFHEKY47.js → capacity-list-command-CPUOR57V.js} +1 -1
  16. package/dist/{chunk-SZOEBJGI.js → chunk-24AJQUDZ.js} +1 -1
  17. package/dist/{chunk-NELPXRBC.js → chunk-3E7QVTKD.js} +1 -1
  18. package/dist/{chunk-RZA3PZNH.js → chunk-42XM4ZF6.js} +1 -1
  19. package/dist/{chunk-VROESTZQ.js → chunk-4557EX6E.js} +1 -1
  20. package/dist/{chunk-3UOVTIM6.js → chunk-45WIRMGL.js} +1 -1
  21. package/dist/{chunk-6DM366P6.js → chunk-4DOPQ74T.js} +51 -47
  22. package/dist/{chunk-Y4U3F4UM.js → chunk-4JJFIPTI.js} +2 -2
  23. package/dist/{chunk-RY27USNC.js → chunk-4YCX5UNV.js} +1 -1
  24. package/dist/{chunk-IXT2X5BZ.js → chunk-5TKHN3A5.js} +6 -6
  25. package/dist/{chunk-PBMHUH73.js → chunk-5WJWURQT.js} +1 -1
  26. package/dist/chunk-5YJSWKQG.js +18 -0
  27. package/dist/{chunk-N3I76TL6.js → chunk-6CALO6LE.js} +1 -1
  28. package/dist/{chunk-FLLSRBFZ.js → chunk-6FPW6T4P.js} +1 -1
  29. package/dist/{chunk-VBIZ6U7C.js → chunk-6HR26FNC.js} +1 -1
  30. package/dist/{chunk-M763HXDH.js → chunk-A3VGBVQP.js} +1 -1
  31. package/dist/{chunk-NXPLTDN4.js → chunk-BABZL52A.js} +9 -9
  32. package/dist/chunk-C7MCP63I.js +51 -0
  33. package/dist/{chunk-JBAVETQP.js → chunk-DMMSNDDD.js} +1 -1
  34. package/dist/{chunk-BPLDHTAS.js → chunk-EOXGQHZA.js} +1 -1
  35. package/dist/{chunk-HZNC2UFL.js → chunk-FLIY4GM2.js} +1 -1
  36. package/dist/{chunk-GLOGPK4Y.js → chunk-ILEV32T6.js} +1 -1
  37. package/dist/{chunk-6EQLA56A.js → chunk-INS77QHY.js} +1 -1
  38. package/dist/chunk-MP36JZRV.js +12 -0
  39. package/dist/{settings-command-TEVH2MNY.js → chunk-MTK4WY54.js} +12 -11
  40. package/dist/{chunk-BROJYH74.js → chunk-MZB4KA26.js} +1 -1
  41. package/dist/chunk-NJL3H2BB.js +7 -0
  42. package/dist/{chunk-D6MAASMD.js → chunk-O6GAIXHJ.js} +1 -1
  43. package/dist/{chunk-3D734ED2.js → chunk-P54LCXEY.js} +1 -1
  44. package/dist/{chunk-4DUZIRGL.js → chunk-PTLUNRQS.js} +10 -10
  45. package/dist/chunk-QBUVJBZ2.js +13 -0
  46. package/dist/{chunk-MQOHOOJP.js → chunk-SPQJNTAK.js} +1 -1
  47. package/dist/{chunk-NB2GXB27.js → chunk-SQMJ7XKE.js} +1 -1
  48. package/dist/{chunk-ELW4VTSK.js → chunk-TUFWQYKB.js} +1 -1
  49. package/dist/{chunk-3S52X3Z7.js → chunk-VHKZ6RUA.js} +1 -1
  50. package/dist/{chunk-IQL7NZKM.js → chunk-VRRDGI2I.js} +1 -1
  51. package/dist/chunk-X3F7DOP5.js +4 -0
  52. package/dist/{chunk-VOSADZUE.js → chunk-XG2MNO5M.js} +3 -3
  53. package/dist/{chunk-7UAJ3ZY7.js → chunk-YB4ZDJXR.js} +1 -1
  54. package/dist/cli.js +52 -12
  55. package/dist/{commands-MNYRRJBT.js → commands-G3KAD2J7.js} +2 -2
  56. package/dist/{commands-23GMSCTQ.js → commands-VUDISST6.js} +37 -34
  57. package/dist/{company-YFHD4RLP.js → company-HUP72FGC.js} +2 -2
  58. package/dist/{completion-KPMCNLV2.js → completion-INVEPDAF.js} +6 -5
  59. package/dist/{contract-C7PTM573.js → contract-WE37KVDC.js} +2 -2
  60. package/dist/{department-JZVWFUCI.js → department-5V4W37PU.js} +1 -1
  61. package/dist/{deposit-NUWEBC7M.js → deposit-VI3KTO7N.js} +2 -2
  62. package/dist/{dispatch-GSBMRWQ4.js → dispatch-ZRC3TVFT.js} +1 -1
  63. package/dist/{domain-knowledge-QDSWQW4E.js → domain-knowledge-NOORBHDM.js} +1 -1
  64. package/dist/{estimate-GJEDV3D5.js → estimate-5GPJ33DO.js} +4 -4
  65. package/dist/{evaluation-KQPTG4G3.js → evaluation-5Q5GHKM3.js} +2 -2
  66. package/dist/{expense-NFQY5NZN.js → expense-F5UUXTGV.js} +1 -1
  67. package/dist/faq-QBCNTMXP.js +122 -0
  68. package/dist/{fiscal-year-GL3RFX6H.js → fiscal-year-CVYFYGRR.js} +1 -1
  69. package/dist/{holiday-FUYMZVGX.js → holiday-UPF22P5V.js} +2 -2
  70. package/dist/{inquiry-XMM6EHNJ.js → inquiry-57RLTCK2.js} +1 -1
  71. package/dist/{invoice-MLJEVQA4.js → invoice-FL42M3A4.js} +2 -2
  72. package/dist/{job-title-JHTVL7OO.js → job-title-LEHO7TBW.js} +1 -1
  73. package/dist/{knowledge-MROBIUE5.js → knowledge-CELSHUX6.js} +2 -2
  74. package/dist/{leave-GXVOULRK.js → leave-7BXZEIEQ.js} +2 -2
  75. package/dist/{license-XUPFMAGX.js → license-YOBNOTSR.js} +1 -1
  76. package/dist/{login-history-JIWV62KF.js → login-history-RCUHEEYE.js} +1 -1
  77. package/dist/{logout-guard-HUCILXP7.js → logout-guard-PEETWT4A.js} +1 -1
  78. package/dist/{media-FKKQA223.js → media-3NPBMB7J.js} +3 -3
  79. package/dist/{notification-YAT6O2TK.js → notification-BE6KRW5R.js} +1 -1
  80. package/dist/{oneshot-HV5VMNFX.js → oneshot-2V5GL6OA.js} +1 -1
  81. package/dist/orientation-command-PQ3QXDPE.js +25 -0
  82. package/dist/{outlook-GXWQLCR6.js → outlook-RWEUIFAI.js} +2 -2
  83. package/dist/{plan-submit-I5QAVNZN.js → plan-submit-7724A3OV.js} +2 -2
  84. package/dist/{position-33HC7ETC.js → position-YAC32O37.js} +1 -1
  85. package/dist/{project-O6TQKZBJ.js → project-EQQEF622.js} +2 -2
  86. package/dist/{prospect-LQ2RLIBN.js → prospect-C3OWZPUJ.js} +1 -1
  87. package/dist/{purchase-E25SBHR2.js → purchase-7NN4SIER.js} +3 -3
  88. package/dist/{receivable-M3IUSRB7.js → receivable-4UCQ5G4R.js} +1 -1
  89. package/dist/{redmine-OIBKHGK3.js → redmine-THH5YMND.js} +1 -1
  90. package/dist/{registry-QHNBNSNA.js → registry-Z6LO3TZY.js} +1 -1
  91. package/dist/{render-BY4KHD5D.js → render-XILFR4N3.js} +1 -1
  92. package/dist/{report-TS7D6YF5.js → report-TQRJJEGK.js} +1 -1
  93. package/dist/{run-AHNWMLZ4.js → run-EJT5I7NM.js} +2 -2
  94. package/dist/{runner-command-GN45H7TL.js → runner-command-PIHQW65P.js} +1 -1
  95. package/dist/{sales-ai-review-KYYUF5HG.js → sales-ai-review-JH6UAUHC.js} +2 -2
  96. package/dist/{sales-master-UNKMFZDV.js → sales-master-QF4ZGAGF.js} +3 -3
  97. package/dist/{sales-numbering-URGXUTUX.js → sales-numbering-I4CGWWLF.js} +2 -2
  98. package/dist/{search-OEOAUIW3.js → search-65MA22AA.js} +1 -1
  99. package/dist/{segment-H7FFI52Z.js → segment-PTTW7IJM.js} +1 -1
  100. package/dist/server-settings-DR3KPUCD.js +4 -0
  101. package/dist/settings-command-3SLINN5N.js +3 -0
  102. package/dist/{setup-FX2IUBHT.js → setup-ICJPTYKW.js} +1 -1
  103. package/dist/{skill-BJFHENEO.js → skill-J2HXRXLF.js} +2 -2
  104. package/dist/{skill-manage-command-Z4MLSACA.js → skill-manage-command-RKQHSPRJ.js} +2 -2
  105. package/dist/{staffing-board-2ZV2Q6TC.js → staffing-board-FSZ6WM2E.js} +3 -3
  106. package/dist/{status-command-XOELHUCV.js → status-command-5G7ZNGN2.js} +2 -2
  107. package/dist/{supplier-payment-2OVDNHBD.js → supplier-payment-OOX5NQH5.js} +3 -3
  108. package/dist/{support-6NZCSDPJ.js → support-LWKDMVP7.js} +2 -2
  109. package/dist/{task-GLFAR4GN.js → task-XF3MUGDE.js} +4 -4
  110. package/dist/{teams-KNXVEWMD.js → teams-J66HFCF5.js} +1 -1
  111. package/dist/{user-L6NYXPV6.js → user-PWZUOZGI.js} +43 -22
  112. package/dist/{user-contract-type-2PUE2JQL.js → user-contract-type-XM4G3TX5.js} +1 -1
  113. package/dist/{user-group-EIYVFUTB.js → user-group-5V3L7WYR.js} +1 -1
  114. package/dist/{worker-agent-2BARDPDL.js → worker-agent-G6MC436V.js} +1 -1
  115. package/dist/{workflow-P4SJX6YR.js → workflow-KTXVWCPN.js} +2 -2
  116. package/package.json +1 -1
  117. package/dist/chunk-EOXTDZTA.js +0 -13
  118. package/dist/chunk-ISLZWSHN.js +0 -17
  119. package/dist/chunk-JQQP7JLQ.js +0 -4
  120. package/dist/chunk-LGNYEROA.js +0 -12
  121. package/dist/chunk-UVTOBRHP.js +0 -49
  122. package/dist/faq-QVRTJ3KS.js +0 -68
  123. package/dist/server-settings-TFVXMOJB.js +0 -4
@@ -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&&current["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};
@@ -1,4 +0,0 @@
1
- import { createRequire as __twpCreateRequire } from 'node:module';
2
- const require = __twpCreateRequire(import.meta.url);
3
- import{LoopSettingsApplier,PROMPT_KEYS,formatConfigHash,parseServerSettings,renderStepBudget}from"./chunk-ISLZWSHN.js";import"./chunk-6EQLA56A.js";import"./chunk-VYDPW2YO.js";import"./chunk-CVX2YWHC.js";import"./chunk-TTST7UDR.js";import"./chunk-FABDZBDZ.js";import"./chunk-6CS5L24D.js";import"./chunk-N2UVRM3Z.js";import"./chunk-UZUV5FYG.js";import"./chunk-RMFLTSOV.js";import"./chunk-PMOUHEJQ.js";import"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";
4
- import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{LoopSettingsApplier,PROMPT_KEYS,formatConfigHash,parseServerSettings,renderStepBudget};