@tocca-systems/twp-cli 0.89.0 → 0.90.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 (97) hide show
  1. package/CHANGELOG.public.md +12 -0
  2. package/README.md +43 -0
  3. package/dist/{agent-76ZH3E67.js → agent-IVJ5DCFU.js} +1 -1
  4. package/dist/{analysis-CUXB6NQF.js → analysis-DIWOPBN6.js} +2 -2
  5. package/dist/{announcement-4YNKKG5V.js → announcement-KOXBNHSN.js} +1 -1
  6. package/dist/{api-command-QS6VCLTX.js → api-command-OJORMKTD.js} +3 -3
  7. package/dist/{app-GWNEJ24L.js → app-V6K6YNWR.js} +4 -4
  8. package/dist/{attendance-correct-KOTYM2DS.js → attendance-correct-XM26CE65.js} +1 -1
  9. package/dist/{attendance-lists-QUSNJQV2.js → attendance-lists-VNAHH3R4.js} +1 -1
  10. package/dist/{backlog-CNTVVRZ6.js → backlog-LCGG5HRB.js} +1 -1
  11. package/dist/{budget-X3OMSO3F.js → budget-OYBU4JFH.js} +1 -1
  12. package/dist/{chunk-Y7GYWZLW.js → chunk-23MEOBJF.js} +1 -1
  13. package/dist/{chunk-RIEBWMKF.js → chunk-5STCZEOX.js} +1 -1
  14. package/dist/chunk-62GRAKUD.js +38 -0
  15. package/dist/{chunk-OP5WINVG.js → chunk-AVOZLZA5.js} +1 -1
  16. package/dist/chunk-C6U2CGX7.js +4 -0
  17. package/dist/{chunk-LS7DFMG6.js → chunk-EGOE26U7.js} +1 -1
  18. package/dist/{chunk-DADDMUI5.js → chunk-EQTXWU2Y.js} +1 -1
  19. package/dist/{chunk-7KD5RWFY.js → chunk-EQXJOEOK.js} +1 -1
  20. package/dist/{chunk-PWKWXZDZ.js → chunk-FCC7JJR5.js} +1 -1
  21. package/dist/{chunk-34TCAKT5.js → chunk-GLOGPK4Y.js} +1 -1
  22. package/dist/{chunk-7KD24ABA.js → chunk-H7XVCIL7.js} +1 -1
  23. package/dist/{chunk-5PBNMFNO.js → chunk-IWY2SNST.js} +1 -1
  24. package/dist/{chunk-2T23XGJF.js → chunk-M36DAHMH.js} +61 -56
  25. package/dist/{chunk-IWYJSQ5I.js → chunk-M763HXDH.js} +1 -1
  26. package/dist/{chunk-KW37N7IO.js → chunk-MPGJU5A7.js} +1 -1
  27. package/dist/{chunk-6FGQNFUV.js → chunk-NYQYDX7G.js} +1 -1
  28. package/dist/{chunk-EGFVST6P.js → chunk-P673SKUV.js} +33 -14
  29. package/dist/{chunk-TVISFCQN.js → chunk-T3PYPLTG.js} +106 -24
  30. package/dist/{chunk-2L2EGIWR.js → chunk-T7MUDWUH.js} +1 -1
  31. package/dist/{chunk-FM3RHTEQ.js → chunk-U2CRCBJ3.js} +1 -1
  32. package/dist/{chunk-WGAEYNZQ.js → chunk-U3XIH7WP.js} +1 -1
  33. package/dist/{chunk-NLDVB4PZ.js → chunk-U6KPYJTM.js} +1 -1
  34. package/dist/{chunk-E3UET43F.js → chunk-UCPK53K4.js} +1 -1
  35. package/dist/{chunk-733XATRJ.js → chunk-VLBWNFQW.js} +1 -1
  36. package/dist/chunk-Y5XM6W3S.js +12 -0
  37. package/dist/{chunk-WJJW7VX7.js → chunk-YPS5XHYE.js} +1 -1
  38. package/dist/{chunk-JA7DLMKJ.js → chunk-ZTDDOUS4.js} +3 -3
  39. package/dist/cli.js +37 -9
  40. package/dist/{commands-3B5GGPY7.js → commands-ULMFP3LH.js} +20 -19
  41. package/dist/{company-3227PJ3Q.js → company-BW3U437C.js} +2 -2
  42. package/dist/{completion-32FJZVQR.js → completion-636S3VU3.js} +1 -1
  43. package/dist/{contract-H5QWWRB3.js → contract-2MANNVJT.js} +1 -1
  44. package/dist/{department-NIUPNDHH.js → department-LT3IM65L.js} +1 -1
  45. package/dist/{deposit-HUFSDRRK.js → deposit-RYRCQ2U7.js} +1 -1
  46. package/dist/{domain-knowledge-M4Y7744J.js → domain-knowledge-Q2YMI7I2.js} +1 -1
  47. package/dist/{estimate-BIGMD2NU.js → estimate-MMS326SE.js} +2 -2
  48. package/dist/{evaluation-L4L23IY2.js → evaluation-KSZPNKBM.js} +2 -2
  49. package/dist/{expense-JKENK2W2.js → expense-J7KGZKLH.js} +1 -1
  50. package/dist/faq-FJUCNBEB.js +68 -0
  51. package/dist/{fiscal-year-G45WHCZC.js → fiscal-year-AFO5CWDN.js} +1 -1
  52. package/dist/{holiday-EW62DVPW.js → holiday-KF2RVJSU.js} +1 -1
  53. package/dist/{inquiry-QGUOVO77.js → inquiry-IAAJYTXP.js} +1 -1
  54. package/dist/{invoice-ZWUU3FSZ.js → invoice-A3X3JF2H.js} +2 -2
  55. package/dist/{job-title-CXCW7BAP.js → job-title-PF4C6D6U.js} +1 -1
  56. package/dist/{knowledge-PBFDM5WJ.js → knowledge-2YF7CJKA.js} +6 -6
  57. package/dist/{leave-CXTBZFIC.js → leave-2JNN3V3D.js} +2 -2
  58. package/dist/{license-7WE7UPVX.js → license-MRXITCY7.js} +1 -1
  59. package/dist/{media-FM53QOC2.js → media-IQ2AIN67.js} +3 -3
  60. package/dist/{notification-Z2VMBWO3.js → notification-4YXX6H3D.js} +1 -1
  61. package/dist/{oneshot-YDTQT2T3.js → oneshot-ZCGHYKQM.js} +1 -1
  62. package/dist/{outlook-ILJN562M.js → outlook-ZRFSKSJ3.js} +1 -1
  63. package/dist/{position-CLQVRA7Y.js → position-M2MEJBUK.js} +1 -1
  64. package/dist/{project-OTJCVFOW.js → project-EF2JKWVC.js} +1 -1
  65. package/dist/{prospect-3EHNELGI.js → prospect-R6346ME5.js} +1 -1
  66. package/dist/{purchase-MMUXAEER.js → purchase-XCTYVG4N.js} +2 -2
  67. package/dist/{receivable-E52RNQTW.js → receivable-FVLXVO2S.js} +1 -1
  68. package/dist/{redmine-CKXEOH7Q.js → redmine-EUFN35BT.js} +1 -1
  69. package/dist/{registry-A7OXOQPI.js → registry-TGKZPLKO.js} +1 -1
  70. package/dist/{report-UTVGNCLP.js → report-6Q3JV4DN.js} +1 -1
  71. package/dist/{run-VNV2AVDI.js → run-3UJFGBQR.js} +2 -2
  72. package/dist/{runner-command-YIAPRXZP.js → runner-command-GN45H7TL.js} +1 -1
  73. package/dist/{sales-ai-review-XFMAKAOH.js → sales-ai-review-TTWTHKQJ.js} +1 -1
  74. package/dist/{sales-master-I6X4WFV3.js → sales-master-VKS2HENV.js} +2 -2
  75. package/dist/{sales-numbering-P3JG4UPD.js → sales-numbering-W2W57UPY.js} +1 -1
  76. package/dist/{search-KFMYAVLM.js → search-N45JL2PU.js} +1 -1
  77. package/dist/{segment-LCZFL6QE.js → segment-3MKCPWT2.js} +1 -1
  78. package/dist/{skill-GK2WADKA.js → skill-Z3DEECEK.js} +1 -1
  79. package/dist/{skill-check-VNUNX6IO.js → skill-check-3RWESZ4O.js} +1 -1
  80. package/dist/{staffing-board-5YHU7V6Z.js → staffing-board-LWUCHN7P.js} +2 -2
  81. package/dist/{status-command-2FL2SVFR.js → status-command-XOELHUCV.js} +1 -1
  82. package/dist/{supplier-payment-V4KRH7VA.js → supplier-payment-AUT2FZBR.js} +2 -2
  83. package/dist/{support-FU5M5LM3.js → support-OUQWV5KP.js} +1 -1
  84. package/dist/{task-PFSBL4A3.js → task-7FOEUQJ6.js} +2 -2
  85. package/dist/{teams-43CJTQHL.js → teams-FOR3O7KH.js} +1 -1
  86. package/dist/{user-5KHSDIVN.js → user-TRXOR2Q6.js} +2 -2
  87. package/dist/{user-contract-type-4JXN7B7J.js → user-contract-type-MPZQ7Y2P.js} +1 -1
  88. package/dist/{worker-agent-4TVU6AES.js → worker-agent-4E5P75SJ.js} +1 -1
  89. package/dist/{workflow-U5YJ2I6L.js → workflow-G7QZZPAX.js} +1 -1
  90. package/package.json +1 -1
  91. package/dist/chunk-C7MO3RHJ.js +0 -37
  92. package/dist/chunk-DG7JPFYK.js +0 -12
  93. package/dist/chunk-JF2GCXNQ.js +0 -4
  94. /package/dist/{capacity-list-command-LKOVLAY4.js → capacity-list-command-GFHEKY47.js} +0 -0
  95. /package/dist/{chunk-NMERFYLD.js → chunk-RY27USNC.js} +0 -0
  96. /package/dist/{commands-RBN5WGWJ.js → commands-FOEEAVJQ.js} +0 -0
  97. /package/dist/{skill-manage-command-E7M7ZSQP.js → skill-manage-command-Z4MLSACA.js} +0 -0
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __twpCreateRequire } from 'node:module';
3
3
  const require = __twpCreateRequire(import.meta.url);
4
- import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-5PBNMFNO.js";import"./chunk-2LOT54OO.js";import"./chunk-JF2GCXNQ.js";import"./chunk-EOXTDZTA.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.89.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-IWY2SNST.js";import"./chunk-2LOT54OO.js";import"./chunk-C6U2CGX7.js";import"./chunk-EOXTDZTA.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.90.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
5
5
 
6
6
  \u4F7F\u3044\u65B9:
7
7
  twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
@@ -231,6 +231,20 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
231
231
  \u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u306E\u81EA\u5206\u306E\u5225\u540D\u3092\u8A2D\u5B9A\u3059\u308B\uFF08--clear \u3067\u6D88\u3059\uFF09
232
232
  twp project evaluation create <\u30B3\u30FC\u30C9|ID>
233
233
  \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u306E\u8981\u54E1\u8A55\u4FA1\u3092\u4F5C\u308B\uFF08--user\u30FB--period \u304C\u8981\u308B\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF09
234
+ twp project template list
235
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B
236
+ twp project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>
237
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\uFF08\u69CB\u6210\u306E\u4EF6\u6570\uFF09\u3092\u8868\u793A\u3059\u308B
238
+ twp project template create
239
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08--name\u30FB--configs-file\uFF09
240
+ twp project template update <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>
241
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u66F4\u65B0\u3059\u308B\uFF08\u69CB\u6210\u306F\u66F8\u3044\u305F\u30AD\u30FC\u3060\u3051\u4E38\u3054\u3068\u7F6E\u304D\u63DB\u3048\uFF09
242
+ twp project template delete <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>
243
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
244
+ twp project template from-project <\u30B3\u30FC\u30C9|ID>
245
+ \u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u6210\u304B\u3089\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u308B\uFF08--name\uFF09
246
+ twp project template apply <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>
247
+ \u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u308B\uFF08--code\u30FB--name\uFF09
234
248
  twp task list \u30BF\u30B9\u30AF\u3092\u4E00\u89A7\u3059\u308B\uFF08--status / --assignee \u306F\u540D\u524D\u3067\u6307\u5B9A\u3067\u304D\u308B\uFF09
235
249
  twp task get <\u30AD\u30FC> \u30BF\u30B9\u30AF1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08--project \u4E0D\u8981\uFF09
236
250
  twp task subtasks <\u30AD\u30FC>
@@ -951,6 +965,20 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
951
965
  \u304A\u77E5\u3089\u305B\u3078\u306E\u8FD4\u4FE1\u3092\u4E00\u89A7\u3059\u308B
952
966
  twp announcement reply create <\u304A\u77E5\u3089\u305BID>
953
967
  \u304A\u77E5\u3089\u305B\u3078\u8FD4\u4FE1\u3059\u308B\uFF08--body-file\uFF09
968
+ twp faq list \u81EA\u5206\u306B\u516C\u958B\u3055\u308C\u3066\u3044\u308B\u793E\u5185FAQ\u3092\u4E00\u89A7\u3059\u308B\uFF08--keyword / --category\uFF09
969
+ twp faq get <FAQ\u306EID> \u793E\u5185FAQ 1\u4EF6\u306E\u8CEA\u554F\u30FB\u56DE\u7B54\u3092\u8868\u793A\u3059\u308B\uFF08--output text \u3067\u8AAD\u3081\u308B\u5F62\uFF09
970
+ twp faq search "<\u8CEA\u554F\u6587>"
971
+ \u8CEA\u554F\u6587\u304B\u3089\u6839\u62E0\u306B\u306A\u308B\u793E\u5185FAQ\u3092\u63A2\u3059\uFF08\u56DE\u7B54\u6587\u306E\u751F\u6210\u306F\u3057\u306A\u3044\uFF09
972
+ twp faq categories \u793E\u5185FAQ\u306E\u30AB\u30C6\u30B4\u30EA\u3092\u4E00\u89A7\u3059\u308B
973
+ twp faq create \u793E\u5185FAQ\u3092\u767B\u9332\u3059\u308B\uFF08--question\u30FB--answer-file\u30FB--category\u30FB\u793E\u5185FAQ\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09
974
+ twp faq update <FAQ\u306EID>
975
+ \u793E\u5185FAQ\u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09
976
+ twp faq delete <FAQ\u306EID>
977
+ \u793E\u5185FAQ\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
978
+ twp faq attachment upload --file <\u30D1\u30B9>
979
+ \u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u6B04\u306B\u4ED8\u3051\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u3052\u3001\u6DFB\u4ED8ID\u3092\u5F97\u308B
980
+ twp faq attachment embed --file <\u30D1\u30B9>
981
+ \u56DE\u7B54\u672C\u6587\u3078\u5DEE\u3057\u8FBC\u3080\u753B\u50CF\u30FBPDF\u3092\u4E0A\u3052\u3001\u30DE\u30FC\u30AB\u30FC\u884C\u3092\u5F97\u308B
954
982
  twp search <\u8A9E> TWP \u5185\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u6A2A\u65AD\u3057\u3066\u691C\u7D22\u3059\u308B\uFF08--ai \u3067 AI\u691C\u7D22\u30FB--type \u3067\u7A2E\u985E\u3092\u7D5E\u308B\uFF09
955
983
  twp search query <\u8A9E> \u540C\u4E0A\uFF08\u300Ctypes\u300D\u306A\u3069\u64CD\u4F5C\u540D\u3068\u540C\u3058\u8A9E\u3092\u691C\u7D22\u3059\u308B\u3068\u304D\uFF09
956
984
  twp search types \u691C\u7D22\u3067\u304D\u308B\u7A2E\u985E\uFF08doc_type \u3068\u30E9\u30D9\u30EB\uFF09\u3092\u4E00\u89A7\u3059\u308B
@@ -1440,16 +1468,16 @@ TUI \u5185:
1440
1468
  TWP API \u3092\u547C\u3079\u307E\u3059\u3002TWP API \u306E\u30C4\u30FC\u30EB\u306F\u65E2\u5B9A\u3067\u78BA\u8A8D\u304C\u51FA\u307E\u3059\uFF08-p \u3067\u306F\u62D2\u5426\u3002--allowed-tools \u3067\u540D\u524D\u3092\u8A31\u53EF\uFF09\u3002
1441
1469
  \u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
1442
1470
  `;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
1443
- `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-XT4VB4LJ.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-32FJZVQR.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1444
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-A7OXOQPI.js"),import("./config-XYWRBIC6.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-DONZ3M6N.js");process.exitCode=
1471
+ `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-XT4VB4LJ.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-636S3VU3.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1472
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-TGKZPLKO.js"),import("./config-XYWRBIC6.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-DONZ3M6N.js");process.exitCode=
1445
1473
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1446
1474
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-GSBMRWQ4.js");process.stderr.write(MOVED_QUEUE_COMMAND_MESSAGE);process.exitCode=2;return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
1447
1475
 
1448
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-VNV2AVDI.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1449
- {},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-QS6VCLTX.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1450
- profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-5NJSC26F.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-RBN5WGWJ.js");
1451
- const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-3B5GGPY7.js");process.exitCode=await runTaskLoop(
1476
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-3UJFGBQR.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1477
+ {},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-OJORMKTD.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1478
+ profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-5NJSC26F.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-FOEEAVJQ.js");
1479
+ const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-ULMFP3LH.js");process.exitCode=await runTaskLoop(
1452
1480
  {action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,scheduleOp:args.scheduleOp,scheduleConfigOp:args.scheduleConfigOp,scheduleId:args.scheduleId,charterOp:args.charterOp,charterInput:args.
1453
1481
  charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,skillConfig:args.skillConfig,output:args.output,query:args.query,revisionFrom:args.revisionFrom,revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,includeStopped:args.includeStopped,runnerOp:args.runnerOp,runnerId:args.runnerTargetId,planEmpty:args.planEmpty,planCheck:args.planCheck,
1454
- yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-YDTQT2T3.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:
1455
- {},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-GWNEJ24L.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
1482
+ yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-ZCGHYKQM.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:
1483
+ {},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-V6K6YNWR.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
@@ -2,7 +2,7 @@ import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
3
  import{ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-6M5NUVJJ.js";import{NO_PLAN_SESSION,RECENT_ADVANCE_WINDOW_HOURS,buildDynamicBlocks,buildRecentCandidateIndex,createItem,enqueueBlockerRecovery,enqueueDevVerifyForMerged,enqueueReleasePartialMergeRerun,enqueueReleasePhase5Recovery,fileSkillNames,findRecentCandidate,formatInflightEntry,formatPlanResultLine,formatRecentAdvance,formatResumeHold,inflightEntries,inflightStaleHours,openPlanSession,parseOutcomeCode,
4
4
  parseReleaseResult,parseTaskStatusSnapshot,pendingTaskKeys,resolveRecentAdvance,resolveResumeHold,shouldSuppressForResume,shouldSuppressForStatus,staleFloorHours,unavailableChecks,windowStartMicros}from"./chunk-Q5NZXJNI.js";import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-MBPJV745.js";import{ServerSkillCatalog,formatSkillOrigins}from"./chunk-3OCV6SOR.js";import{claudeConfigDir,
5
- resolveDetectDeps}from"./chunk-5SONMN6K.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-OVV2PTZF.js";import"./chunk-MYBIPHZ7.js";import"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-3D734ED2.js";
5
+ resolveDetectDeps}from"./chunk-5SONMN6K.js";import"./chunk-MYBIPHZ7.js";import"./chunk-A4LFG7MW.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-OVV2PTZF.js";import"./chunk-VRBI2NPI.js";import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-3D734ED2.js";
6
6
  import{redactLoopOutput}from"./chunk-NXPLTDN4.js";import{buildLoopConfig,evaluateOwnership,exportStateDirEnv,localConfigPath,loopStateDir}from"./chunk-INS77QHY.js";import{describeOperations,evaluatePlanGate,planGateStatePath,recordPlanned}from"./chunk-CVX2YWHC.js";import{CapacityReporter}from"./chunk-VYDPW2YO.js";import{formatHookIds,formatHookWiring,runHook,runPrefetch,runPreflight}from"./chunk-TTST7UDR.js";import{exclusiveInflightEntries,formatExclusiveEntry,normalizeSkillName,
7
7
  spawnSyncResolved}from"./chunk-FABDZBDZ.js";import{setSkillPrefix,skillCommand,skillFromPrompt,stripSkillCommand}from"./chunk-6CS5L24D.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-UZUV5FYG.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-RMFLTSOV.js";import{ULID_RE,loopProjectIdPolicy,resolveProjectRef}from"./chunk-HVZUXLQ4.js";
8
8
  import"./chunk-IXT2X5BZ.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import"./chunk-5WGOHFAS.js";import{effectiveApiUrl,resolveProfile}from"./chunk-EDF4U5BT.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";
@@ -123,11 +123,12 @@ log.log(` \u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u5C65\u6B74\u3092\u6
123
123
  \u3089\u308C\u306A\u3044\u305F\u3081\u3001\u91CD\u8907\u6295\u5165\u306E\u6291\u6B62\u304C\u5F31\u307E\u308A\u307E\u3059");return""}const hist=await this.loadHistory();if("error"in hist){this.deps.log.log(` \u26A0\uFE0F \u5B9A\u671F\u30BB\u30AF\u30B7\u30E7\u30F3\u306E\u300C\u6B21\u56DE\u767A\u706B\u4E88\u5B9A\u300D\u3092\u7701\u7565\u3057\u307E\u3059\uFF08\u5C65\u6B74\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093: ${hist.error}\uFF09`)}const lines=readEnqueuedLines(enqueuedFile);return promptSection(
124
124
  cfg.config,this.now(),"error"in hist?[]:hist.rows,lines,!("error"in hist))}};function readEnqueuedLines(file){if(!file)return[];let text;try{text=fs5.readFileSync(file,"utf8")}catch{return[]}return text.split("\n").filter(l=>l.trim()!=="").map(l=>l.replace(/\n$/,""))}async function refineCount(key,raw,hooks,cwd,run2=(hook,dir)=>runHook(hook,dir)){const hook=hooks.get(key);if(!hook||raw===null||raw===0)return{total:raw,note:null};const r=await run2(hook,cwd);const out=r.stdout.trim();if(!r.ok||!/^\d+$/.test(out)){return{total:raw,note:`${key}: \u6570\u3048\u76F4\u3057\u306B\u5931\u6557\u3057\u305F\u305F\u3081\u7D20\u306E\u4EF6\u6570 ${raw} \u3092\u4F7F\u3044\u307E\u3059\uFF08${r.ok?"\u51FA\u529B\u304C\u6574\u65701\u884C\u3067\u306F\u306A\u3044":r.reason}\uFF09`}}
125
125
  const n=Number.parseInt(out,10);if(n>raw){return{total:raw,note:`${key}: \u6570\u3048\u76F4\u3057\u306E\u7D50\u679C ${n} \u304C\u7D20\u306E\u4EF6\u6570 ${raw} \u3092\u8D85\u3048\u308B\u305F\u3081\u7D20\u306E\u4EF6\u6570\u3092\u4F7F\u3044\u307E\u3059`}}return{total:n,note:`${key}: ${raw}\u4EF6\u306E\u3046\u3061\u30B2\u30FC\u30C8\u306B\u52B9\u304F\u3082\u306E ${n}\u4EF6\uFF08${hook.id}\uFF09`}}function exitReasonFor(outcome){if(outcome==="ok")return"ok";if(outcome==="timeout")return"timeout";if(outcome==="rate-limited")return"rate_limited";if(outcome==="aborted")return"interrupted";if(outcome==="max-turns")return"max_turns";return"error"}function withFailureHint(base,output){const hint=failureHint(redactLoopOutput(output));return hint===""?base:`${base} | ${hint}`}function aiUnavailableReport(result){if(needsHumanToRestoreAi(result.outcome))return result.aiReasons??"unknown";if(result.
126
- outcome==="aborted"||result.outcome==="network-down")return void 0;return null}function noteAiAvailability(runner,result){const report=aiUnavailableReport(result);if(report!==void 0)runner.setAiUnavailable(report)}function unexecutedMessage(result){const base=`not executed: ${result.outcome}`;return result.aiReasons===void 0?base:`${base} | ai: ${result.aiReasons}`}var STOP_WAIT_MAX_SEC=3600;var AI_RECOVERY_HINT="\u78BA\u8A8D: claude-auto-switch status \uFF0F \u5404AI CLI\u306E\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\uFF08twp task-loop setup \u3067\u691C\u51FA\u7D50\u679C\u304C\u51FA\u307E\u3059\uFF09";
127
- var ABORT_DRAIN_TIMEOUT_MS=15e3;function lastContractLine(logText,line){const prefix=line!==null&&/^[A-Z][A-Z0-9_]*$/.test(line)?line:"[A-Z][A-Z0-9_]*_RESULT";return[...logText.matchAll(new RegExp(`^(?:${prefix}):[^\\n]*`,"gm"))].at(-1)?.[0]??""}var TaskLoop=class{constructor(deps){this.deps=deps;this.writeback=new Writeback(deps.api,deps.config,deps.log);this.schedule=new ScheduleBridge({config:deps.config,log:deps.log,api:new ScheduleApi(deps.api),fetchCount:async(key,statusId)=>{const{total,error}=await deps.
128
- projectApi.countByStatus(deps.config.projectId,statusId);if(error){deps.log.log(` \u26A0\uFE0F require_zero\u300C${key}\u300D\u306E\u4EF6\u6570\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${error}\uFF09\u3002\u3053\u306E\u67A0\u306F\u767A\u706B\u3057\u307E\u305B\u3093\uFF08fail-closed\uFF09`)}const refined=await refineCount(key,total,deps.config.operations.countHooks,deps.config.workspace);if(refined.note)deps.log.log(` ${refined.note}`);return refined.total}});this.
129
- engine=deps.engine;this.postDeps={api:deps.api,config:deps.config,log:deps.log};this.planLock=new PlanLock({api:deps.api,config:deps.config,log:deps.log,runner:deps.runner,hasPendingItems:async()=>await this.hasPendingItems()&&!this.nothingClaimableBacklog,reregister:async()=>{deps.runner.registered=false;await deps.runner.registerOrThrow()},...deps.sleepFn?{sleepFn:deps.sleepFn}:{}});this.trustGate=deps.trustGate??new TrustGate({enabled:()=>deps.config.ai.usesAi("claude"),check:()=>checkWorkspaceTrust(
130
- deps.config.workspace,{launcherBin:deps.config.claudeLauncher.bin})});this.timestamp=new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"");this.settings=deps.settings??new LoopSettingsApplier({api:deps.api,config:deps.config,log:m=>deps.log.log(m)});this.skills=deps.skills??new ServerSkillCatalog({api:deps.api,config:deps.config,log:m=>deps.log.log(m)})}deps;planGateFingerprint=null;lastPlanWasEmpty=false;writeback;schedule;planLock;planRunScheduled=[];planRunRecord=null;engine;postDeps;timestamp;deferredIds=new Set;midcycleEnqueued=0;aborting=false;draining=false;nothingClaimableBacklog=false;drainExitCode=0;drainWaiters=new Set;itemInFlight=null;ownershipLostItemId=null;abortDrained=null;cyclePreflightSection="";trustGate;settings;skills;sleep(ms){
126
+ outcome==="aborted"||result.outcome==="network-down")return void 0;return null}function noteAiAvailability(runner,result){const report=aiUnavailableReport(result);if(report!==void 0)runner.setAiUnavailable(report)}function unexecutedMessage(result){const base=`not executed: ${result.outcome}`;return result.aiReasons===void 0?base:`${base} | ai: ${result.aiReasons}`}var FILTERED_REASON_LABELS=new Map([["prerequisite","\u524D\u63D0\u672A\u5145\u8DB3"],["platform","\u5225\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u5C02\u7528"],
127
+ ["visibility","\u6A29\u9650\u5916"]]);function describeFilteredReasons(by){return[...FILTERED_REASON_LABELS].filter(([key])=>by.includes(key)).map(([,label])=>label).join("\u30FB")}var STOP_WAIT_MAX_SEC=3600;var AI_RECOVERY_HINT="\u78BA\u8A8D: claude-auto-switch status \uFF0F \u5404AI CLI\u306E\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\uFF08twp task-loop setup \u3067\u691C\u51FA\u7D50\u679C\u304C\u51FA\u307E\u3059\uFF09";var ABORT_DRAIN_TIMEOUT_MS=15e3;function lastContractLine(logText,line){const prefix=line!==
128
+ null&&/^[A-Z][A-Z0-9_]*$/.test(line)?line:"[A-Z][A-Z0-9_]*_RESULT";return[...logText.matchAll(new RegExp(`^(?:${prefix}):[^\\n]*`,"gm"))].at(-1)?.[0]??""}var TaskLoop=class{constructor(deps){this.deps=deps;this.writeback=new Writeback(deps.api,deps.config,deps.log);this.schedule=new ScheduleBridge({config:deps.config,log:deps.log,api:new ScheduleApi(deps.api),fetchCount:async(key,statusId)=>{const{total,error}=await deps.projectApi.countByStatus(deps.config.projectId,statusId);if(error){deps.log.
129
+ log(` \u26A0\uFE0F require_zero\u300C${key}\u300D\u306E\u4EF6\u6570\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${error}\uFF09\u3002\u3053\u306E\u67A0\u306F\u767A\u706B\u3057\u307E\u305B\u3093\uFF08fail-closed\uFF09`)}const refined=await refineCount(key,total,deps.config.operations.countHooks,deps.config.workspace);if(refined.note)deps.log.log(` ${refined.note}`);return refined.total}});this.engine=deps.engine;this.postDeps={api:deps.api,config:deps.config,log:deps.
130
+ log};this.planLock=new PlanLock({api:deps.api,config:deps.config,log:deps.log,runner:deps.runner,hasPendingItems:async()=>await this.hasPendingItems()&&!this.nothingClaimableBacklog,reregister:async()=>{deps.runner.registered=false;await deps.runner.registerOrThrow()},...deps.sleepFn?{sleepFn:deps.sleepFn}:{}});this.trustGate=deps.trustGate??new TrustGate({enabled:()=>deps.config.ai.usesAi("claude"),check:()=>checkWorkspaceTrust(deps.config.workspace,{launcherBin:deps.config.claudeLauncher.bin})});
131
+ this.timestamp=new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"");this.settings=deps.settings??new LoopSettingsApplier({api:deps.api,config:deps.config,log:m=>deps.log.log(m)});this.skills=deps.skills??new ServerSkillCatalog({api:deps.api,config:deps.config,log:m=>deps.log.log(m)})}deps;planGateFingerprint=null;lastPlanWasEmpty=false;writeback;schedule;planLock;planRunScheduled=[];planRunRecord=null;engine;postDeps;timestamp;deferredIds=new Set;midcycleEnqueued=0;aborting=false;draining=false;nothingClaimableBacklog=false;drainExitCode=0;drainWaiters=new Set;itemInFlight=null;ownershipLostItemId=null;abortDrained=null;cyclePreflightSection="";trustGate;settings;skills;sleep(ms){
131
132
  return(this.deps.sleepFn??sleep)(ms)}sleepUnlessDraining(ms){if(this.draining)return Promise.resolve();return new Promise(resolve=>{let timer=null;let settled=false;const wake=()=>{if(settled)return;settled=true;if(timer!==null)clearTimeout(timer);this.drainWaiters.delete(wake);resolve()};this.drainWaiters.add(wake);const injected=this.deps.sleepFn;if(injected)void injected(ms).then(wake);else timer=setTimeout(wake,ms)})}requestDrain(reason,exitCode=0){if(this.draining)return;this.draining=true;
132
133
  this.drainExitCode=exitCode;const running=this.itemInFlight;const why=reason.trim()===""?"\u7406\u7531\u4E0D\u660E":reason;this.deps.log.log(running===null?`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u3092\u53D6\u3089\u305A\u306B\u7D42\u4E86\u3057\u307E\u3059\u3002`:`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\
133
134
  \uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\uFF08${running}\uFF09\u3092\u5B8C\u8D70\u3055\u305B\u3066\u304B\u3089\u7D42\u4E86\u3057\u307E\u3059\u3002`);const waiters=[...this.drainWaiters];this.drainWaiters.clear();for(const w of waiters)w()}cooldownNote(outcome){if(outcome!=="rate-limited")return"";const remaining=this.deps.config.ai.minCooldownRemainingSec();return remaining===null?"":`\uFF08\u6700\u77ED\u306E\u89E3\u9664\u307E\u3067\u7D04${remaining}\u79D2\uFF09`}startOwnershipWatch(itemId){
@@ -231,15 +232,15 @@ advancing,staleHours:inflightStaleHours(config.aiTimeoutSec)});const missing=una
231
232
  log(` \u26A0\uFE0F \u63D0\u51FA\u6642\u306E\u691C\u67FB\u306B\u4F7F\u3046\u5B9F\u6E2C\u3092\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${err.message}\uFF09\u3002\u30A8\u30F3\u30AD\u30E5\u30FC\u6642\u306E\u691C\u67FB\u306F\u52B9\u304D\u307E\u3059`);return null}}async runDequeueLoop(cycle){const{config,log,api,runner}=this.deps;log.separator();log.log("Phase 2: \u30AD\u30E5\u30FC\u304B\u3089\u30C7\u30AD\u30E5\u30FC\u3057\u3066\u9806\u6B21\u5B9F\u884C...");log.separator();let completed=0;
232
233
  let failed=0;let unexecuted=0;let unexecutedNeedsHuman=false;let stepNum=0;let contendedRetry=0;let undetermined=false;let stop=false;this.nothingClaimableBacklog=false;dequeue:for(;;){if(this.draining){log.log("\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u3066\u3044\u308B\u305F\u3081\u3001\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u306F\u53D6\u5F97\u3057\u307E\u305B\u3093\u3002Phase 2 \u3092\u7D42\u4E86\u3057\u307E\u3059\u3002");stop=true;break}const claimed=await this.claimOne();if(claimed.
233
234
  kind==="undetermined"){undetermined=true;break}if(claimed.kind==="contended"){contendedRetry+=1;if(contendedRetry>=config.contendedMax){log.log(` \u26A0\uFE0F contended \u304C ${contendedRetry} \u56DE\u7D9A\u304D\u307E\u3057\u305F\u3002\u3053\u306E\u30B5\u30A4\u30AF\u30EB\u3067\u306E\u53D6\u5F97\u3092\u8AE6\u3081\u307E\u3059\uFF08\u4ED6\u6A5F\u304C\u51E6\u7406\u3092\u7D9A\u3051\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u9AD8\u3044\uFF09`);undetermined=true;break}log.log(` \u2139\uFE0F \u4ED6\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u5148\u306B\u53D6\u5F97\u3057\u307E\u3057\u305F\uFF08c\
234
- ontended\u30FB${contendedRetry}\u56DE\u76EE\uFF09\u30023\u79D2\u5F8C\u306B\u518D\u8A66\u884C\u3057\u307E\u3059`);await this.sleep(3e3);continue}contendedRetry=0;this.nothingClaimableBacklog=claimed.kind==="filtered"&&claimed.by.length>0&&claimed.by.every(b=>b==="prerequisite"||b==="platform");if(claimed.kind==="empty"){log.log("\u30AD\u30E5\u30FC\u306Bpending\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002Phase 2 \u5B8C\u4E86\u3002");break}if(claimed.kind==="filtered"){const reasons=claimed.
235
- by.includes("platform")?claimed.by.includes("prerequisite")?"\u524D\u63D0\u672A\u5145\u8DB3\u30FB\u5225\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u5C02\u7528\u306E\u307F":"\u5225\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u5C02\u7528\u306E\u307F":"\u524D\u63D0\u672A\u5145\u8DB3\u306E\u307F";log.log(this.nothingClaimableBacklog?`\u3053\u306E\u6A5F\u4F53\u304C\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08${reasons}\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002\u6B21\u30B5\u30A4\u30AF\u30EB\u306F\u8A08\u753B\u3057\u307E\u3059\u3002`:
236
- "\u3053\u306E\u6A5F\u4F53\u304C\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u7406\u7531\u3092\u5224\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u6B21\u30B5\u30A4\u30AF\u30EB\u3082\u8A08\u753B\u3057\u307E\u305B\u3093\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002");break}const item=claimed.item;const itemId=item.item_id??"";const prompt=(item.prompt??"").trim();const label=item.label??"";if(!itemId||!prompt){log.log(`\u30C7\u30AD\u30E5\u30FC\u7D50\u679C\u306E\u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${JSON.
237
- stringify(item).slice(0,200)}`);break}stepNum+=1;log.separator();log.log(`[${stepNum}] ${label}`);log.log(` item_id: ${itemId}`);await runner.beat("dequeue",itemId);log.log(` prompt: ${prompt}`);log.separator();const stopMatch=/^\/stop(?:\s+(\d+))?$/.exec(prompt);if(stopMatch){const res=await api.update(itemId,{status:"completed"},config.runId);if(res.status===409){log.log(" \u26A0\uFE0F /stop \u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08409\uFF09\u3002\u3053\u3061\u3089\u3067\u306F\u8A18\u9332\u3057\u307E\u305B\u3093")}else if(!res.
238
- ok){log.log(` \u26D4 /stop \u30A2\u30A4\u30C6\u30E0\u3092 completed \u306B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09`);log.log(" \u3053\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u56DE\u53CE\u5F8C\u306B pending \u3078\u623B\u308B\u305F\u3081\u3001**\u6B21\u56DE\u8D77\u52D5\u6642\u3082\u5373\u505C\u6B62\u3057\u307E\u3059**");log.log(` \u5FA9\u65E7: UI \u304BAPI\u3067 item=${itemId} \u3092 completed / failed \u306B\u3057\u3066\u304F\u3060\u3055\u3044`)}completed+=
239
- 1;const waitSec=stopMatch[1];if(waitSec){const requested=Number.parseInt(waitSec,10);const capped=Math.min(requested,STOP_WAIT_MAX_SEC);if(capped!==requested){log.log(` \u26A0\uFE0F /stop \u306E\u5F85\u6A5F ${requested}\u79D2 \u306F\u4E0A\u9650 ${STOP_WAIT_MAX_SEC}\u79D2 \u306B\u4E38\u3081\u307E\u3059`)}log.log(`[${stepNum}] /stop ${capped} \u2192 ${capped}\u79D2\u9593\u5F85\u6A5F\u3057\u307E\u3059...`);await this.sleepUnlessDraining(capped*1e3);log.log(`[${stepNum}] \u5F85\u6A5F\u5B8C\u4E86\u3002\u6B21\u306E\u30A2\u30A4\u30C6\u30E0\u306B\u9032\u307F\u307E\u3059\u3002`);
240
- continue}log.log(`[${stepNum}] /stop \u2192 \u30EB\u30FC\u30D7\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002`);stop=true;break}const skillName=skillFromPrompt(prompt)??"";const promptPlaceholder=placeholderTaskKey(stripSkillCommand(prompt));if(promptPlaceholder!==null){const reason=`\u30BF\u30B9\u30AF\u30AD\u30FC\u304C\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u306E\u307E\u307E\u3067\u3059\uFF08'${promptPlaceholder}'\uFF09\u3002\u8A08\u753B\u6642\u306E\u96DB\u5F62\u304C\u7F6E\u63DB\u3055\u308C\u3066\u3044\u307E\u305B\u3093`;
241
- log.log(` \u26D4 \u5B9F\u884C\u3057\u307E\u305B\u3093: ${reason}`);const res=await api.update(itemId,{status:"failed",error_message:reason},config.runId);if(res.status===409){log.log(` \u26A0\uFE0F \u65E2\u306B\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08409\uFF09\u3002\u3053\u3061\u3089\u3067\u306F\u8A18\u9332\u3057\u307E\u305B\u3093: item=${itemId}`)}else if(!res.ok){log.log(` \u26A0\uFE0F failed \u306B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(
242
- res)}\uFF09: item=${itemId}`)}else{log.log(`[${stepNum}] ${label} \u2192 \u5931\u6557 [ai=-] (0s)`);await this.schedule.recordByItem(itemId,"failed")}failed+=1;continue}if(skillName){const gate=await this.schedule.gateAllows(skillName);if(!gate.allowed){stepNum-=1;if(this.deferredIds.has(itemId)){log.log(" \u6642\u9593\u5E2F\u30B2\u30FC\u30C8\u3067\u5F85\u6A5F\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u518D\u3073\u30C7\u30AD\u30E5\u30FC\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u30B5\u30A4\u30AF\u30EB\u306EPhase 2\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002");
235
+ ontended\u30FB${contendedRetry}\u56DE\u76EE\uFF09\u30023\u79D2\u5F8C\u306B\u518D\u8A66\u884C\u3057\u307E\u3059`);await this.sleep(3e3);continue}contendedRetry=0;this.nothingClaimableBacklog=claimed.kind==="filtered"&&claimed.by.length>0&&claimed.by.every(b=>FILTERED_REASON_LABELS.has(b));if(claimed.kind==="empty"){log.log("\u30AD\u30E5\u30FC\u306Bpending\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002Phase 2 \u5B8C\u4E86\u3002");break}if(claimed.kind==="filtered"){const reasons=`${describeFilteredReasons(
236
+ claimed.by)}\u306E\u307F`;log.log(this.nothingClaimableBacklog?`\u3053\u306E\u6A5F\u4F53\u304C\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08${reasons}\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002\u6B21\u30B5\u30A4\u30AF\u30EB\u306F\u8A08\u753B\u3057\u307E\u3059\u3002`:"\u3053\u306E\u6A5F\u4F53\u304C\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u7406\u7531\u3092\u5224\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u3001\u6B21\u30B5\u30A4\u30AF\u30EB\u3082\u8A08\u753B\u3057\u307E\u305B\u3093\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002");
237
+ break}const item=claimed.item;const itemId=item.item_id??"";const prompt=(item.prompt??"").trim();const label=item.label??"";if(!itemId||!prompt){log.log(`\u30C7\u30AD\u30E5\u30FC\u7D50\u679C\u306E\u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${JSON.stringify(item).slice(0,200)}`);break}stepNum+=1;log.separator();log.log(`[${stepNum}] ${label}`);log.log(` item_id: ${itemId}`);await runner.beat("dequeue",itemId);log.log(` prompt: ${prompt}`);log.separator();const stopMatch=/^\/stop(?:\s+(\d+))?$/.
238
+ exec(prompt);if(stopMatch){const res=await api.update(itemId,{status:"completed"},config.runId);if(res.status===409){log.log(" \u26A0\uFE0F /stop \u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08409\uFF09\u3002\u3053\u3061\u3089\u3067\u306F\u8A18\u9332\u3057\u307E\u305B\u3093")}else if(!res.ok){log.log(` \u26D4 /stop \u30A2\u30A4\u30C6\u30E0\u3092 completed \u306B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(
239
+ res)}\uFF09`);log.log(" \u3053\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u56DE\u53CE\u5F8C\u306B pending \u3078\u623B\u308B\u305F\u3081\u3001**\u6B21\u56DE\u8D77\u52D5\u6642\u3082\u5373\u505C\u6B62\u3057\u307E\u3059**");log.log(` \u5FA9\u65E7: UI \u304BAPI\u3067 item=${itemId} \u3092 completed / failed \u306B\u3057\u3066\u304F\u3060\u3055\u3044`)}completed+=1;const waitSec=stopMatch[1];if(waitSec){const requested=Number.parseInt(waitSec,10);const capped=Math.min(requested,STOP_WAIT_MAX_SEC);if(capped!==
240
+ requested){log.log(` \u26A0\uFE0F /stop \u306E\u5F85\u6A5F ${requested}\u79D2 \u306F\u4E0A\u9650 ${STOP_WAIT_MAX_SEC}\u79D2 \u306B\u4E38\u3081\u307E\u3059`)}log.log(`[${stepNum}] /stop ${capped} \u2192 ${capped}\u79D2\u9593\u5F85\u6A5F\u3057\u307E\u3059...`);await this.sleepUnlessDraining(capped*1e3);log.log(`[${stepNum}] \u5F85\u6A5F\u5B8C\u4E86\u3002\u6B21\u306E\u30A2\u30A4\u30C6\u30E0\u306B\u9032\u307F\u307E\u3059\u3002`);continue}log.log(`[${stepNum}] /stop \u2192 \u30EB\u30FC\u30D7\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002`);
241
+ stop=true;break}const skillName=skillFromPrompt(prompt)??"";const promptPlaceholder=placeholderTaskKey(stripSkillCommand(prompt));if(promptPlaceholder!==null){const reason=`\u30BF\u30B9\u30AF\u30AD\u30FC\u304C\u30D7\u30EC\u30FC\u30B9\u30DB\u30EB\u30C0\u306E\u307E\u307E\u3067\u3059\uFF08'${promptPlaceholder}'\uFF09\u3002\u8A08\u753B\u6642\u306E\u96DB\u5F62\u304C\u7F6E\u63DB\u3055\u308C\u3066\u3044\u307E\u305B\u3093`;log.log(` \u26D4 \u5B9F\u884C\u3057\u307E\u305B\u3093: ${reason}`);const res=await api.
242
+ update(itemId,{status:"failed",error_message:reason},config.runId);if(res.status===409){log.log(` \u26A0\uFE0F \u65E2\u306B\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08409\uFF09\u3002\u3053\u3061\u3089\u3067\u306F\u8A18\u9332\u3057\u307E\u305B\u3093: item=${itemId}`)}else if(!res.ok){log.log(` \u26A0\uFE0F failed \u306B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09: item=${itemId}`)}else{log.log(`[${stepNum}] ${label}\
243
+ \u2192 \u5931\u6557 [ai=-] (0s)`);await this.schedule.recordByItem(itemId,"failed")}failed+=1;continue}if(skillName){const gate=await this.schedule.gateAllows(skillName);if(!gate.allowed){stepNum-=1;if(this.deferredIds.has(itemId)){log.log(" \u6642\u9593\u5E2F\u30B2\u30FC\u30C8\u3067\u5F85\u6A5F\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u518D\u3073\u30C7\u30AD\u30E5\u30FC\u3055\u308C\u307E\u3057\u305F\u3002\u3053\u306E\u30B5\u30A4\u30AF\u30EB\u306EPhase 2\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002");
243
244
  break}const res=await api.update(itemId,{status:"pending"},config.runId);if(res.status===409){log.log(` \u26A0\uFE0F \u5F8C\u56DE\u3057\u306B\u3057\u3088\u3046\u3068\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08409\uFF09: item=${itemId}`);log.log(" \u81EA\u5206\u306E claim \u306F\u5931\u52B9\u3057\u3066\u3044\u307E\u3059\u3002**\u3053\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u5B9F\u884C\u305B\u305A\u653E\u68C4\u3057\u307E\u3059**");
244
245
  continue}if(res.ok){this.deferredIds.add(itemId);log.log(` \u23F8 \u6642\u9593\u5E2F\u30B2\u30FC\u30C8\u306B\u3088\u308A\u5F8C\u56DE\u3057: ${skillName} \u2014 ${gate.reason}`);continue}log.log(" \u26A0\uFE0F pending\u3078\u623B\u305B\u306A\u304B\u3063\u305F\u305F\u3081\u3001\u6642\u9593\u5E2F\u30B2\u30FC\u30C8\u3092\u7121\u8996\u3057\u3066\u3053\u306E\u307E\u307E\u5B9F\u884C\u3057\u307E\u3059");stepNum+=1}}const stepLog=path4.join(config.logDir,`step-${this.timestamp}-${cycle}-${stepNum}.lo\
245
246
  g`);const startedAt=Date.now();const taggedCategory=/#ai:([a-z]+)/.exec(label)?.[1];this.itemInFlight=itemId;const resolvedSkills=await this.skills.resolve(prompt);const skillOrigins=formatSkillOrigins(resolvedSkills.origins);if(skillOrigins!=="")log.log(` \u30B9\u30AD\u30EB: ${skillOrigins}`);const ownershipWatch=this.startOwnershipWatch(itemId);let result;try{result=await this.engine.run({serverSkills:resolvedSkills.bodies,prompt:buildStepPrompt(config,prompt),promptPrefix:this.cyclePreflightSection,
@@ -302,17 +303,17 @@ claudeLauncher.bin,...extraHosts.length>0?{preflightHosts:[...DEFAULT_PREFLIGHT_
302
303
  action==="stop")return await stopLoop(opts);if(opts.action==="plan"){if(opts.planOp!=="submit"){process.stderr.write("plan \u306B\u306F submit \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}const{runPlanSubmit}=await import("./plan-submit-WP25FEYE.js");return runPlanSubmit({file:opts.charterInput,empty:opts.planEmpty===true,check:opts.planCheck===true},{env:process.env,readStdin:()=>fs9.readFileSync(0,"utf8"),stdout:s=>process.stdout.write(s),stderr:s=>process.stderr.write(s)})}
303
304
  const profile=resolveProfile(opts.profile);let creds;try{creds=new AuthSession(profile.name,profile.apiUrl).loadOrThrow()}catch(err){process.stderr.write(`${err.message}
304
305
  `);return 1}const apiUrl=effectiveApiUrl(profile,creds.api_url);const session=new AuthSession(profile.name,apiUrl);if(opts.action==="capacity"&&opts.capacityOp==="list"){let filterId;if(opts.project!==void 0&&opts.project!==""){try{filterId=(await new ProjectApi(apiUrl,session).resolve(opts.project)).id}catch(err){process.stderr.write(`${err.message}
305
- `);return 1}}const api2=new AgentLoopApi({apiUrl,projectId:filterId??"",session});const{runCapacityList}=await import("./capacity-list-command-LKOVLAY4.js");return runCapacityList({get:()=>api2.runnersOverview()},{output:opts.output,query:opts.query,includeStopped:opts.includeStopped===true,projectId:filterId})}const projectRef=opts.project??process.env.TWP_PROJECT??"";if(projectRef===""){process.stderr.write("--project <\u30AD\u30FC|UUID> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08TWP_PROJECT \u3067\u3082\u53EF\uFF09\n");
306
+ `);return 1}}const api2=new AgentLoopApi({apiUrl,projectId:filterId??"",session});const{runCapacityList}=await import("./capacity-list-command-GFHEKY47.js");return runCapacityList({get:()=>api2.runnersOverview()},{output:opts.output,query:opts.query,includeStopped:opts.includeStopped===true,projectId:filterId})}const projectRef=opts.project??process.env.TWP_PROJECT??"";if(projectRef===""){process.stderr.write("--project <\u30AD\u30FC|UUID> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08TWP_PROJECT \u3067\u3082\u53EF\uFF09\n");
306
307
  return 2}const projectApi=new ProjectApi(apiUrl,session);let project;try{project=await projectApi.resolve(projectRef)}catch(err){process.stderr.write(`${err.message}
307
308
  `);return 1}const projectId=project.id;if(opts.action==="setup"){const{runSetup,parseAiList}=await import("./setup-ICJPTYKW.js");let ais;if(opts.ais!==void 0&&opts.ais.length>0){const parsed=parseAiList(opts.ais.join(","));if(parsed.unknown.length>0){process.stderr.write(`--ai \u306B\u672A\u77E5\u306E\u5024\u304C\u3042\u308A\u307E\u3059: ${parsed.unknown.join(" / ")}
308
309
  `);return 2}ais=parsed.ais}return runSetup({projectId,projectRef,projectName:project.name===project.id?projectRef:`${project.code} / ${project.name}`,apiUrl,yes:opts.yes===true,...ais!==void 0?{ais}:{},...opts.workspace!==void 0?{workspace:opts.workspace}:{},...opts.aiConfigFile!==void 0?{aiConfigFile:opts.aiConfigFile}:{},...opts.noAiConfigFile===true?{noAiConfigFile:true}:{},...opts.profile!==void 0?{profile:opts.profile}:{}})}if(opts.action==="charter"){if(opts.charterOp===void 0){process.stderr.
309
310
  write("charter \u306B\u306F push / pull / history / diff / revert \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}if(isPrivateProjectId(projectId)){process.stderr.write("\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30E5\u30FC\uFF08--project __private__\uFF09\u306B\u306F\u61B2\u7AE0\u306E\u8A2D\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093\n");return 2}if(opts.charterOp!=="push"&&opts.charterOp!=="pull"){const{runRevisionCommand}=await import("./revision-command-KT7NMRES.js");
310
311
  return runRevisionCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{target:"charter",op:opts.charterOp,from:opts.revisionFrom,to:opts.revisionTo,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.profile})}const{runCharterCommand}=await import("./charter-command-A4MFFBGE.js");return runCharterCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.charterOp,file:opts.charterInput,out:opts.charterOutput,revision:opts.charterRevision,yes:opts.yes===true,projectRef,
311
- profile:opts.profile})}if(opts.action==="runner"){if(opts.runnerOp===void 0){process.stderr.write("runner \u306B\u306F list / remove \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}const{runRunnerCommand}=await import("./runner-command-YIAPRXZP.js");return runRunnerCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.runnerOp,runnerId:opts.runnerId,output:opts.output,query:opts.query,yes:opts.yes===true,projectRef,profile:opts.profile})}
312
+ profile:opts.profile})}if(opts.action==="runner"){if(opts.runnerOp===void 0){process.stderr.write("runner \u306B\u306F list / remove \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}const{runRunnerCommand}=await import("./runner-command-GN45H7TL.js");return runRunnerCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.runnerOp,runnerId:opts.runnerId,output:opts.output,query:opts.query,yes:opts.yes===true,projectRef,profile:opts.profile})}
312
313
  if(opts.action==="schedule"&&opts.scheduleOp!==void 0){const{runScheduleDefCommand}=await import("./schedule-def-command-OFCA5VH3.js");return runScheduleDefCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.scheduleOp,configOp:opts.scheduleConfigOp,id:opts.scheduleId,file:opts.charterInput,out:opts.charterOutput,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.profile})}if(opts.action==="settings"){if(opts.settingsOp===void 0){process.stderr.write("settings \u306B\u306F pu\
313
314
  sh / pull \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}if(isPrivateProjectId(projectId)){process.stderr.write("\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30E5\u30FC\uFF08--project __private__\uFF09\u306B\u306F\u30EB\u30FC\u30D7\u8A2D\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093\n");return 2}const{runSettingsCommand}=await import("./settings-command-TEVH2MNY.js");return runSettingsCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.settingsOp,
314
315
  file:opts.charterInput,out:opts.charterOutput,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.profile})}if(opts.action==="skill"){if(opts.skillOp===void 0){process.stderr.write("skill \u306B\u306F push / pull / list / show / delete / history / diff / revert / check \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}if(isPrivateProjectId(projectId)){process.stderr.write("\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30E5\u30FC\uFF08--project __private__\uFF09\u306B\u306F\u30B9\u30AD\u30EB\u5B9A\u7FA9\u306E\u8A2D\u5B9A\u304C\u3042\u308A\u307E\u305B\u3093\n");
315
- return 2}if(opts.skillOp==="check"){const{runSkillCheck}=await import("./skill-check-VNUNX6IO.js");return runSkillCheck({api:new AgentLoopApi({apiUrl,projectId,session})},{configPath:opts.skillConfig,defaultConfigPath:localConfigPath(projectId),output:opts.output})}if(opts.skillOp==="list"||opts.skillOp==="show"||opts.skillOp==="delete"){const{runSkillManageCommand}=await import("./skill-manage-command-E7M7ZSQP.js");return runSkillManageCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.
316
+ return 2}if(opts.skillOp==="check"){const{runSkillCheck}=await import("./skill-check-3RWESZ4O.js");return runSkillCheck({api:new AgentLoopApi({apiUrl,projectId,session})},{configPath:opts.skillConfig,defaultConfigPath:localConfigPath(projectId),output:opts.output})}if(opts.skillOp==="list"||opts.skillOp==="show"||opts.skillOp==="delete"){const{runSkillManageCommand}=await import("./skill-manage-command-Z4MLSACA.js");return runSkillManageCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.
316
317
  skillOp,name:opts.skillName,output:opts.output,query:opts.query,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.profile})}if(opts.skillOp!=="push"&&opts.skillOp!=="pull"){const{runRevisionCommand}=await import("./revision-command-KT7NMRES.js");return runRevisionCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{target:"skill",op:opts.skillOp,name:opts.skillName,from:opts.revisionFrom,to:opts.revisionTo,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.
317
318
  profile})}const{runSkillCommand}=await import("./skill-command-4VMZ2H6A.js");return runSkillCommand({api:new AgentLoopApi({apiUrl,projectId,session})},{op:opts.skillOp,name:opts.skillName,all:opts.skillAll===true,dir:opts.skillDir,revision:opts.charterRevision,yes:opts.yes===true,projectRef,profile:opts.profile})}const config=buildLoopConfig({projectId,projectRef,apiUrl,safeMode:opts.safe,daemon:opts.daemon,...opts.maxCycles!==void 0?{maxCycles:opts.maxCycles}:{},...opts.interval!==void 0?{intervalSec:opts.
318
319
  interval}:{},forceRunner:opts.forceRunner,...opts.engine!==void 0?{engine:opts.engine}:{},version:opts.version});const api=new AgentLoopApi({apiUrl,projectId,session});if(opts.action==="capacity"){if(opts.capacityOp!=="report"){process.stderr.write("capacity \u306B\u306F report / list \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return 2}for(const warning of config.warnings)process.stderr.write(`\u26A0\uFE0F ${warning}
@@ -336,7 +337,7 @@ log.log("\u4E2D\u65AD\u30B7\u30B0\u30CA\u30EB\u3092\u53D7\u4FE1\u3057\u307E\u305
336
337
  log(`\u7248\u30C9\u30EA\u30D5\u30C8\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\uFF08${from} \u2192 ${to}\uFF09\u3002`);log.log(` \u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u5B8C\u8D70\u3055\u305B\u3066\u304B\u3089\u7D42\u4E86\u3057\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 ${EXIT_VERSION_DRIFT}\uFF09\u3002\u518D\u8D77\u52D5\u306F systemd\uFF08Restart=always\uFF09\u304C\u884C\u3044\u307E\u3059`);const reason=`\u7248\u30C9\u30EA\u30D5\u30C8 ${from} \u2192 ${to} \u306B\u3088\u308B\u81EA\u52D5\u518D\u8D77\u52D5`;
337
338
  if(loop===null)pendingDrain.value={reason,exitCode:EXIT_VERSION_DRIFT};else loop.requestDrain(reason,EXIT_VERSION_DRIFT)}});driftWatcher=watch.stop}try{const{LoopSettingsApplier:LoopSettingsApplier2}=await import("./server-settings-RNJ6RVTE.js");const settings=new LoopSettingsApplier2({api,config,log:m=>log.log(m)});await settings.apply();const{ServerSkillCatalog:ServerSkillCatalog2}=await import("./server-skills-5JESWOTH.js");const skills=new ServerSkillCatalog2({api,config,log:m=>log.log(m)});await skills.
338
339
  refresh();await runner.checkHeartbeatInterval();await runner.registerOrThrow();runner.startHeartbeatWorker();log.log(` heartbeat: ${config.heartbeatIntervalSec}\u79D2\u3054\u3068\u306B\u9001\u4FE1${runner.heartbeatTimeoutServer?`\uFF08\u30B5\u30FC\u30D0\u306E\u6B7B\u6D3B\u3057\u304D\u3044\u5024 ${runner.heartbeatTimeoutServer}\u79D2\uFF09`:""}`);loop=new TaskLoop({api,projectApi,config,log,runner,engine:await buildEngine(config,m=>log.log(m)),settings,skills});if(pendingDrain.value!==null){loop.
339
- requestDrain(pendingDrain.value.reason,pendingDrain.value.exitCode)}exitCode=await loop.run()}catch(err){if(err instanceof RunnerRegistrationError){exitCode=1}else{log.log(`\u26D4 \u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u3067\u7D42\u4E86\u3057\u307E\u3059: ${err.message}`);exitCode=1}}finally{await shutdown()}return exitCode}async function showStatus(api,config,opts){const{runStatusCommand}=await import("./status-command-2FL2SVFR.js");const lock=lockDir(config);return runStatusCommand(api,
340
+ requestDrain(pendingDrain.value.reason,pendingDrain.value.exitCode)}exitCode=await loop.run()}catch(err){if(err instanceof RunnerRegistrationError){exitCode=1}else{log.log(`\u26D4 \u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u3067\u7D42\u4E86\u3057\u307E\u3059: ${err.message}`);exitCode=1}}finally{await shutdown()}return exitCode}async function showStatus(api,config,opts){const{runStatusCommand}=await import("./status-command-XOELHUCV.js");const lock=lockDir(config);return runStatusCommand(api,
340
341
  {projectRef:config.projectRef,projectId:config.projectId,apiUrl:config.apiUrl,lockPath:lock,lockHeld:fs9.existsSync(lock),profile:opts.profile},{output:opts.output,query:opts.query},{out:s=>process.stdout.write(s),err:s=>process.stderr.write(s)})}var STOP_WAIT_MS=18e4;var STOP_POLL_MS=250;function defaultIsAlive(pid){try{process.kill(pid,0);return true}catch(err){return err.code==="EPERM"}}async function stopLoop(opts,deps={}){const platform=deps.platform??process.platform;const isLoopProcess=deps.
341
342
  isLoopProcess??defaultIsLoopProcess;const isAlive=deps.isAlive??defaultIsAlive;const waitMs=deps.waitMs??STOP_WAIT_MS;const pollMs=deps.pollMs??STOP_POLL_MS;const now=deps.now??Date.now;const nap=deps.sleep??(ms=>new Promise(r=>setTimeout(r,ms)));const request=deps.requestMarkerFn??requestMarker;const out=m=>void process.stdout.write(m);const err=m=>void process.stderr.write(m);if(opts.force&&opts.drain){err("\u26A0\uFE0F --force \u3068 --drain \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\uFF08\u8981\u6C42\u304C\u6B63\u53CD\u5BFE\u3067\u3059\uFF09\u3002\u3069\u3061\u3089\u3082\u5B9F\u884C\u3057\u307E\u305B\u3093\n");
342
343
  return 2}const stateDir=deps.stateDir??loopStateDir();let dirs;try{dirs=fs9.readdirSync(stateDir).filter(d=>/^task-loop-.*\.lock\.d$/.test(d))}catch{dirs=[]}if(opts.project){if(/^[0-9a-f-]{36}$/i.test(opts.project)||ULID_RE.test(opts.project)){dirs=dirs.filter(d=>d===`task-loop-${opts.project}.lock.d`)}else if(isPrivateProjectRef(opts.project)){dirs=dirs.filter(d=>d.startsWith("task-loop-private-"))}else{err(`\u26A0\uFE0F --project \u306F ID\uFF08UUID / ULID\uFF09\u6307\u5B9A\u306E\u3068\u304D\u3060\u3051\u7D5E\u308A\u8FBC\u3081\u307E\u3059\uFF08${safe(
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{customerDocumentSubresources}from"./chunk-733XATRJ.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-FM3RHTEQ.js";import"./chunk-WTYIFLVB.js";import"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-7KD5RWFY.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-KW37N7IO.js";
4
- import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-2T23XGJF.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";
3
+ import{customerDocumentSubresources}from"./chunk-VLBWNFQW.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-U2CRCBJ3.js";import"./chunk-WTYIFLVB.js";import"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-EQXJOEOK.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MPGJU5A7.js";
4
+ import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-M36DAHMH.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-MI6HVYR2.js";
5
5
  import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-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";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
6
6
  var DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u524A\u9664\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var REF_HELP="<\u53D6\u5F15\u5148> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B\
7
7
  ID\uFF08twp company list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002";function companyPath(input){const id=requireResolved(input,"companyId");if(!isExactNumericId(id))throw new UsageError(`\u53D6\u5F15\u5148 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}`);return`${SALES_COMPANIES_PATH}/${id}`}async function resolveCompany(input,ctx,usage){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{GLOBAL_FLAGS}from"./chunk-5PBNMFNO.js";import"./chunk-2LOT54OO.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-JF2GCXNQ.js";import{BUILTIN_COMMANDS,QUEUE_DOMAIN,TASK_LOOP_ACTIONS,TASK_LOOP_QUEUE_ACTIONS,VALUE_FLAGS,rewriteQueueCommand}from"./chunk-EOXTDZTA.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
3
+ import{GLOBAL_FLAGS}from"./chunk-IWY2SNST.js";import"./chunk-2LOT54OO.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-C6U2CGX7.js";import{BUILTIN_COMMANDS,QUEUE_DOMAIN,TASK_LOOP_ACTIONS,TASK_LOOP_QUEUE_ACTIONS,VALUE_FLAGS,rewriteQueueCommand}from"./chunk-EOXTDZTA.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
4
4
  function positionals(words,takesValue){const out=[];for(let i=0;i<words.length;i++){const word=words[i]??"";if(word==="--"){out.push(...words.slice(i+1));break}if(word.startsWith("-")){if(!word.includes("=")&&takesValue(word))i++;continue}out.push(word)}return out}function byPrefix(candidates,current){const seen=new Set;for(const candidate of candidates){if(candidate.startsWith(current))seen.add(candidate)}return[...seen]}function remainingFlags(flags,words){const used=new Set(words.filter(w=>w.
5
5
  startsWith("--")).map(w=>w.split("=")[0]));return[...flags.filter(f=>f.repeatable===true||!used.has(f.name)).map(f=>f.name),...DOMAIN_GLOBAL_FLAGS.filter(f=>!used.has(f))]}async function complete(rawWords,current,ctx){const queue=rewriteQueueCommand(rawWords);if(queue.moved!==void 0)return[];const words=queue.argv;const previous=words[words.length-1];if(previous!==void 0&&previous.startsWith("--")&&!previous.includes("=")){const values=staticValues(previous,ctx);if(values!==void 0)return byPrefix(
6
6
  values,current)}const eq=current.indexOf("=");if(current.startsWith("--")&&eq>0){const flag=current.slice(0,eq);const values=staticValues(flag,ctx);return values===void 0?[]:byPrefix(values.map(v=>`${flag}=${v}`),current)}const pos=positionals(words,flag=>VALUE_FLAGS.has(flag));const[first,second]=pos;if(first===void 0){if(current.startsWith("-"))return byPrefix([...TOP_LEVEL_FLAGS,...DOMAIN_GLOBAL_FLAGS],current);return byPrefix([...BUILTIN_COMMANDS,...DOMAIN_NAMES.filter(name=>name!==QUEUE_DOMAIN),
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contractAiReviewResources}from"./chunk-PWKWXZDZ.js";import"./chunk-RIEBWMKF.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-7KD5RWFY.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{contractAiReviewResources}from"./chunk-FCC7JJR5.js";import"./chunk-5STCZEOX.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-EQXJOEOK.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{isoDate}from"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-XNLIEUAW.js";
5
5
  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 PATH=SALES_CONTRACTS_PATH;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));var DISAMBIGUATION="\u53D6\u5F15\u5951\u7D04\u306F\u898B\u7A4D\u304B\u3089\u4F5C\u308B\u8CA9\u58F2\u7BA1\u7406\u306E\u66F8\u985E\u3067\u3059\uFF08\u660E\u7D30\u30FB\u91D1\u984D\u3092\u6301\u3061\u3001\u627F\u8A8D\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4E57\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u306B\u7D10\u3065\u3051\u3066\u4FDD\u7BA1\u3059\u308B\u5951\u7D04\u66F8\u306E PDF \u306F\u5225\u7269\u3067\u3001twp customer contract \u3067\u6271\u3044\u307E\u3059\u3002\n\n";
6
6
  var CONTRACT_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",contracted:"\u5951\u7D04\u7DE0\u7D50\u6E08",deleted:"\u524A\u9664\u6E08"};var RENEWAL_TYPES={auto_renewal:"\u81EA\u52D5\u66F4\u65B0",application_renewal:"\u7533\u8FBC\u306B\u3088\u308B\u66F4\u65B0"};function statusName(code){return CONTRACT_STATUSES[code]??code}function tableHelp(table){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-KW37N7IO.js";import"./chunk-JJSBBWJ5.js";import{DEPARTMENTS_PATH}from"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";
3
+ import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-MPGJU5A7.js";import"./chunk-JJSBBWJ5.js";import{DEPARTMENTS_PATH}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-PS5QFKHB.js";
4
4
  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";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u90E8\u7F72";var LIST_COLUMNS=["id","code","name","parent_id","level","effective_status","valid_from","valid_to","member_count"];var GET_COLUMNS=["id","code","name","name_short","parent_id","level","sort","effective_status","valid_from","valid_to","description"];var TREE_COLUMNS=["depth","name","code","id","effective_status","valid_to"];var MEMBER_COLUMNS=["id","user_id","position_id","job_title_id","start_date","end_date","is_primary","is_current","effective_status"];var REF_FLAG={name:"\
5
5
  --department",summary:"\u5BFE\u8C61\u306E\u90E8\u7F72\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"};var REF_HELP="<\u90E8\u7F72> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\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\u90E8\u7F72\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";
6
6
  var FIELDS=masterFields(LABEL,[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"ref",flag:"--parent",key:"parent_id",summary:"\u89AA\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-parent",clearSummary:"\u89AA\u90E8\u7F72\u3092\u5916\u3057\u3066\u6700\u4E0A\u4F4D\u306B\u3059\u308B",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"integer",flag:"--sor\
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-6FGQNFUV.js";import"./chunk-QLENN5DD.js";import"./chunk-7KD5RWFY.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";import"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";
3
+ import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-NYQYDX7G.js";import"./chunk-QLENN5DD.js";import"./chunk-EQXJOEOK.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";
4
4
  import"./chunk-IXT2X5BZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./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";export{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{composeDocument,metaLine}from"./chunk-C7MO3RHJ.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";import{DOMAIN_KNOWLEDGES_PATH,DOMAIN_KNOWLEDGE_SLUG_RE}from"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";
3
+ import{composeDocument,metaLine}from"./chunk-62GRAKUD.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import{DOMAIN_KNOWLEDGES_PATH,DOMAIN_KNOWLEDGE_SLUG_RE}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";
4
4
  import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,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 KB_LABEL="\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9";var DOC_LABEL="\u8A18\u4E8B";var ACCESS_LEVELS=["tenant","authenticated","public"];var KB_STATUSES=["draft","active","archived"];var KB_NAME_MAX_CHARS=255;var KB_DESCRIPTION_MAX_CHARS=2e3;var DOC_TITLE_MAX_CHARS=255;var DOC_SUMMARY_MAX_CHARS=2e3;var DOC_TAGS_MAX=30;var DOC_TAG_MAX_CHARS=64;var PATH_SEGMENT_RE=/^[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/;var PATH_MAX_BYTES=512;var DOC_BODY_MAX_BYTES=300*1024;var DOC_DEPTH_MAX=20;var KB_LIST_COLUMNS=[
5
5
  "id","slug","name","status","access_level","updated_at"];var KB_GET_COLUMNS=["id","slug","name","status","access_level","description","revision","updated_at","updated_by"];var DOC_LIST_COLUMNS=["path","title","depth","size_bytes","updated_at"];var DOC_GET_COLUMNS=["path","title","summary","tags","revision","size_bytes","updated_at","updated_by"];var KB_ARG="<KB>";var KB_ARG_HELP="<KB> \u306F\u30CA\u30EC\u30C3\u30B8\u30D9\u30FC\u30B9\u306E ID \u304B slug \u3067\u3059\uFF08twp knowledge list \u306E id / slug \u5217\uFF09\u3002";
6
6
  function positional(input,names,usage){const values=input.args.map(arg=>arg.trim());if(values.length<names.length){throw new UsageError(`${names[values.length]}\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage)}if(values.length>names.length){throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u304C\u591A\u3059\u304E\u307E\u3059: ${input.args.slice(names.length).join(" ")}`,usage)}return values}function oneOf(input,flag,allowed){const raw=nonEmpty(input.flags,flag);if(raw===void 0)return void 0;
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{estimateCaseDocumentResource}from"./chunk-2L2EGIWR.js";import{estimateNoRuleResource}from"./chunk-WGAEYNZQ.js";import{salesAdminForbidden}from"./chunk-6FGQNFUV.js";import"./chunk-733XATRJ.js";import"./chunk-FM3RHTEQ.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{estimateAiReviewResources}from"./chunk-PWKWXZDZ.js";
4
- import{estimatePdfOperation}from"./chunk-RIEBWMKF.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-7KD5RWFY.js";import"./chunk-KW37N7IO.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{charCount,readBody}from"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-2T23XGJF.js";
3
+ import{estimateCaseDocumentResource}from"./chunk-T7MUDWUH.js";import{estimateNoRuleResource}from"./chunk-U3XIH7WP.js";import{salesAdminForbidden}from"./chunk-NYQYDX7G.js";import"./chunk-VLBWNFQW.js";import"./chunk-U2CRCBJ3.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-WTYIFLVB.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import"./chunk-QLENN5DD.js";import"./chunk-RMFLTSOV.js";import{estimateAiReviewResources}from"./chunk-FCC7JJR5.js";
4
+ import{estimatePdfOperation}from"./chunk-5STCZEOX.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-EQXJOEOK.js";import"./chunk-MPGJU5A7.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{charCount,readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-M36DAHMH.js";
5
5
  import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,
6
6
  UsageError}from"./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";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
7
7
  id","description","estimate_manage_content","contract_manage_content","invoice_manage_content","sort_order"];var FIELD_NOTES=[["format_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["default_unit","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u660E\u7D30\u306E\u65E2\u5B9A\u306E\u5358\u4F4D\uFF08set / item / unit / hour / day / month / person / person_month / person_day\uFF09"],["default_tax_rate",'\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u65E2\u5B9A\u306E\u7A0E\u7387\uFF08"10" / "8" / \
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{EVALUATIONS_PATH,EVALUATION_FORBIDDEN,GOAL_SHEETS_PATH,GOAL_SHEET_FORBIDDEN,ORG,PERIODS_PATH,SENSITIVE,envelope,feedbackWriteOperations,forbiddenOnly,goalSheetWriteOperations,objectOf,singleId,stepResource}from"./chunk-34TCAKT5.js";import"./chunk-UVCJXHWN.js";import{booleanQuery,createFlags,fieldBody,updateFlags}from"./chunk-KW37N7IO.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";
4
- import"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
3
+ import{EVALUATIONS_PATH,EVALUATION_FORBIDDEN,GOAL_SHEETS_PATH,GOAL_SHEET_FORBIDDEN,ORG,PERIODS_PATH,SENSITIVE,envelope,feedbackWriteOperations,forbiddenOnly,goalSheetWriteOperations,objectOf,singleId,stepResource}from"./chunk-GLOGPK4Y.js";import"./chunk-UVCJXHWN.js";import{booleanQuery,createFlags,fieldBody,updateFlags}from"./chunk-MPGJU5A7.js";import{repeatedValues}from"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";
4
+ import"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{PAGE_NUMBER_LIST_FLAGS,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
5
5
  import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs from"fs";var GOAL_SHEET_STATUSES=["draft","submitted","approved"];var EVALUATION_STATUSES=["in_progress","completed","feedback_ready","feedback_sent"];var PERIOD_FLAG={name:"--period",summary:"\u8A55\u4FA1\u671F\u9593\u306E ID\uFF08twp evaluation period list / current \u3067\u78BA\u8A8D\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u8A55\u4FA1\u671F\u9593ID>"};var READ_SCOPE_HELP="\u4E00\u89A7\u306B\u51FA\u308B\u306E\u306F\u3001\u3042\u306A\u305F\u304C\u898B\u3066\u3088\u3044\u5206\u3060\u3051\u3067\u3059\uFF08\u4EBA\u4E8B\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306F\u5168\u54E1\u5206\u3001\u305D\u308C\u4EE5\u5916\u306F\u8A55\u4FA1\u671F\u9593\u6642\u70B9\u306E\u90E8\u4E0B\u306E\u5206\uFF1D\u81EA\u5206\u81EA\u8EAB\u306E\u5206\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\n\u6A29\u9650\u304C\u7121\u3044\u4EBA\u306E\u5206\u306F 403 \u3067\u306F\u306A\u304F\u300C\u51FA\u3066\u3053\u306A\u3044\u300D\u306E\u3067\u30010\u4EF6\u3067\u3082\u300C\u305D\u306E\u4EBA\u306E\u5206\u304C\u7121\u3044\u300D\u3068\u306F\u9650\u308A\u307E\u305B\u3093\
6
6
  \u3002";var EVALUATION_PAGING_HELP=" \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\n \u30B5\u30FC\u30D0\u306F\u4E26\u3073\u9806\u3092\u56FA\u5B9A\u3057\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002";
7
7
  function noArgs(input,command){if(input.args.length>0){throw new UsageError(`${command} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp ${command} help`)}}function periodId(input,required,command){const raw=nonEmpty(input.flags,PERIOD_FLAG.name)?.trim();if(raw===void 0||raw===""){if(required){throw new UsageError(`${command} \u306B\u306F --period\uFF08\u8A55\u4FA1\u671F\u9593\u306E ID\uFF09\u304C\u8981\u308A\u307E\u3059`,"\u8A55\u4FA1\u671F\u9593\u306E ID \u306F twp evaluatio\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{featureLicenseGuidance}from"./chunk-7KD5RWFY.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-IWYJSQ5I.js";import"./chunk-W4NLJ2YK.js";import"./chunk-2T23XGJF.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";
3
+ import{featureLicenseGuidance}from"./chunk-EQXJOEOK.js";import{monthFlag}from"./chunk-EXT4AIDF.js";import"./chunk-RX5HWI4L.js";import"./chunk-JJSBBWJ5.js";import{readBody}from"./chunk-M763HXDH.js";import"./chunk-W4NLJ2YK.js";import"./chunk-M36DAHMH.js";import{UUID_RE,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";
4
4
  import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var BASE="/api/v2/expense/commuting";var WORKFLOW_CATEGORY="commuting_expenses";var LIST_LIMIT_MAX=100;var DEFAULT_LIST_LIMIT=24;var COMMENT_MAX=1e3;var CONTENT_MAX_CHARS=2e4;var STATUSES=["draft","pending","approved","rejected"];var ENTRY_VALUES=["round_trip","one_way",""];var CONTENT_KEYS=["daily_entries","comment"];var LIST_COLUMNS=["id","year_month","status","total_round_trips","total_one_ways","total_amount","updated_at"];var ADMIN_LIST_COLUMNS=["id","user_name","year_month","status","total\
5
5
  _round_trips","total_one_ways","total_amount","updated_at"];var GET_COLUMNS=["id","year_month","status","commuting_facilities","commuting_route","commuting_cost_one_way","total_round_trips","total_one_ways","total_amount","workflow_instance_id","comment"];var LICENSE=featureLicenseGuidance("\u7D4C\u8CBB\u7BA1\u7406");var USER_FORBIDDEN=body=>body?.error==="permission_denied"?LICENSE:"\u3053\u306E\u901A\u52E4\u4EA4\u901A\u8CBB\u3092\u64CD\u4F5C\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u81EA\u5206\u306E\u5206\u304B\u3001\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u6271\u3048\u307E\u3059\uFF09";
6
6
  var ADMIN_FORBIDDEN=body=>body?.error==="permission_denied"?LICENSE:"\u7D4C\u8CBB\u306E\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\u304B\u3001\u7D4C\u8CBB\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044";var MONTH_FLAG={name:"--month",summary:"\u5BFE\u8C61\u306E\u5E74\u6708\uFF08YYYY-\
@@ -0,0 +1,68 @@
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-M36DAHMH.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";
4
+ import{MultipartBody}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-IXT2X5BZ.js";import{positiveInteger}from"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-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,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-KW37N7IO.js";import"./chunk-JJSBBWJ5.js";import{FISCAL_YEAR_SETTINGS_PATH}from"./chunk-2T23XGJF.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{singleRef}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
3
+ import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MPGJU5A7.js";import"./chunk-JJSBBWJ5.js";import{FISCAL_YEAR_SETTINGS_PATH}from"./chunk-M36DAHMH.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-MI6HVYR2.js";import"./chunk-II5RVJQN.js";import{singleRef}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";
4
4
  import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var NAME="fiscal-year";var LABEL="\u4E8B\u696D\u5E74\u5EA6\u8A2D\u5B9A";var YEAR_RE=/^\d{4}$/;var FIELDS=[{kind:"number",flag:"--indirect-cost-rate",key:"default_indirect_cost_rate",label:"\u9593\u63A5\u8CBB\u7387",min:0,max:100,summary:"\u9593\u63A5\u8CBB\u7387\u306E\u65E2\u5B9A\uFF08%\u30FB0\u301C100\u30FB\u5C0F\u6570\u53EF\uFF09"},{kind:"number",flag:"--target-profit-rate",key:"default_target_profit_rate",label:"\u76EE\u6A19\u5229\u76CA\u7387",min:0,max:100,summary:"\u76EE\u6A19\u5229\u76CA\u7387\u306E\u65E2\u5B9A\uFF08%\u30FB0\u301C100\u30FB\u5C0F\u6570\u53EF\uFF09"},
5
5
  {kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"}];var COLUMNS=["fiscal_year","default_indirect_cost_rate","default_target_profit_rate","description"];var YEAR_FLAG={name:"--fiscal-year",summary:"\u5BFE\u8C61\u306E\u5E74\u5EA6\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<YYYY>"};var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\
6
6
  \u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306F\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;function fiscalYear(input,usage){const year=singleRef(input,{flag:YEAR_FLAG.name,label:"\u5E74\u5EA6",usage});if(!YEAR_RE.test(year)){throw new UsageError(`\u5E74\u5EA6\u306F4\u6841\u306E\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${year}`,`\u4F8B: twp ${NAME} get 2026`)}return year}function rows(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.