@tocca-systems/twp-cli 0.97.2 → 0.99.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 (354) hide show
  1. package/CHANGELOG.public.md +12 -0
  2. package/README.md +18 -3
  3. package/command-model/_routes.json +113 -1
  4. package/command-model/account-lock.json +1 -1
  5. package/command-model/accounting-master.json +4 -4
  6. package/command-model/address.json +1 -1
  7. package/command-model/agent-loop.json +28 -28
  8. package/command-model/agent.json +11 -11
  9. package/command-model/ai-chat-history.json +3 -3
  10. package/command-model/ai-task-copilot.json +1 -1
  11. package/command-model/ai-token-usage.json +8 -8
  12. package/command-model/ai-training-admin.json +15 -0
  13. package/command-model/ai-training-attempt-admin.json +7 -0
  14. package/command-model/ai-training-attempt.json +1 -1
  15. package/command-model/ai-training-program.json +2 -2
  16. package/command-model/analysis-alert-threshold.json +1 -1
  17. package/command-model/analysis-page-access-rule.json +3 -3
  18. package/command-model/analysis.json +3 -3
  19. package/command-model/announcement.json +6 -6
  20. package/command-model/api-key.json +5 -5
  21. package/command-model/api-usage.json +3 -3
  22. package/command-model/attendance-report-category.json +5 -5
  23. package/command-model/attendance-report-reason-detail.json +5 -5
  24. package/command-model/attendance-report-reason.json +5 -5
  25. package/command-model/attendance-report.json +3 -3
  26. package/command-model/attendance-timesheet.json +3 -3
  27. package/command-model/attendance.json +1 -1
  28. package/command-model/audit-log.json +3 -3
  29. package/command-model/auth.json +3 -3
  30. package/command-model/authorize.json +1 -1
  31. package/command-model/auto-charge.json +3 -3
  32. package/command-model/badge.json +4 -4
  33. package/command-model/billing.json +5 -5
  34. package/command-model/budget.json +8 -8
  35. package/command-model/business-place.json +2 -2
  36. package/command-model/capacity.json +4 -4
  37. package/command-model/cash-flow.json +1 -1
  38. package/command-model/catalog.json +7 -7
  39. package/command-model/chat-channel.json +9 -9
  40. package/command-model/chat-mention-group.json +3 -3
  41. package/command-model/chat-message.json +8 -8
  42. package/command-model/chat-presence.json +3 -3
  43. package/command-model/chat-scheduled-message.json +1 -1
  44. package/command-model/chat-tenant-connection.json +2 -2
  45. package/command-model/chat.json +1 -1
  46. package/command-model/cli-auth.json +1 -1
  47. package/command-model/cli-tool-catalog.json +1 -1
  48. package/command-model/cms-tag.json +5 -5
  49. package/command-model/commuting-expense.json +7 -7
  50. package/command-model/company-case-document.json +1 -1
  51. package/command-model/company-contract-document.json +4 -4
  52. package/command-model/company.json +4 -4
  53. package/command-model/config.json +2 -2
  54. package/command-model/container-agent-schedule.json +3 -3
  55. package/command-model/contract.json +4 -4
  56. package/command-model/credit.json +16 -15
  57. package/command-model/cross-project-report.json +1 -1
  58. package/command-model/customer-campaign.json +4 -4
  59. package/command-model/customer-contact.json +2 -2
  60. package/command-model/customer-interaction.json +4 -4
  61. package/command-model/customer-people.json +3 -3
  62. package/command-model/customer.json +3 -3
  63. package/command-model/cycle-time-analysis.json +1 -1
  64. package/command-model/dashboard-calendar.json +1 -1
  65. package/command-model/department.json +7 -7
  66. package/command-model/deposit-plan.json +2 -2
  67. package/command-model/deposit.json +3 -3
  68. package/command-model/desktop-release.json +2 -2
  69. package/command-model/domain-knowledge-doc.json +3 -2
  70. package/command-model/domain-knowledge.json +6 -4
  71. package/command-model/dynamo-attachment.json +5 -5
  72. package/command-model/dynamo-cms.json +12 -12
  73. package/command-model/dynamo-inquiry.json +9 -9
  74. package/command-model/dynamo-support.json +3 -3
  75. package/command-model/equipment-category.json +1 -1
  76. package/command-model/equipment.json +8 -8
  77. package/command-model/estimate-case-document.json +5 -5
  78. package/command-model/estimate-format.json +4 -4
  79. package/command-model/estimate-no-rule.json +2 -2
  80. package/command-model/estimate.json +8 -8
  81. package/command-model/evaluation-pdf.json +1 -1
  82. package/command-model/evaluation-period.json +5 -5
  83. package/command-model/evaluation.json +7 -7
  84. package/command-model/expense-report.json +10 -10
  85. package/command-model/expense-settings.json +1 -1
  86. package/command-model/external-integration-proxy.json +30 -30
  87. package/command-model/faq-notion-import.json +4 -4
  88. package/command-model/faq.json +4 -4
  89. package/command-model/favorite.json +1 -1
  90. package/command-model/feedback.json +7 -7
  91. package/command-model/fiscal-year-setting.json +4 -4
  92. package/command-model/floor-map.json +2 -2
  93. package/command-model/follow-up-message-template.json +2 -2
  94. package/command-model/goal-sheet.json +4 -4
  95. package/command-model/google-auth.json +1 -1
  96. package/command-model/hearing-auth.json +2 -2
  97. package/command-model/hearing-invitation.json +1 -1
  98. package/command-model/hearing-session.json +4 -4
  99. package/command-model/hearing.json +11 -11
  100. package/command-model/holiday.json +6 -6
  101. package/command-model/hr-checklist-template.json +4 -4
  102. package/command-model/hr-checklist.json +2 -2
  103. package/command-model/hr-qualification.json +2 -2
  104. package/command-model/html-editor.json +1 -1
  105. package/command-model/index.json +27 -7
  106. package/command-model/inquiry-routing.json +5 -5
  107. package/command-model/invoice-auto-template.json +4 -4
  108. package/command-model/invoice-no-rule.json +2 -2
  109. package/command-model/invoice.json +6 -6
  110. package/command-model/job-title.json +7 -7
  111. package/command-model/knowledge-qa.json +1 -1
  112. package/command-model/knowledge-recommendation-feedback.json +1 -1
  113. package/command-model/knowledge-recommendation.json +1 -1
  114. package/command-model/license-assignment.json +4 -4
  115. package/command-model/license-type.json +5 -5
  116. package/command-model/license.json +5 -5
  117. package/command-model/login-history.json +2 -2
  118. package/command-model/man-hour.json +2 -2
  119. package/command-model/master-announcement.json +2 -2
  120. package/command-model/master-billing.json +3 -3
  121. package/command-model/master-pricing.json +4 -4
  122. package/command-model/master-product.json +5 -5
  123. package/command-model/master-support.json +6 -6
  124. package/command-model/master-tenant.json +9 -9
  125. package/command-model/media-file-comment.json +1 -1
  126. package/command-model/media-file-version.json +4 -4
  127. package/command-model/media-file.json +16 -15
  128. package/command-model/media-folder.json +5 -5
  129. package/command-model/media-published-file.json +7 -0
  130. package/command-model/media-sharing-settings.json +7 -0
  131. package/command-model/meeting-category.json +4 -4
  132. package/command-model/meeting-pdf.json +1 -1
  133. package/command-model/meeting-template.json +4 -4
  134. package/command-model/meeting.json +9 -9
  135. package/command-model/member.json +1 -1
  136. package/command-model/microsoft-auth.json +1 -1
  137. package/command-model/microsoft-graph-proxy-v2.json +22 -22
  138. package/command-model/milli-credit.json +8 -8
  139. package/command-model/ms365-calendar-o-auth.json +2 -2
  140. package/command-model/music-generation.json +5 -5
  141. package/command-model/my-ai-training.json +2 -2
  142. package/command-model/my-task.json +4 -4
  143. package/command-model/my-training.json +4 -4
  144. package/command-model/news-perspective.json +2 -2
  145. package/command-model/note-category.json +3 -3
  146. package/command-model/note-comment.json +1 -1
  147. package/command-model/note-reaction.json +1 -1
  148. package/command-model/note-subscription.json +2 -2
  149. package/command-model/note.json +5 -5
  150. package/command-model/notification-recipient-rule.json +2 -2
  151. package/command-model/notification.json +6 -6
  152. package/command-model/notion-import.json +4 -4
  153. package/command-model/o-auth-client.json +4 -4
  154. package/command-model/ojt-approval-inbox.json +6 -0
  155. package/command-model/ojt-assignment.json +29 -0
  156. package/command-model/ojt-checklist.json +18 -0
  157. package/command-model/ojt-permission.json +9 -0
  158. package/command-model/ojt-plan.json +15 -0
  159. package/command-model/ojt-progress.json +6 -0
  160. package/command-model/ojt-report.json +12 -0
  161. package/command-model/ojt-role-dashboard.json +7 -0
  162. package/command-model/ojt-structure-change.json +14 -0
  163. package/command-model/onboarding-template.json +12 -12
  164. package/command-model/operating-hours.json +1 -1
  165. package/command-model/org-chart.json +1 -1
  166. package/command-model/organization-announcement-category.json +3 -3
  167. package/command-model/organization-announcement.json +5 -5
  168. package/command-model/payee.json +2 -2
  169. package/command-model/policy-employee.json +3 -3
  170. package/command-model/policy.json +7 -7
  171. package/command-model/position.json +5 -5
  172. package/command-model/private-agent-loop.json +18 -18
  173. package/command-model/private-task.json +8 -8
  174. package/command-model/process.json +5 -5
  175. package/command-model/profit-analysis.json +2 -2
  176. package/command-model/profit-summary.json +1 -1
  177. package/command-model/project-assignment.json +1 -1
  178. package/command-model/project-auto-assign-settings.json +7 -0
  179. package/command-model/project-cost.json +4 -4
  180. package/command-model/project-custom-field.json +4 -4
  181. package/command-model/project-digest.json +2 -2
  182. package/command-model/project-evaluation.json +5 -5
  183. package/command-model/project-health.json +3 -3
  184. package/command-model/project-inventory-continuation.json +1 -1
  185. package/command-model/project-inventory-overview.json +1 -1
  186. package/command-model/project-inventory-request.json +1 -1
  187. package/command-model/project-inventory-settings.json +1 -1
  188. package/command-model/project-member.json +3 -3
  189. package/command-model/project-overview.json +8 -0
  190. package/command-model/project-process.json +5 -5
  191. package/command-model/project-profit-analysis.json +1 -1
  192. package/command-model/project-quality-check-corrective-task.json +1 -1
  193. package/command-model/project-quality-check-record.json +1 -1
  194. package/command-model/project-quality-check-scope.json +1 -1
  195. package/command-model/project-quality-check-status.json +2 -2
  196. package/command-model/project-repository.json +2 -2
  197. package/command-model/project-revenue.json +5 -5
  198. package/command-model/project-status-report-project.json +1 -1
  199. package/command-model/project-status-report-settings.json +1 -1
  200. package/command-model/project-task-analytics.json +1 -1
  201. package/command-model/project-task-category.json +2 -2
  202. package/command-model/project-task-comment.json +2 -2
  203. package/command-model/project-task-form-options.json +1 -1
  204. package/command-model/project-task-group.json +3 -3
  205. package/command-model/project-task-label.json +2 -2
  206. package/command-model/project-task-link.json +2 -2
  207. package/command-model/project-task-milestone.json +4 -4
  208. package/command-model/project-task-rule.json +6 -6
  209. package/command-model/project-task-status.json +2 -2
  210. package/command-model/project-task-template.json +4 -4
  211. package/command-model/project-task-type.json +2 -2
  212. package/command-model/project-task-version.json +4 -4
  213. package/command-model/project-task-watcher.json +1 -1
  214. package/command-model/project-task.json +15 -15
  215. package/command-model/project-team-chat.json +2 -2
  216. package/command-model/project-template.json +5 -5
  217. package/command-model/project.json +7 -7
  218. package/command-model/prospect-promotion.json +1 -1
  219. package/command-model/prospect.json +7 -7
  220. package/command-model/public-pricing.json +6 -0
  221. package/command-model/purchase-ai-field-mapping.json +3 -3
  222. package/command-model/purchase-document.json +5 -5
  223. package/command-model/purchase-no-rule.json +2 -2
  224. package/command-model/purchase.json +4 -4
  225. package/command-model/push-subscription.json +1 -1
  226. package/command-model/qualification-import.json +2 -2
  227. package/command-model/qualification.json +4 -4
  228. package/command-model/quality-check-item.json +4 -4
  229. package/command-model/rag.json +1 -1
  230. package/command-model/rating-criteria.json +2 -2
  231. package/command-model/receivable-closing.json +2 -2
  232. package/command-model/receivable.json +2 -2
  233. package/command-model/received-invoice.json +3 -3
  234. package/command-model/recreation-club.json +4 -4
  235. package/command-model/report-format-order.json +2 -2
  236. package/command-model/report-saved-tab.json +3 -3
  237. package/command-model/report.json +25 -25
  238. package/command-model/retrospective.json +7 -7
  239. package/command-model/risk-analysis.json +1 -1
  240. package/command-model/role-template.json +3 -3
  241. package/command-model/sales-ai-review-reason-list.json +1 -1
  242. package/command-model/sales-default-recipient-set.json +2 -2
  243. package/command-model/sales-pdf.json +9 -9
  244. package/command-model/sales-recent-recipient.json +1 -1
  245. package/command-model/sales-rounding-setting.json +1 -1
  246. package/command-model/sales-setting.json +4 -4
  247. package/command-model/sales.json +3 -3
  248. package/command-model/saved-tab.json +3 -3
  249. package/command-model/saved-task-filter.json +1 -1
  250. package/command-model/seal-impression.json +2 -2
  251. package/command-model/segment.json +5 -5
  252. package/command-model/sidebar-badge-setting.json +1 -1
  253. package/command-model/skill-analytics.json +4 -4
  254. package/command-model/skill-category.json +4 -4
  255. package/command-model/skill-evaluation-export.json +1 -1
  256. package/command-model/skill-evaluation-record.json +1 -1
  257. package/command-model/skill-micro-feedback.json +2 -2
  258. package/command-model/skill-role-assignment.json +1 -1
  259. package/command-model/skill.json +5 -5
  260. package/command-model/sns-connection.json +2 -2
  261. package/command-model/sns-draft.json +6 -0
  262. package/command-model/sns-media.json +8 -0
  263. package/command-model/sns-post.json +14 -0
  264. package/command-model/staff-kpi-setting.json +2 -2
  265. package/command-model/staff-kpi.json +3 -3
  266. package/command-model/staffing-board-cell.json +1 -1
  267. package/command-model/staffing-board-note.json +1 -1
  268. package/command-model/staffing-board-snapshot.json +3 -3
  269. package/command-model/staffing-board-tentative-assignment.json +3 -3
  270. package/command-model/staffing-board-tentative-import.json +1 -1
  271. package/command-model/staffing-plan.json +5 -5
  272. package/command-model/statutory-rate-set.json +5 -5
  273. package/command-model/storage.json +5 -5
  274. package/command-model/subscription.json +2 -2
  275. package/command-model/supplier-payment-schedule.json +2 -2
  276. package/command-model/supplier-payment.json +2 -2
  277. package/command-model/survey-tracker.json +3 -3
  278. package/command-model/survey.json +18 -18
  279. package/command-model/task-analysis.json +1 -1
  280. package/command-model/task-branch.json +4 -4
  281. package/command-model/task-recurrence.json +2 -2
  282. package/command-model/task-wiki-link.json +2 -2
  283. package/command-model/teams-link.json +1 -1
  284. package/command-model/teams-sso.json +6 -0
  285. package/command-model/tenant-ai-key.json +6 -6
  286. package/command-model/tenant-egress-policy.json +5 -5
  287. package/command-model/tenant-email-settings.json +1 -1
  288. package/command-model/tenant-git-hub-settings.json +3 -3
  289. package/command-model/tenant-rag-settings.json +4 -4
  290. package/command-model/tenant-rate-override.json +1 -1
  291. package/command-model/tenant-registration.json +1 -1
  292. package/command-model/tenant-search.json +1 -1
  293. package/command-model/tenant-settings.json +13 -13
  294. package/command-model/terms.json +2 -2
  295. package/command-model/test-execution.json +3 -3
  296. package/command-model/test-scenario.json +5 -5
  297. package/command-model/training-attendance.json +5 -5
  298. package/command-model/training-master.json +3 -3
  299. package/command-model/training-session.json +5 -5
  300. package/command-model/unified-search.json +2 -2
  301. package/command-model/update-record.json +2 -2
  302. package/command-model/user-api-key.json +5 -5
  303. package/command-model/user-assignment-calendar.json +1 -1
  304. package/command-model/user-assignment.json +11 -11
  305. package/command-model/user-contract-type.json +5 -5
  306. package/command-model/user-contract.json +2 -2
  307. package/command-model/user-group.json +3 -3
  308. package/command-model/user-info.json +1 -1
  309. package/command-model/user-invitation.json +4 -4
  310. package/command-model/user-list-display-setting.json +1 -1
  311. package/command-model/user-list-item-order.json +1 -1
  312. package/command-model/user-management.json +9 -9
  313. package/command-model/user-qualification.json +1 -1
  314. package/command-model/user-recent-work.json +1 -1
  315. package/command-model/user-shortcut-setting.json +1 -1
  316. package/command-model/user-skill-profile.json +3 -3
  317. package/command-model/user.json +11 -11
  318. package/command-model/video-generation.json +7 -7
  319. package/command-model/well-known.json +2 -2
  320. package/command-model/whisper.json +2 -2
  321. package/command-model/wiki-collection.json +4 -4
  322. package/command-model/wiki-notion-import.json +3 -3
  323. package/command-model/wiki-template.json +4 -4
  324. package/command-model/wiki.json +9 -9
  325. package/command-model/worker-agent-run.json +4 -4
  326. package/command-model/worker-agent.json +7 -7
  327. package/command-model/workflow-ai-review.json +1 -1
  328. package/command-model/workflow-analysis.json +1 -1
  329. package/command-model/workflow-approval-delegation.json +3 -3
  330. package/command-model/workflow-approval.json +4 -4
  331. package/command-model/workflow-attachment-pdf-preview.json +1 -1
  332. package/command-model/workflow-comment-attachment.json +3 -3
  333. package/command-model/workflow-estimate-input.json +4 -4
  334. package/command-model/workflow-instance.json +6 -6
  335. package/command-model/workflow-tracker.json +5 -5
  336. package/command-model/workflow.json +7 -7
  337. package/command-model/workload-alert.json +2 -2
  338. package/dist/{api-command-STY4LFJG.js → api-command-VDEHGVMH.js} +1 -1
  339. package/dist/{app-XFKEG3JB.js → app-3RAQDCXW.js} +2 -2
  340. package/dist/{chunk-QKTEMDDP.js → chunk-C6AOVOVD.js} +48 -19
  341. package/dist/{chunk-NZ7WI4RZ.js → chunk-CDAU3M7F.js} +4 -4
  342. package/dist/{chunk-6HBZRMDD.js → chunk-FZ55A6NN.js} +8 -8
  343. package/dist/{chunk-T6ARS4Y3.js → chunk-HOCPACZF.js} +1 -1
  344. package/dist/{chunk-BEUPNDJE.js → chunk-SLZ3KVFA.js} +3 -3
  345. package/dist/cli.js +10 -6
  346. package/dist/{media-GXTZJ5L4.js → media-J475DUVM.js} +1 -1
  347. package/dist/{oneshot-JAA46MUA.js → oneshot-ZG65R6KG.js} +1 -1
  348. package/dist/project-XOQNM7DP.js +4 -0
  349. package/dist/{registry-E4TNSUNA.js → registry-5ACTRYN2.js} +1 -1
  350. package/dist/{run-7Q3XLJFT.js → run-CX7LUVBB.js} +1 -1
  351. package/dist/{staffing-board-5K35Z4O5.js → staffing-board-S6VXUPEX.js} +32 -29
  352. package/dist/{user-ECG5E32W.js → user-6IYB3OJE.js} +5 -4
  353. package/package.json +1 -1
  354. package/dist/project-2MWLBXAB.js +0 -4
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{RESIDENT_TOKEN_CAP,activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,describeAuditLog,describeToolCatalog,displayCwd,executeTool,findProjectTwpSubdir,localTools,lstatOrNull,parseFrontMatter,parseRule,persistProjectAllow,projectPermissionsPath,projectRootFor,readFileTool,residentInputs,resolveGitExecutable,runTurn,secretReason}from"./chunk-6HBZRMDD.js";import"./chunk-NZ7WI4RZ.js";import{buildDiffLines,
3
+ import{RESIDENT_TOKEN_CAP,activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,describeAuditLog,describeToolCatalog,displayCwd,executeTool,findProjectTwpSubdir,localTools,lstatOrNull,parseFrontMatter,parseRule,persistProjectAllow,projectPermissionsPath,projectRootFor,readFileTool,residentInputs,resolveGitExecutable,runTurn,secretReason}from"./chunk-FZ55A6NN.js";import"./chunk-CDAU3M7F.js";import{buildDiffLines,
4
4
  diffStat}from"./chunk-VRBI2NPI.js";import{require_fuzzysort}from"./chunk-DIMZRTLE.js";import"./chunk-N2UVRM3Z.js";import"./chunk-BD7O73GK.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";import{RelayError,builtinCatalog,classifyModelSwitch,createRuntime,loadCachedCatalog,modelLabel,pickModel,specFor,toModelInfos}from"./chunk-PJ7IKTZI.js";
5
5
  import"./chunk-D233KKXW.js";import"./chunk-PMOUHEJQ.js";import"./chunk-XNLIEUAW.js";import{proxyDiagnostics}from"./chunk-J7QYPKVK.js";import{checkMinSupportedVersion,isBelowMinSupported,minSupportedBlockMessage}from"./chunk-DXXFUNYN.js";import"./chunk-EDF4U5BT.js";import{configReadDirs,twpHomeDir}from"./chunk-RZVI6PMW.js";import{parseArgv}from"./chunk-RFXIPNKG.js";import{applyPermissionMode,checkPermission,describePermissionMode,getMode,isModeId,modeSource,
6
6
  nextMode}from"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-B2D2NO5H.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import{isFullWidth,isWide,stringWidth,stripAnsi}from"./chunk-UREA4ZIG.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{__commonJS,__export,__require,__toESM}from"./chunk-VSJBJXZO.js";var require_react_production=__commonJS({"node_modules/react/cjs/react.production.js"(exports){"use strict";var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element");var REACT_PORTAL_TYPE=Symbol.for("react.portal");var REACT_FRAGMENT_TYPE=Symbol.for("react.fragment");var REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode");var REACT_PROFILER_TYPE=Symbol.for("react.profiler");var REACT_CONSUMER_TYPE=Symbol.for("react.consumer");var REACT_CONTEXT_TYPE=Symbol.for("react.context");var REACT_FORWARD_REF_TYPE=Symbol.
@@ -1212,7 +1212,7 @@ cwd()){const listed=await gitListFiles(cwd2);const raw=listed??await walkFiles(c
1212
1212
  1;const after=/^[^\s]*/.exec(text.slice(cursor))?.[0]??"";return{query,start,end:cursor+after.length}}var TWP_SLASH_ROUTES={"/tasks":{domain:"task",operation:"list"},"/task":{domain:"task",operation:"get"},"/projects":{domain:"project",operation:"list"}};function isTwpSlashCommand(name){return Object.hasOwn(TWP_SLASH_ROUTES,name)}async function runTwpSlashCommand(name,args,deps){const route=TWP_SLASH_ROUTES[name];if(!Object.hasOwn(TWP_SLASH_ROUTES,name)||route===void 0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9: ${name}
1213
1213
  `}}const parsed=parseArgv([route.domain,route.operation,...args]);if(parsed.command!=="domain"||parsed.domain!==route.domain){return{code:2,out:"",err:`${name}: \u3053\u306E\u5F15\u6570\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF08${args.join(" ")}\uFF09
1214
1214
  `}}if(parsed.unknown.length>0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u5F15\u6570: ${formatUnknownArgs(parsed.unknown)}
1215
- `}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-7Q3XLJFT.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
1215
+ `}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-CX7LUVBB.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
1216
1216
  {},argv:parsed.domainArgv,help:parsed.domainHelp,globals,version:deps.version,io,...deps.fetchImpl!==void 0?{fetchImpl:deps.fetchImpl}:{}});return{code,out,err}}catch(e){return{code:1,out,err:`${err}${e.message}
1217
1217
  `}}}var GIT_LOG_OUTPUT=["9f3c1a2 feat(ui): \u4E00\u89A7\u306E\u30D5\u30A3\u30EB\u30BF\u3092 URL \u30AF\u30A8\u30EA\u3068\u540C\u671F\u3059\u308B","4b8e0d7 fix(ui): \u4EEE\u60F3\u30B9\u30AF\u30ED\u30FC\u30EB\u306E\u884C\u9AD8\u3055\u3092\u5B9F\u6E2C\u5024\u306B\u5408\u308F\u305B\u308B","c15a99e refactor(api): \u4E00\u89A7\u53D6\u5F97\u306E\u30DA\u30FC\u30B8\u30F3\u30B0\u51E6\u7406\u3092\u5171\u901A\u5316\u3059\u308B","2d70f4b test: \u4E00\u89A7\u30D5\u30A3\u30EB\u30BF\u306E\u56DE\u5E30\u30C6\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B",
1218
1218
  "a6e2b38 fix(api): \u7A7A\u306E\u691C\u7D22\u6761\u4EF6\u3067\u5168\u4EF6\u8FD4\u3089\u306A\u3044\u3088\u3046\u306B\u3059\u308B","7c40d51 chore(deps): \u958B\u767A\u4F9D\u5B58\u3092\u6700\u65B0\u3078\u66F4\u65B0\u3059\u308B","e83b1c6 docs: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306B Node 22 \u306E\u524D\u63D0\u3092\u8FFD\u8A18\u3059\u308B","b91f7a4 fix(ui): \u30E2\u30FC\u30C0\u30EB\u306E\u91CD\u306A\u308A\u9806\u3092\u6307\u5B9A\u3059\u308B","5a2c8e0 perf(api): \u4E00\u89A7\u306E N+1 \u3092\u89E3\u6D88\u3059\u308B",
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{projectEvaluationResource}from"./chunk-FBTOIECJ.js";import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-TQ7TNMW5.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import{createFlags,fieldBody,hasAnyField,idSegment,resolveRefFields,updateFlags}from"./chunk-45WIRMGL.js";
4
- import{boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{containsRedactedMarker,readBody}from"./chunk-HEH3PUW2.js";import{ALLOW_REDACTED_FLAG}from"./chunk-W4NLJ2YK.js";import{REDACTED}from"./chunk-BD7O73GK.js";import{PROJECT_MEMBERS_LIMIT,PROJECT_TEMPLATES_PATH,resolveNamed}from"./chunk-4DOPQ74T.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";
5
- import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
3
+ import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{projectEvaluationResource}from"./chunk-FBTOIECJ.js";import{FROM_FLAG,MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,MONTH_FLAG,TO_FLAG,dataOf,listIn,manhourNotes,manhourQuery,manhourRows,monthRange,rangeNotes,recordOf,workloadDistributionNotes,workloadDistributionRows}from"./chunk-TQ7TNMW5.js";import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-UVCJXHWN.js";import{createFlags,fieldBody,hasAnyField,idSegment,
4
+ resolveRefFields,updateFlags}from"./chunk-45WIRMGL.js";import{booleanText,boundedText,isoDate}from"./chunk-JJSBBWJ5.js";import{containsRedactedMarker,readBody}from"./chunk-HEH3PUW2.js";import{ALLOW_REDACTED_FLAG}from"./chunk-W4NLJ2YK.js";import{REDACTED}from"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import{PROJECT_MEMBERS_LIMIT,PROJECT_TEMPLATES_PATH,resolveNamed}from"./chunk-4DOPQ74T.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-HVZUXLQ4.js";
5
+ import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
6
6
  --start-date",summary:"\u53C2\u753B\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var END_DATE_FLAG={name:"--end-date",summary:"\u53C2\u753B\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var PERIOD_FILE_FLAG={name:"--period-file",summary:"\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306E JSON \u914D\u5217\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};
7
7
  var WIKI_ROLE_FLAG={name:"--wiki-role",summary:"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E Wiki \u6A29\u9650\uFF08admin\uFF1DWiki \u7BA1\u7406\u8005 / member\uFF1D\u4E00\u822C\uFF09",takesValue:true,placeholder:"<admin|member>"};var MEMO_FLAG={name:"--memo",summary:"\u30E1\u30E2\uFF0810,000 \u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var CLEAR_FLAG={name:"--clear",summary:"\u5225\u540D\u3092\u6D88\u3059",takesValue:false};var WIKI_ROLES=["admin",
8
8
  "member"];var MEMO_MAX_CHARS=1e4;var PERIOD_FILE_MAX_CHARS=2e5;var ALIAS_MAX_CHARS=255;var PERIOD_KEYS=["id","start_date","end_date","daily_hours","total_hours","input_mode"];var PERIOD_REQUIRED=["start_date","end_date","daily_hours"];var ROLE_HELP="--role \u306E\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3057\u307E\u3059\uFF08CLI \u306F\u691C\u67FB\u3057\u307E\u305B\u3093\uFF09\u30022026-10-01 \u6642\u70B9\u306E\u5024\u306F\n member\uFF08\u30E1\u30F3\u30D0\u30FC\uFF09/ manager\uFF08\u7BA1\u7406\u8005\uFF09/ approver\uFF08\u7BA1\u7406\u8005\uFF08\u627F\u8A8D\u8005\uFF09\uFF09/ manager_no_punch\uFF08\u7BA1\u7406\u8005\uFF08\u6253\u523B\u7121\uFF09\uFF09\u3067\u3059\u3002\n \u5024\u306F\u5897\u3048\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\u4ECA\u306E\u30E1\u30F3\u30D0\u30FC\u306E\u5024\u306F twp project members \u306E role \u5217\u3067\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\u3002";
@@ -89,7 +89,35 @@ flags:[STATUS_FLAG],async prepare(input,ctx){processStatus(input,PROCESS_LIST_US
89
89
  raw:body=>processRows(body),notes:body=>{const count=isRecord(body)?body["count"]:void 0;const shown=processRows(body).length;return typeof count==="number"&&count>shown?[`\u5DE5\u7A0B\u306F ${String(count)} \u4EF6\u3042\u308A\u307E\u3059\u304C\u3001${String(shown)} \u4EF6\u3060\u3051\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306E\u4E0A\u9650\uFF09\u3002`]:[]}},{name:"create",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u5DE5\u7A0B\u3092\u767B\u9332\u3059\u308B\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF09",
90
90
  usage:PROCESS_CREATE_USAGE,description:"POST /api/v2/projects/{id}/processes\u3002\u7701\u7565\u3059\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u65E2\u5B9A\u3067\u3059\u3002\n--process \u3067\u5DE5\u7A0B\u30DE\u30B9\u30BF\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3002\u5019\u88DC\u306F twp api /api/v2/project/processes \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\uFF09\u3002\n\u767B\u9332\u3067\u304D\u308B\u306E\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u3068\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3067\u3059\u3002\u72B6\u614B\u306E\u65E2\u5B9A\u306F active\u3001\u4E26\u3073\u9806\u306E\u65E2\u5B9A\u306F 0 \u3067\u3059\uFF08\u30B5\u30FC\u30D0\u304C\u6C7A\u3081\u307E\u3059\uFF09\u3002\n\u4E26\u3073\u66FF\u3048\uFF08reorder\uFF09\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u306F\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u306B\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u767B\u9332\u306E\u5FDC\u7B54\u306B\u306F\u5DE5\u7A0B\u30DE\u30B9\u30BF\u306E\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u304C\u5165\u308A\u307E\u305B\u3093\uFF08process_id \u3060\u3051\u3002\u540D\u524D\u306F twp project process list \u3067\u78BA\u8A8D\u3067\u304D\u307E\u3059\u3002\u4E00\u89A7\u306F\u5DE5\u7A0B\u30DE\u30B9\u30BF\u3092\u5F15\u3044\u3066\u88DC\u3044\u307E\u3059\uFF09\u3002",
91
91
  flags:[PROCESS_FLAG,DESCRIPTION_FLAG,SORT_ORDER_FLAG,STATUS_FLAG],forbidden:processCreateForbidden,async prepare(input,ctx){const process=nonEmpty(input.flags,PROCESS_FLAG.name);if(process===void 0)throw new UsageError("--process \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",PROCESS_CREATE_USAGE);createBody(withResolved(input,{processId:"-"}));const withProject=await projectArg(input,ctx,PROCESS_CREATE_USAGE);return withResolved(withProject,{processId:(await ctx.resolver.processMaster(
92
- process,PROCESS_FLAG.name)).id})},plan:input=>({method:"POST",path:projectPath(input,"processes"),body:createBody(input)}),summarize:body=>pick(processItem(body),PROCESS_COLUMNS),raw:body=>processItem(body)}]};var projectAnalysisOperations=[riskOperation,profitOperation];import fs from"fs";var LIST_COLUMNS=["id","name","code","category","version","usage_count","sort_order","updated_at"];var GET_COLUMNS=["id","name","code","category","develop_method","description","version","usage_count","sort_order","source_project_id","created_at","updated_at"];var CONFIG_ARRAYS=[["status_configs","\u30B9\u30C6\u30FC\u30BF\u30B9"],["type_configs","\u7A2E\u5225"],["category_configs","\u30AB\u30C6\u30B4\u30EA"],["label_configs","\u30E9\u30D9\u30EB"],["milestone_templates","\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"],
92
+ process,PROCESS_FLAG.name)).id})},plan:input=>({method:"POST",path:projectPath(input,"processes"),body:createBody(input)}),summarize:body=>pick(processItem(body),PROCESS_COLUMNS),raw:body=>processItem(body)}]};var projectAnalysisOperations=[riskOperation,profitOperation];var PATH="/api/v2/project-auto-assign-settings";var FORBIDDEN2="\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002twp project auto-assign \u306F\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059";var TENANT_WIDE="\u3053\u306E\u8A2D\u5B9A\u306F\u30C6\u30CA\u30F3\u30C8\u3067\u3053\u308C\u304B\u3089\u4F5C\u308B\u3059\u3079\u3066\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u52B9\u304D\u307E\u3059\uFF08\u4F5C\u6210\u6E08\u307F\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002";
93
+ var ROLES=["manager_no_punch","manager"];var ROLE_LABELS={manager_no_punch:"\u7BA1\u7406\u8005\uFF08\u6253\u523B\u7121\uFF09",manager:"\u7BA1\u7406\u8005"};var BODY_KEYS=["enabled","role","source_project_codes","source_department_ids"];function stringList(value){if(!Array.isArray(value)||!value.every(item=>typeof item==="string"))return null;return[...value]}function readSettings(body){if(!isRecord(body)||body["result"]!==true||!isRecord(body["data"])){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u8A2D\u5B9A\u306E\u5FDC\u7B54\u306E\u5F62\
94
+ \u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const data=body["data"];const codes=stringList(data["source_project_codes"]);const departments=stringList(data["source_department_ids"]);const legacy=stringList(data["legacy_department_names"]);const roles=stringList(data["allowed_roles"]);if(typeof data["enabled"]!=="boolean"||typeof data["role"]!=="string"||typeof data["configured"]!=="boolean"||typeof data["ma\
95
+ x_sources"]!=="number"||codes===null||departments===null||legacy===null||roles===null){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u8A2D\u5B9A\u306E\u5FDC\u7B54\u306B\u8AAD\u3081\u306A\u3044\u9805\u76EE\u304C\u3042\u308A\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{enabled:data["enabled"],role:data["role"],source_project_codes:codes,source_department_ids:departments,configured:data["configured"],legacy_department_names:legacy,
96
+ allowed_roles:roles,max_sources:data["max_sources"]}}function noArgs(input,usage){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D7\u3051\u307E\u305B\u3093\uFF08\u8A2D\u5B9A\u306F\u30C6\u30CA\u30F3\u30C8\u306B1\u3064\u3067\u3059\uFF09: ${input.args.join(" ")}`,usage)}var ENABLED_FLAG={name:"--enabled",summary:"\u81EA\u52D5\u8FFD\u52A0\u3092\u4F7F\u3046\u304B\uFF08true / false\uFF09",takesValue:true,placeholder:"<true|false>"};var ROLE_FLAG2={name:"--role",summary:`\
97
+ \u8FFD\u52A0\u3059\u308B\u30E1\u30F3\u30D0\u30FC\u306B\u4ED8\u3051\u308B\u30ED\u30FC\u30EB\uFF08${ROLES.join(" / ")}\uFF09`,takesValue:true,placeholder:"<\u30ED\u30FC\u30EB>"};var PROJECT_FLAG2={name:"--project",summary:"\u30E1\u30F3\u30D0\u30FC\u306E\u5143\u306B\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\uFF08\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068\u4E00\u89A7\u3092\u7F6E\u304D\u63DB\u3048\u308B\uFF09",takesValue:true,placeholder:"\
98
+ <\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9>",repeatable:true};var DEPARTMENT_FLAG={name:"--department",summary:"\u30E1\u30F3\u30D0\u30FC\u306E\u5143\u306B\u3059\u308B\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\u3002\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u308B\u3002\u6307\u5B9A\u3059\u308B\u3068\u4E00\u89A7\u3092\u7F6E\u304D\u63DB\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>",repeatable:true};var CLEAR_PROJECTS_FLAG={name:"--clear-projects",summary:"\
99
+ \u5143\u306B\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u7A7A\u306B\u3059\u308B",takesValue:false};var CLEAR_DEPARTMENTS_FLAG={name:"--clear-departments",summary:"\u5143\u306B\u3059\u308B\u90E8\u7F72\u3092\u7A7A\u306B\u3059\u308B",takesValue:false};var SET_USAGE="twp project auto-assign set [--enabled <true|false>] [--role <\u30ED\u30FC\u30EB>] [--project <\u30B3\u30FC\u30C9>]\u2026 [--department <\u90E8\u7F72>]\u2026 [--clear-projects] [--clear-departments]";var DEPARTMENT_IDS_KEY="d\
100
+ epartmentIds";function distinct(values,flag){const seen=new Set;for(const value of values){if(seen.has(value))throw new UsageError(`${flag} \u306B\u540C\u3058\u5024\u304C2\u56DE\u3042\u308A\u307E\u3059: ${value}`,SET_USAGE);seen.add(value)}return[...seen]}function projectCodes(input){const values=repeatedValues(input,PROJECT_FLAG2.name).map(value=>value.trim());const clear=input.flags.has(CLEAR_PROJECTS_FLAG.name);if(clear&&values.length>0)throw new UsageError("--project \u3068 --clear-projects \u306F\u4E00\u7DD2\u306B\u6307\
101
+ \u5B9A\u3067\u304D\u307E\u305B\u3093",SET_USAGE);if(clear)return[];if(values.length===0)return void 0;for(const value of values){if(value===""||[...value].length>100)throw new UsageError(`--project \u306F1\u301C100\u6587\u5B57\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${value}`,SET_USAGE)}return distinct(values,PROJECT_FLAG2.name)}function wantedChanges(input){const wanted={};const enabled=input.flags.get(ENABLED_FLAG.name);
102
+ if(enabled!==void 0)wanted.enabled=booleanText(ENABLED_FLAG.name,enabled);const role=input.flags.get(ROLE_FLAG2.name);if(role!==void 0){if(!ROLES.includes(role.trim()))throw new UsageError(`--role \u306F ${ROLES.join(" / ")} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${role}`,SET_USAGE);wanted.role=role.trim()}const codes=projectCodes(input);if(codes!==void 0)wanted.source_project_codes=codes;const departmentRefs=repeatedValues(input,DEPARTMENT_FLAG.name);const clearDepartments=input.
103
+ flags.has(CLEAR_DEPARTMENTS_FLAG.name);if(clearDepartments&&departmentRefs.length>0)throw new UsageError("--department \u3068 --clear-departments \u306F\u4E00\u7DD2\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093",SET_USAGE);if(clearDepartments)wanted.source_department_ids=[];else if(departmentRefs.length>0){const ids=input.resolved?.[DEPARTMENT_IDS_KEY];if(ids===void 0)throw new Error("\u5185\u90E8\u30A8\u30E9\u30FC: --department \u304C\u89E3\u6C7A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF08prepare() \u306E\u914D\u7DDA\u6F0F\u308C\uFF09");
104
+ wanted.source_department_ids=JSON.parse(ids)}if(Object.keys(wanted).length===0)throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",SET_USAGE);return wanted}function mergedBody(current,wanted){return{enabled:wanted.enabled??current.enabled,role:wanted.role??current.role,source_project_codes:[...wanted.source_project_codes??current.source_project_codes],source_department_ids:[...wanted.source_department_ids??current.source_department_ids]}}
105
+ var show=value=>Array.isArray(value)?`[${value.join(", ")}]`:String(value);function sameValue(a,b){return show(a)===show(b)}function revertCommand(before,saved){const parts=[];if(before.enabled!==saved.enabled)parts.push(`--enabled ${String(before.enabled)}`);if(before.role!==saved.role)parts.push(`--role ${shellQuote(before.role)}`);if(!sameValue(before.source_project_codes,saved.source_project_codes)){parts.push(before.source_project_codes.length===0?"--clear-projects":before.source_project_codes.
106
+ map(code=>`--project ${shellQuote(code)}`).join(" "))}if(!sameValue(before.source_department_ids,saved.source_department_ids)){parts.push(before.source_department_ids.length===0?"--clear-departments":before.source_department_ids.map(id=>`--department ${shellQuote(id)}`).join(" "))}return parts.length===0?null:`twp project auto-assign set ${parts.join(" ")}`}function bodyOf(settings){return mergedBody(settings,{})}function settingRows(settings){return[{key:"enabled",value:String(settings.enabled)},
107
+ {key:"role",value:`${settings.role}${ROLE_LABELS[settings.role]!==void 0?`\uFF08${ROLE_LABELS[settings.role]}\uFF09`:""}`},{key:"source_project_codes",value:settings.source_project_codes.join(", ")},{key:"source_department_ids",value:settings.source_department_ids.join(", ")},{key:"configured",value:String(settings.configured)},...settings.configured?[]:[{key:"legacy_department_names",value:settings.legacy_department_names.join(", ")}]]}function configuredNote(settings){if(settings.configured)return[];
108
+ return["\u30C6\u30CA\u30F3\u30C8\u8A2D\u5B9A\u306F\u672A\u4FDD\u5B58\u3067\u3059\uFF08configured=false\uFF09\u3002\u3044\u307E\u306F\u5F93\u6765\u306E\u8A2D\u5B9A"+(settings.legacy_department_names.length>0?`\uFF08\u90E8\u7F72\u540D: ${settings.legacy_department_names.join(", ")}\uFF09`:"")+"\u3067\u52D5\u3044\u3066\u3044\u307E\u3059\u3002source_department_ids \u306F\u305D\u306E\u90E8\u7F72\u540D\u3092\u6709\u52B9\u306A\u90E8\u7F72\u306EID\u3078\u89E3\u6C7A\u3057\u305F\u5024\u3067\u3059\u3002"]}
109
+ var getOperation={name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u6642\u306E\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u306E\u8A2D\u5B9A\u3092\u898B\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\uFF09",usage:"twp project auto-assign get",description:"\u753B\u9762\u306E\u300C\u7D44\u7E54\u8A2D\u5B9A > \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u300D\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u306E\u81EA\u52D5\u8FFD\u52A0\u300D\u3068\u540C\u3058\u5024\u3067\u3059\u3002\nenabled \u304C true \u306E\u3068\u304D\u3001\u65B0\u3057\u304F\u4F5C\u3063\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u3001\u5143\u306B\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3068\u5143\u306B\u3059\u308B\u90E8\u7F72\u306E\u6240\u5C5E\u8005\u304C role \u306E\u30ED\u30FC\u30EB\u3067\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002\nconfigured \u304C false \u306A\u3089\u3001\u30C6\u30CA\u30F3\u30C8\u8A2D\u5B9A\u306F\u672A\u4FDD\u5B58\u3067\u5F93\u6765\u306E\u8A2D\u5B9A\u3067\u52D5\u3044\u3066\u3044\u307E\u3059\u3002",
110
+ forbidden:FORBIDDEN2,flags:[],async prepare(input){noArgs(input,"twp project auto-assign get");return input},plan:()=>({method:"GET",path:PATH}),summarize:body=>settingRows(readSettings(body)),raw:body=>readSettings(body),notes:body=>configuredNote(readSettings(body))};function setResult(body){if(!isRecord(body)||body["autoAssignSet"]!==true)throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u8A2D\u5B9A\u306E\u5909\u66F4\u306E\u7D50\u679C\u3092\u7D44\u307F\u7ACB\u3066\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u5185\u90E8\u30A8\u30E9\u30FC\uFF09\u3002");
111
+ return body}var CURRENT_VALUE_MARK="<\u3044\u307E\u306E\u5024>";function setPlan(input){const wanted=wantedChanges(input);const view={};for(const key of BODY_KEYS)view[key]=wanted[key]??CURRENT_VALUE_MARK;return{method:"PUT",path:PATH,body:new JsonBodyWithView(wanted,view)}}var setOperation={name:"set",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u6642\u306E\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u306E\u8A2D\u5B9A\u3092\u5909\u3048\u308B\uFF08\u6307\u5B9A\u3057\u306A\u3044\u9805\u76EE\u306F\u3044\u307E\u306E\u5024\u306E\u307E\u307E\u30FB\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\uFF09",
112
+ usage:SET_USAGE,description:"\u753B\u9762\u306E\u300C\u7D44\u7E54\u8A2D\u5B9A > \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A2D\u5B9A\u300D\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u306E\u81EA\u52D5\u8FFD\u52A0\u300D\u3068\u540C\u3058\u5909\u66F4\u3092\u3057\u307E\u3059\uFF08\u540C\u3058 API \u3092\u4F7F\u3044\u307E\u3059\uFF09\u3002\n\n twp project auto-assign set --enabled true --department \u958B\u767A\u90E8 --dry-run # \u5909\u66F4\u524D\u5F8C\u3092\u898B\u308B\u3060\u3051\n twp project auto-assign set --enabled true --role manager_no_punch --project TWP --department \u958B\u767A\u90E8\n twp project auto-assign set --enabled false\n\n\u30B5\u30FC\u30D0\u306E API \u306F\u5168\u9805\u76EE\u306E\u7F6E\u304D\u63DB\u3048\u306A\u306E\u3067\u3001\u9001\u308B\u524D\u306B\u3044\u307E\u306E\u5024\u3092\u8AAD\u307F\u3001\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u3044\u307E\u306E\u5024\u3067\u57CB\u3081\u3066\u9001\u308A\u307E\u3059\u3002\n--project / --department \u306F\u6307\u5B9A\u3059\u308B\u3068\u305D\u306E\u4E00\u89A7\u3067\u7F6E\u304D\u63DB\u308F\u308A\u307E\u3059\uFF08\u8DB3\u3057\u7B97\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002\u7A7A\u306B\u3059\u308B\u306E\u306F --clear-projects / --clear-departments \u3067\u3059\u3002\n\u6709\u52B9\u306B\u3059\u308B\u306B\u306F\u3001\u5143\u306B\u3059\u308B\u30D7\u30ED\u30B8\u30A7\
113
+ \u30AF\u30C8\u304B\u90E8\u7F72\u304C1\u4EF6\u4EE5\u4E0A\u8981\u308A\u307E\u3059\u3002\u5B58\u5728\u3057\u306A\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u30FB\u6709\u52B9\u3067\u306A\u3044\u90E8\u7F72\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002\n\u5909\u66F4\u524D\u5F8C\u306F stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002\u9001\u3063\u305F\u3042\u3068\u306F\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u3057\u305F\u5024\u3092\u5168\u9805\u76EE\u3067\u78BA\u304B\u3081\u3001\u5143\u306B\u623B\u3059\u30B3\u30DE\u30F3\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n\n"+
114
+ TENANT_WIDE,forbidden:FORBIDDEN2,flags:[ENABLED_FLAG,ROLE_FLAG2,PROJECT_FLAG2,DEPARTMENT_FLAG,CLEAR_PROJECTS_FLAG,CLEAR_DEPARTMENTS_FLAG],async prepare(input,ctx){noArgs(input,SET_USAGE);let prepared=input;const departmentRefs=repeatedValues(input,DEPARTMENT_FLAG.name);if(departmentRefs.length>0&&!input.flags.has(CLEAR_DEPARTMENTS_FLAG.name)){const ids=[];for(const ref of departmentRefs)ids.push((await ctx.resolver.department(ref.trim(),DEPARTMENT_FLAG.name)).id);prepared=withResolved(input,{[DEPARTMENT_IDS_KEY]:JSON.
115
+ stringify(distinct(ids,DEPARTMENT_FLAG.name))})}wantedChanges(prepared);return prepared},plan:setPlan,plannedNotes:()=>[`\u9001\u308B\u524D\u306B GET ${PATH} \u3067\u3044\u307E\u306E\u5024\u3092\u8AAD\u307F\u3001\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u3092\u3044\u307E\u306E\u5024\u3067\u57CB\u3081\u3066\u5168\u9805\u76EE\u3092\u9001\u308A\u307E\u3059\uFF08API \u306F\u4E38\u3054\u3068\u7F6E\u63DB\u3067\u3059\uFF09\u3002`],async preview(input,ctx){const current=readSettings(await ctx.
116
+ send({method:"GET",path:PATH}));const before=bodyOf(current);const after=mergedBody(current,wantedChanges(input));const notes=BODY_KEYS.map(key=>sameValue(before[key],after[key])?`${key}: ${show(after[key])} \u306E\u307E\u307E`:`${key}: ${show(before[key])} \u2192 ${show(after[key])}`);notes.push(...configuredNote(current),TENANT_WIDE);return{notes,warnings:[]}},async execute(input,ctx){const current=readSettings(await ctx.send({method:"GET",path:PATH}));const sent=mergedBody(current,wantedChanges(
117
+ input));const saved=readSettings(await ctx.send({method:"PUT",path:PATH,body:sent}));return{autoAssignSet:true,before:bodyOf(current),sent,saved}},summarize:body=>{const result=setResult(body);const saved=bodyOf(result.saved);return BODY_KEYS.map(key=>({key,from:show(result.before[key]),to:show(saved[key])}))},raw:body=>{const result=setResult(body);return{before:result.before,sent:result.sent,settings:result.saved}},notes(body){const result=setResult(body);const revert=revertCommand(result.before,
118
+ bodyOf(result.saved));return revert===null?[]:[`\u5143\u306B\u623B\u3059\u306B\u306F:
119
+ ${revert}`]},failures:body=>{const result=setResult(body);const saved=bodyOf(result.saved);return BODY_KEYS.filter(key=>!sameValue(result.sent[key],saved[key])).map(key=>({target:key,error:new ApiRejectedError(`${show(result.sent[key])} \u3092\u9001\u308A\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u4FDD\u5B58\u3057\u305F\u5024\u306F ${show(saved[key])} \u3067\u3059\u3002twp project auto-assign get \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002`)}))}};var projectAutoAssignResource={
120
+ name:"auto-assign",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u6642\u306E\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u306E\u8A2D\u5B9A\uFF08\u53C2\u7167\u30FB\u5909\u66F4\uFF09",operations:[getOperation,setOperation]};import fs from"fs";var LIST_COLUMNS=["id","name","code","category","version","usage_count","sort_order","updated_at"];var GET_COLUMNS=["id","name","code","category","develop_method","description","version","usage_count","sort_order","source_project_id","created_at","updated_at"];var CONFIG_ARRAYS=[["status_configs","\u30B9\u30C6\u30FC\u30BF\u30B9"],["type_configs","\u7A2E\u5225"],["category_configs","\u30AB\u30C6\u30B4\u30EA"],["label_configs","\u30E9\u30D9\u30EB"],["milestone_templates","\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"],
93
121
  ["task_templates","\u30BF\u30B9\u30AF"]];var CONFIG_KEYS=["settings",...CONFIG_ARRAYS.map(([key])=>key)];var CONFIGS_FILE_MAX_BYTES=5*1024*1024;var DESCRIPTION_MAX_CHARS=1e4;var BOM=/^\uFEFF/;var TEMPLATE_HELP="<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8> \u306F ID\u30FB\u540D\u524D\u30FB\u30B3\u30FC\u30C9\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\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\uFF08\u30AD\u30E3\u30C3\u30B7\u30E5\u3057\u307E\u305B\u3093\uFF09\u3002";
94
122
  var READ_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u8AAD\u3080\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u95B2\u89A7\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";var WRITE_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u4F5C\u6210\u30FB\u5909\u66F4\u30FB\u524A\u9664\u30FB\u9069\u7528\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\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";
95
123
  var FIELDS=[{kind:"text",flag:"--name",key:"name",label:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D",maxChars:255,summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255 \u6587\u5B57\u4EE5\u5185\uFF09"},{kind:"text",flag:"--code",key:"code",label:"\u30B3\u30FC\u30C9",maxChars:50,summary:"\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30B3\u30FC\u30C9\uFF0850 \u6587\u5B57\u4EE5\u5185\u30FB\u4EFB\u610F\uFF09"},{kind:"text",flag:"--category",key:"category",label:"\u5206\u985E",maxChars:100,summary:"\
@@ -112,7 +140,7 @@ input,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"
112
140
 
113
141
  --output json \u306F\u69CB\u6210\uFF08status_configs / task_templates \u7B49\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
114
142
  --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,forbidden:READ_FORBIDDEN,flags:[],plan(input){if(input.args.length>0)throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp project template list help");return{method:"GET",path:PROJECT_TEMPLATES_PATH}},summarize:body=>templateRows(body).map(row=>pick(row,LIST_COLUMNS)),raw:body=>templateRows(body)};var GET_USAGE="twp\
115
- project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>";var getOperation={name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE,description:`GET /api/v2/project-templates/{id}\u3002
143
+ project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>";var getOperation2={name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:GET_USAGE,description:`GET /api/v2/project-templates/{id}\u3002
116
144
  ${TEMPLATE_HELP}
117
145
 
118
146
  --output table / text / tsv \u306F\u9805\u76EE\u3068\u69CB\u6210\u306E\u4EF6\u6570\uFF08status_count / task_count \u7B49\uFF09\u3067\u3059\u3002
@@ -171,16 +199,16 @@ path:itemPath(input)}),"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u
171
199
  ing"?template["name"]:String(template["id"]);return`\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u300C${name}\u300D\u304B\u3089\u65B0\u3057\u3044\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ${code} \u3092\u4F5C\u308A\u307E\u3059\uFF08${parts.join(" / ")}\uFF09\u3002\u65E2\u5B58\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u5909\u308F\u308A\u307E\u305B\u3093\u3002`}function applyResult(body){const data=isRecord(body)?body["data"]:void 0;const project=isRecord(data)?data["project"]:void 0;if(!isRecord(data)||!isRecord(
172
200
  project)||typeof project["id"]!=="string"){throw new ApiResponseError("\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u306E\u5FDC\u7B54\u306B data.project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}const created={};for(const key of["statuses_created","types_created","categories_created","labels_created","milestones_created","tasks_created"]){created[key]=data[key]??
173
201
  null}return{...pick(project,["id","code","name","status","start_date","end_date"]),...created}}var projectTemplateResource={name:"template",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u306E\u4F5C\u6210\u30FB\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\uFF09",operations:[
174
- listOperation,getOperation,createOperation2,updateOperation2,deleteOperation2,fromProjectOperation,applyOperation]};var NAME_MAX_CHARS=255;var CODE_MAX_CHARS=255;var MEMO_MAX_CHARS2=Number.POSITIVE_INFINITY;var PROJECTS_PATH="/api/v2/projects";function userRefField(flag,key,label){return{kind:"ref",flag,key,summary:`${label}\uFF08\u30E6\u30FC\u30B6\u30FC\u3002me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09`,placeholder:"<\u30E6\u30FC\u30B6\u30FC>",clearFlag:`--no-${flag.slice(2)}`,clearSummary:`${label}\u3092\u5916\u3059`,resolve:(ctx,ref,flagName)=>ctx.
202
+ listOperation,getOperation2,createOperation2,updateOperation2,deleteOperation2,fromProjectOperation,applyOperation]};var NAME_MAX_CHARS=255;var CODE_MAX_CHARS=255;var MEMO_MAX_CHARS2=Number.POSITIVE_INFINITY;var PROJECTS_PATH="/api/v2/projects";function userRefField(flag,key,label){return{kind:"ref",flag,key,summary:`${label}\uFF08\u30E6\u30FC\u30B6\u30FC\u3002me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09`,placeholder:"<\u30E6\u30FC\u30B6\u30FC>",clearFlag:`--no-${flag.slice(2)}`,clearSummary:`${label}\u3092\u5916\u3059`,resolve:(ctx,ref,flagName)=>ctx.
175
203
  resolver.user(ref,flagName)}}var FIELDS2=[{kind:"text",flag:"--name",key:"name",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D",maxChars:NAME_MAX_CHARS,summary:`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\uFF08${NAME_MAX_CHARS} \u6587\u5B57\u4EE5\u5185\uFF09`},{kind:"text",flag:"--code",key:"code",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9",maxChars:CODE_MAX_CHARS,summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\uFF08\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u63A5\u982D\u8F9E\u306B\u306A\u308B\uFF09"},
176
204
  {kind:"date",flag:"--start-date",key:"start_date",summary:"\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09"},{kind:"date",flag:"--end-date",key:"end_date",summary:"\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\u30FBnone \u3067\u6D88\u3059\uFF09\u3002\u904E\u53BB\u65E5\u306B\u3059\u308B\u3068\u30AF\u30ED\u30FC\u30BA\u3001\u4ECA\u65E5\u4EE5\u964D\u304B none \u3067\u30A2\u30AF\u30C6\u30A3\u30D6\u306B\u306A\u308B"},userRefField("--manager","project_manager_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC"),
177
- userRefField("--leader","project_leader_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30FC\u30C0\u30FC"),{kind:"ref",flag:"--department",key:"department_id",summary:"\u4E3B\u5E79\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-department",clearSummary:"\u4E3B\u5E79\u90E8\u7F72\u3092\u5916\u3059",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"boolean",flag:"--visible",key:"display_flg",summary:"\u4E00\u89A7\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true /\
178
- false\uFF09"},{kind:"boolean",flag:"--tasks-enabled",key:"task_enabled_flg",summary:"\u30BF\u30B9\u30AF\u7BA1\u7406\u3092\u4F7F\u3046\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--punch-disabled",key:"punch_disabled_flg",summary:"\u6253\u523B\u306E\u5BFE\u8C61\u304B\u3089\u5916\u3059\u304B\uFF08true / false\uFF09\u3002\u8AB2\u984C\u30FB\u30BF\u30B9\u30AF\u7BA1\u7406\u3060\u3051\u306B\u4F7F\u3046\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5411\u3051"},{kind:"integer",flag:"--default-due-days",
179
- key:"default_due_days",label:"\u65E2\u5B9A\u306E\u671F\u65E5",min:1,max:365,summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\uFF08\u4F5C\u6210\u65E5\u304B\u3089\u4F55\u65E5\u5F8C\u304B\u30FB1\u301C365\uFF09"},{kind:"enum",flag:"--wiki-default-format",key:"wiki_default_content_format",values:["html","markdown"],summary:"Wiki \u306E\u65B0\u898F\u30DA\u30FC\u30B8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\uFF08html / markdown\uFF09\u3002\u4F5C\u6210\u6E08\u307F\u306E\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u5909\u308F\u3089\u306A\u3044"}];
205
+ userRefField("--leader","project_leader_id","\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30FC\u30C0\u30FC"),userRefField("--reporter","reporter_id","\u5831\u544A\u62C5\u5F53\u8005"),{kind:"ref",flag:"--department",key:"department_id",summary:"\u4E3B\u5E79\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-department",clearSummary:"\u4E3B\u5E79\u90E8\u7F72\u3092\u5916\u3059",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{
206
+ kind:"boolean",flag:"--visible",key:"display_flg",summary:"\u4E00\u89A7\u306B\u8868\u793A\u3059\u308B\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--tasks-enabled",key:"task_enabled_flg",summary:"\u30BF\u30B9\u30AF\u7BA1\u7406\u3092\u4F7F\u3046\u304B\uFF08true / false\uFF09"},{kind:"boolean",flag:"--punch-disabled",key:"punch_disabled_flg",summary:"\u6253\u523B\u306E\u5BFE\u8C61\u304B\u3089\u5916\u3059\u304B\uFF08true / false\uFF09\u3002\u8AB2\u984C\u30FB\u30BF\u30B9\u30AF\u7BA1\u7406\u3060\u3051\u306B\u4F7F\u3046\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5411\u3051"},
207
+ {kind:"integer",flag:"--default-due-days",key:"default_due_days",label:"\u65E2\u5B9A\u306E\u671F\u65E5",min:1,max:365,summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\uFF08\u4F5C\u6210\u65E5\u304B\u3089\u4F55\u65E5\u5F8C\u304B\u30FB1\u301C365\uFF09"},{kind:"enum",flag:"--wiki-default-format",key:"wiki_default_content_format",values:["html","markdown"],summary:"Wiki \u306E\u65B0\u898F\u30DA\u30FC\u30B8\u306E\u65E2\u5B9A\u306E\u5F62\u5F0F\uFF08html / markdown\uFF09\u3002\u4F5C\u6210\u6E08\u307F\u306E\u30DA\u30FC\u30B8\u306E\u5F62\u5F0F\u306F\u5909\u308F\u3089\u306A\u3044"}];
180
208
  var CREATE_FIELDS=FIELDS2.filter(field=>field.key!=="default_due_days");var MEMO_FLAGS2=[{name:"--memo",summary:"\u30E1\u30E2\u3092\u76F4\u63A5\u6307\u5B9A\u3059\u308B\uFF08--memo-file \u3068\u306E\u4F75\u7528\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"},{name:"--memo-file",summary:"\u30E1\u30E2\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u8AAD\u3080\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09\u3002\u6539\u884C\u30FBMarkdown \u3092\u58CA\u3055\u306A\u3044",takesValue:true,
181
- placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS2=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","display_flg","task_enabled_flg","wiki_de\
182
- fault_content_format","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
183
- var REF_HELP="\u30E6\u30FC\u30B6\u30FC\uFF08--manager / --leader\uFF09\u306F me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u3001\u90E8\u7F72\u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\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\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3084\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3059\u308B\u3068\u4E00\u610F\u306B\u6C7A\u307E\u308A\u307E\u3059\u3002";
209
+ placeholder:"<\u30D1\u30B9|->"}];var CLEAR_FLAGS2=[{flag:{name:"--no-memo",summary:"\u30E1\u30E2\u3092\u6D88\u3059",takesValue:false},key:"memo",conflicts:["--memo","--memo-file"]},{flag:{name:"--no-default-due-days",summary:"\u30BF\u30B9\u30AF\u4F5C\u6210\u6642\u306E\u65E2\u5B9A\u306E\u671F\u65E5\u3092\u5916\u3059",takesValue:false},key:"default_due_days",conflicts:["--default-due-days"]}];var COLUMNS=["id","code","name","status","start_date","end_date","reporter_id","display_flg","task_enabled\
210
+ _flg","wiki_default_content_format","updated_at"];var STATUS_HELP="\u30B9\u30C6\u30FC\u30BF\u30B9\uFF08active / closed\uFF09\u306F\u7D42\u4E86\u65E5\u304B\u3089\u81EA\u52D5\u3067\u6C7A\u307E\u308A\u307E\u3059\uFF08\u6307\u5B9A\u306F\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\n\u65E9\u304F\u7D42\u3048\u308B\u3068\u304D\u306F --end-date \u3092\u904E\u53BB\u65E5\u306B\u3001\u518D\u958B\u3059\u308B\u3068\u304D\u306F\u4ECA\u65E5\u4EE5\u964D\u306E\u65E5\u4ED8\u304B none \u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002";
211
+ var REF_HELP="\u30E6\u30FC\u30B6\u30FC\uFF08--manager / --leader / --reporter\uFF09\u306F me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u3001\u90E8\u7F72\u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\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\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3084\u793E\u54E1\u756A\u53F7\u3067\u6307\u5B9A\u3059\u308B\u3068\u4E00\u610F\u306B\u6C7A\u307E\u308A\u307E\u3059\u3002";
184
212
  var CREATE_FORBIDDEN="\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4F5C\u6210\u306B\u306F\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\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";var DELETE_FORBIDDEN="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3001\u304B\u3064\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";
185
213
  var UPDATE_FORBIDDEN="\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u66F4\u65B0\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3001\u304B\u3064\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u6A5F\u80FD\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002";
186
214
  function readMemo(input,usage){return readBody(input,{flag:"--memo",fileFlag:"--memo-file",label:"\u30E1\u30E2",maxChars:MEMO_MAX_CHARS2,usage})}function checkCode(input){const code=input.flags.get("--code");if(code!==void 0&&collapsesInUrlPath(code.trim())){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${code}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u3001twp project get \u306A\u3069\u3067\u5F15\u3051\u306A\u304F\u306A\u308A\u307E\u3059\u3002")}}
@@ -205,7 +233,7 @@ CREATE_USAGE2);if((input.flags.get("--code")??"").trim()==="")throw new UsageErr
205
233
  twp project update <ID|\u30B3\u30FC\u30C9> [\u9805\u76EE\u2026]";var updateOperation3={name:"update",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u9805\u76EE\u3092\u66F4\u65B0\u3059\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u308B\uFF09",usage:UPDATE_USAGE2,description:`PUT /api/v2/projects/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u3048\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
206
234
  \u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002<ID|\u30B3\u30FC\u30C9> \u306F\u7701\u7565\u3067\u304D\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002
207
235
 
208
- \u5024\u3092\u5916\u3059\u3068\u304D: \u65E5\u4ED8\u306F none\uFF08--end-date none\uFF09\u3001\u30E6\u30FC\u30B6\u30FC\u30FB\u90E8\u7F72\u306F --no-manager / --no-leader / --no-department\u3001\u30E1\u30E2\u306F --no-memo\u3001\u65E2\u5B9A\u306E\u671F\u65E5\u306F --no-default-due-days\u3002
236
+ \u5024\u3092\u5916\u3059\u3068\u304D: \u65E5\u4ED8\u306F none\uFF08--end-date none\uFF09\u3001\u30E6\u30FC\u30B6\u30FC\u30FB\u90E8\u7F72\u306F --no-manager / --no-leader / --no-reporter / --no-department\u3001\u30E1\u30E2\u306F --no-memo\u3001\u65E2\u5B9A\u306E\u671F\u65E5\u306F --no-default-due-days\u3002
209
237
 
210
238
  --code \u3067\u30B3\u30FC\u30C9\u3092\u5909\u3048\u308B\u3068\u3001\u30B5\u30FC\u30D0\u304C\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30BF\u30B9\u30AF\u306E\u30AD\u30FC\u3092\u5168\u4EF6\u66F8\u304D\u63DB\u3048\u307E\u3059\uFF08ABC-12 \u2192 NEW-12\uFF09\u3002
211
239
  \u5916\u90E8\u306B\u8CBC\u3063\u305F\u30AD\u30FC\u3084\u30D6\u30E9\u30F3\u30C1\u540D\u306F\u8FFD\u968F\u3057\u307E\u305B\u3093\u3002\u9001\u308B\u524D\u306B\u5F71\u97FF\u3059\u308B\u4EF6\u6570\u3092\u78BA\u304B\u3081\u3066\u51FA\u3057\u3001--yes \u304C\u7121\u3051\u308C\u3070\u9001\u308A\u307E\u305B\u3093
@@ -218,6 +246,7 @@ ${REF_HELP}
218
246
  \u4F8B:
219
247
  twp project update PORTAL --name "\u793E\u5185\u30DD\u30FC\u30BF\u30EB\u5237\u65B0\uFF08\u7B2C2\u671F\uFF09" --end-date 2027-06-30
220
248
  twp project update PORTAL --end-date none --no-leader
249
+ twp project update PORTAL --reporter yamada@example.com
221
250
  twp project update PORTAL --code PORTAL2 --dry-run`,forbidden:UPDATE_FORBIDDEN,flags:[...updateFlags(FIELDS2),...MEMO_FLAGS2,...CLEAR_FLAGS2.map(clear=>clear.flag)],async prepare(input,ctx){if(!hasAnyField(input,FIELDS2)&&!["--memo","--memo-file",...CLEAR_FLAGS2.map(clear=>clear.flag.name)].some(flag=>input.flags.has(flag))){throw new UsageError("\u5909\u3048\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp project update help")}const ref=singleRef(
222
251
  input,{flag:"<ID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:UPDATE_USAGE2});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}const prepared=await prepareFields(
223
252
  {...input,args:[]},ctx,UPDATE_USAGE2,FIELDS2);const project=await ctx.resolver.project(ref);return withResolved(prepared,{projectId:project.id,...project.code!==project.id?{currentCode:project.code}:{}})},plan:input=>({method:"PUT",path:`${PROJECTS_PATH}/${encodeURIComponent(requireResolved(input,"projectId"))}`,body:projectBody(input,FIELDS2)}),async preview(input,ctx){const raw=input.flags.get("--code");if(raw===void 0)return{notes:[],warnings:[]};const next=raw.trim();const current=input.resolved?.["\
@@ -230,10 +259,10 @@ const current=isRecord(body)&&typeof body["current_code"]==="string"?body["curre
230
259
  description:"DELETE /api/v2/projects/{id}\u3002<ID|\u30B3\u30FC\u30C9> \u306F\u7701\u7565\u3067\u304D\u307E\u305B\u3093\uFF08\u65E2\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u4F7F\u3044\u307E\u305B\u3093\uFF09\u3002\n\u53D6\u308A\u6D88\u305B\u306A\u3044\u305F\u3081 --yes \u304C\u8981\u308A\u307E\u3059\uFF08--dry-run \u3067\u9001\u308B\u5185\u5BB9\u3060\u3051\u3092\u78BA\u304B\u3081\u3089\u308C\u307E\u3059\uFF09\u3002\n\n\u914D\u4E0B\u306E\u30BF\u30B9\u30AF\u30FB\u6709\u52B9\u306A\u6253\u523B\u30FB\u8CA9\u58F2\u7BA1\u7406\u304B\u3089\u306E\u53C2\u7167\u30FB\u696D\u52D9\u30C7\u30FC\u30BF\uFF08\u8B70\u4E8B\u9332\u30FBWiki \u7B49\uFF09\u304C\u6B8B\u3063\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u3001\u30B5\u30FC\u30D0\u304C\u524A\u9664\u3092\u65AD\u308A\u307E\u3059\n\uFF08\u7406\u7531\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\u5148\u306B\u305D\u308C\u3089\u3092\u7247\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002\u30E1\u30F3\u30D0\u30FC\u306E\u767B\u9332\u306F\u30B5\u30FC\u30D0\u304C\u4F75\u305B\u3066\u524A\u9664\u3057\u307E\u3059\u3002\n\u4F7F\u308F\u306A\u304F\u306A\u3063\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u6B8B\u3057\u305F\u307E\u307E\u9589\u3058\u308B\u3060\u3051\u306A\u3089\u3001\u524A\u9664\u305B\u305A\u306B twp project update <\u30B3\u30FC\u30C9> --end-date <\u904E\u53BB\u65E5> \u3067\u30AF\u30ED\u30FC\u30BA\u3067\u304D\u307E\u3059\u3002\n\n\u4F8B:\n twp project delete OLDPJ --dry-run\n twp project delete OLDPJ --yes",
231
260
  destructive:true,forbidden:DELETE_FORBIDDEN,flags:[],async prepare(input,ctx){const ref=singleRef(input,{flag:"<ID|\u30B3\u30FC\u30C9>",label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",usage:DELETE_USAGE2});if(collapsesInUrlPath(ref)){throw new UsageError(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E UUID \u304B\u30B3\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${ref}`,"\u30C9\u30C3\u30C8\u3060\u3051\u306E\u5024\u306F URL \u306E\u30D1\u30B9\u8981\u7D20\u3068\u3057\u3066\u6D88\u3048\u3066\u3057\u307E\u3046\u305F\u3081\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002")}
232
261
  const project=await ctx.resolver.project(ref);return withResolved(input,{projectId:project.id,...project.code!==project.id?{currentCode:project.code}:{}})},plan:input=>({method:"DELETE",path:`${PROJECTS_PATH}/${encodeURIComponent(requireResolved(input,"projectId"))}`}),plannedNotes:input=>{const id=requireResolved(input,"projectId");const code=input.resolved?.["currentCode"];return[`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 ${typeof code==="string"?`${code}\uFF08${id}\uFF09`:id} \u3092\u524A\u9664\u3057\u307E\u3059\u3002\u30BF\u30B9\u30AF\u30FB\u6253\u523B\u306A\u3069\u304C\u6B8B\u3063\u3066\u3044\u308C\
233
- \u3070\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u4F55\u3082\u6D88\u3048\u307E\u305B\u3093\uFF09\u3002`]},summarize:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664"),raw:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664")};var projectWriteOperations=[createOperation3,updateOperation3,deleteOperation3];var LIST_COLUMNS2=["id","code","name","status","effective_status"];var GET_COLUMNS2=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","start_date","end_date","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B li\
234
- st \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
235
- return project}var MANHOURS_USAGE="twp project manhours [<ID|\u30B3\u30FC\u30C9>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>]";var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30B5\u30A4\u30F3\u30FB\u5DE5\u6570\u30FB\u30EA\u30B9\u30AF\u5206\u6790\u30FB\u53CE\u652F\u5206\u6790\u30FB\u5DE5\u7A0B",operations:[{name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B",
236
- usage:"twp project list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>] [--keyword <\u8A9E>] [--status <\u72B6\u614B>]",description:"--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08id / code / name / status / effective_status\uFF09\u3067\u3059\u3002\n\u6B32\u3057\u3044\u5217\u3060\u3051\u3092\u6A5F\u68B0\u51E6\u7406\u3057\u305F\u3044\u3068\u304D\u306F --query \u3067\u9078\u3093\u3067\u304F\u3060\u3055\u3044\uFF08--query \u306F\u751F\u30C7\u30FC\u30BF\u306B\u5BFE\u3057\u3066\u8A55\u4FA1\u3055\u308C\u307E\u3059\uFF09\u3002\n\n"+
262
+ \u3070\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u4F55\u3082\u6D88\u3048\u307E\u305B\u3093\uFF09\u3002`]},summarize:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664"),raw:body=>acknowledgement(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u524A\u9664")};var projectWriteOperations=[createOperation3,updateOperation3,deleteOperation3];var LIST_COLUMNS2=["id","code","name","status","effective_status"];var GET_COLUMNS2=["id","code","name","status","effective_status","display_flg","closed_flg","task_enabled_flg","wiki_default_content_format","start_date","end_date","reporter_id","created_at","updated_at"];var MEMBER_COLUMNS2=["user_id","user_name","user_email","role","wiki_role","alias","department_name"];function memberItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError(
263
+ "\u30E1\u30F3\u30D0\u30FC\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}var listPaging=envelopePaging({label:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7"});function listItems(body){return listPaging.items(body)}function projectObject(body){const project=isRecord(body)?body["project"]:void 0;if(!isRecord(project)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u8A73\u7D30\u306E\
264
+ \u5FDC\u7B54\u306B project \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return project}var MANHOURS_USAGE="twp project manhours [<ID|\u30B3\u30FC\u30C9>] [--from <YYYY-MM-DD>] [--to <YYYY-MM-DD>]";var projectDomain={name:"project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u30E1\u30F3\u30D0\u30FC\u306E\u30A2\u30B5\u30A4\u30F3\u30FB\u5DE5\u6570\u30FB\u30EA\u30B9\u30AF\u5206\u6790\u30FB\u53CE\u652F\u5206\u6790\u30FB\u5DE5\u7A0B",
265
+ operations:[{name:"list",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B",usage:"twp project list [--all] [--limit <\u4EF6\u6570>] [--cursor <\u30AB\u30FC\u30BD\u30EB>] [--keyword <\u8A9E>] [--status <\u72B6\u614B>]",description:"--output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002\n--output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08id / code / name / status / effective_status\uFF09\u3067\u3059\u3002\n\u6B32\u3057\u3044\u5217\u3060\u3051\u3092\u6A5F\u68B0\u51E6\u7406\u3057\u305F\u3044\u3068\u304D\u306F --query \u3067\u9078\u3093\u3067\u304F\u3060\u3055\u3044\uFF08--query \u306F\u751F\u30C7\u30FC\u30BF\u306B\u5BFE\u3057\u3066\u8A55\u4FA1\u3055\u308C\u307E\u3059\uFF09\u3002\n\n"+
237
266
  LIST_PAGING_HELP,flags:[...LIST_FLAGS,{name:"--keyword",summary:"\u30B3\u30FC\u30C9\u30FB\u540D\u79F0\u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u4F8B: active\uFF09",takesValue:true,placeholder:"<\u72B6\u614B>"}],paging:listPaging,plan(input){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.
238
267
  args.join(" ")}`,"twp project list help")}return{method:"GET",path:"/api/v2/projects",query:{limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor"),keyword:nonEmpty(input.flags,"--keyword"),status:nonEmpty(input.flags,"--status")}}},summarize:body=>listItems(body).map(row=>pick(row,LIST_COLUMNS2)),raw:body=>listItems(body)},{name:"get",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B",usage:"twp project get <ID|\u30B3\u30FC\u30C9\
239
268
  >",description:'ID\uFF08UUID / ULID\uFF09\u306A\u3089\u305D\u306E\u307E\u307E\u3001\u305D\u308C\u4EE5\u5916\u306F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9\u3068\u3057\u3066\u89E3\u6C7A\u3057\u307E\u3059\uFF081\u5F80\u5FA9\uFF09\u3002\n\u30B3\u30FC\u30C9\u304C\u898B\u3064\u304B\u3089\u306A\u3044\u5834\u5408\u3001\u30B5\u30FC\u30D0\u306F\u300C\u5B58\u5728\u3057\u306A\u3044\u300D\u3068\u300C\u95B2\u89A7\u6A29\u9650\u304C\u7121\u3044\u300D\u3092\u610F\u56F3\u7684\u306B\u533A\u5225\u3057\u307E\u305B\u3093\u3002\n\u30B3\u30FC\u30C9\u304C literally "help" \u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5F15\u304F\u3068\u304D\u3060\u3051 `twp project get -- help` \u3068\u66F8\u304D\u307E\u3059\n\uFF08\u5148\u982D\u306E help \u306F\u30D8\u30EB\u30D7\u8981\u6C42\u3068\u3057\u3066\u89E3\u91C8\u3055\u308C\u308B\u305F\u3081\uFF09\u3002',
@@ -248,6 +277,6 @@ usage:MANHOURS_USAGE,description:"GET /api/v2/projects/{id}/manhours\u3002\u7701
248
277
  MANHOUR_DESCRIPTION,flags:[MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG],forbidden:body=>body?.error==="permission_denied"&&(body.error_description??"").includes("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005")?"\u3053\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570\u3092\u8AAD\u3080\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\uFF08manager\uFF09\u304B\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u3060\u3051\u304C\u8AAD\u3081\u307E\u3059\u3002":
249
278
  void 0,prepare:(input,ctx)=>projectRefInput(input,ctx,"manhours"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/manhours`,query:manhourQuery(input,MANHOURS_USAGE)}},summarize:body=>manhourRows(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570"),raw:body=>{manhourRows(body,"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5DE5\u6570");return body},notes:body=>manhourNotes(body)},{name:"workload",summary:"\
250
279
  \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3054\u3068\u306E\u30BF\u30B9\u30AF\u4EF6\u6570\u30FB\u898B\u7A4D\u6642\u9593\u3092\u8868\u793A\u3059\u308B",usage:"twp project workload [<ID|\u30B3\u30FC\u30C9>]",description:"GET /api/v2/projects/{id}/analytics/workload\uFF08\u753B\u9762\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u5225\u8CA0\u8377\u300D\uFF09\u3002\n\u7701\u7565\u3059\u308B\u3068\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u65E2\u5B9A\u3067\u3059\u3002\u672A\u5B8C\u4E86\u306E\u30BF\u30B9\u30AF\u304C\u5BFE\u8C61\u3067\u3001\u62C5\u5F53\u8005\u306E\u7121\u3044\u30BF\u30B9\u30AF\u306F\u300C\uFF08\u672A\u5272\u308A\u5F53\u3066\uFF09\u300D\u306E\u884C\u306B\u5165\u308A\u307E\u3059\u3002\n--output table / text / tsv \u306E by_status \u306F\u300C\u30B9\u30C6\u30FC\u30BF\u30B9\u540D:\u4EF6\u6570\u300D\u3092\u7A7A\u767D\u533A\u5207\u308A\u3067\u4E26\u3079\u305F\u3082\u306E\u3067\u3059\uFF08\u5185\u8A33\u306F --output json\uFF09\u3002",
251
- flags:[],prepare:(input,ctx)=>projectRefInput(input,ctx,"workload"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/analytics/workload`}},summarize:body=>workloadDistributionRows(body),raw:body=>{workloadDistributionRows(body);return body},notes:body=>workloadDistributionNotes(body)},...projectAnalysisOperations],subresources:[projectMemberResource,projectProcessResource,projectEvaluationResource,projectTemplateResource]};
252
- var ASSIGNED_PROJECT_COLUMNS=["id","code","name","status","role","member_start_date","member_end_date"];function assignedProjectItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}async function projectRefInput(input,ctx,operation){
280
+ flags:[],prepare:(input,ctx)=>projectRefInput(input,ctx,"workload"),plan(input){const projectId=requireResolved(input,"projectId");return{method:"GET",path:`/api/v2/projects/${encodeURIComponent(projectId)}/analytics/workload`}},summarize:body=>workloadDistributionRows(body),raw:body=>{workloadDistributionRows(body);return body},notes:body=>workloadDistributionNotes(body)},...projectAnalysisOperations],subresources:[projectMemberResource,projectProcessResource,projectEvaluationResource,projectTemplateResource,
281
+ projectAutoAssignResource]};var ASSIGNED_PROJECT_COLUMNS=["id","code","name","status","role","member_start_date","member_end_date"];function assignedProjectItems(body){const list=isRecord(body)?body["list"]:void 0;if(!Array.isArray(list)){throw new ApiResponseError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return list}async function projectRefInput(input,ctx,operation){
253
282
  const[ref,...rest]=input.args;if(rest.length>0){throw new UsageError(`${operation} \u304C\u53D7\u3051\u53D6\u308C\u308B\u5F15\u6570\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,`twp project ${operation} help`)}return withResolved(input,{projectId:await ctx.projectId(ref)})}export{projectDomain,ASSIGNED_PROJECT_COLUMNS,assignedProjectItems};
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readFile}from"fs/promises";import{existsSync}from"fs";import{dirname,join,resolve}from"path";import{fileURLToPath}from"url";var DIR_NAME="command-model";var cachedDir;function commandModelDir(){if(cachedDir!==void 0)return cachedDir;let current=dirname(fileURLToPath(import.meta.url));for(let depth=0;depth<6;depth+=1){const candidate=join(current,DIR_NAME);if(existsSync(join(candidate,"index.json"))){cachedDir=candidate;return cachedDir}if(existsSync(join(current,"package.json")))break;const parent=resolve(
4
- current,"..");if(parent===current)break;current=parent}cachedDir=null;return cachedDir}var CommandModelMissingError=class extends Error{constructor(detail){super(`\u30B3\u30DE\u30F3\u30C9\u30E2\u30C7\u30EB\uFF08${DIR_NAME}/\uFF09\u3092\u8AAD\u3081\u307E\u305B\u3093: ${detail}
3
+ import{readFile}from"fs/promises";import{existsSync}from"fs";import{dirname,join,resolve}from"path";import{fileURLToPath}from"url";var COMMON_GET_QUERY_PARAMS=Object.freeze([Object.freeze({name:"limit",type:"integer",required:false,description:"1\u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u4EF6\u6570",source:"curation"}),Object.freeze({name:"cursor",type:"string",required:false,description:"\u6B21\u30DA\u30FC\u30B8\u306E\u53D6\u5F97\u306B\u4F7F\u3046\u30AB\u30FC\u30BD\u30EB",source:"curation"})]);function takesCommonParams(method){return method.toUpperCase()==="GET"}function withCommonQueryParams(op){if(!takesCommonParams(op.method))return op;const missing=COMMON_GET_QUERY_PARAMS.filter(common=>!op.queryParams.some(p=>p.name===common.name));if(missing.length===0)return op;return{...op,queryParams:[...op.queryParams,...missing.map(p=>({...p}))]}}var DIR_NAME="command-model";var cachedDir;function commandModelDir(){if(cachedDir!==void 0)return cachedDir;let current=dirname(fileURLToPath(import.meta.url));for(let depth=0;depth<6;depth+=1){const candidate=join(current,DIR_NAME);if(existsSync(join(candidate,"index.json"))){cachedDir=candidate;return cachedDir}if(existsSync(join(current,"package.json")))break;const parent=resolve(current,"..");if(parent===current)break;current=parent}cachedDir=null;return cachedDir}var CommandModelMissingError=class extends Error{constructor(detail){
4
+ super(`\u30B3\u30DE\u30F3\u30C9\u30E2\u30C7\u30EB\uFF08${DIR_NAME}/\uFF09\u3092\u8AAD\u3081\u307E\u305B\u3093: ${detail}
5
5
  \u958B\u767A\u6642\u306F \`npm run generate:command-model -- --spec <api.json>\` \u3067\u751F\u6210\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);this.name="CommandModelMissingError"}};var domainCache=new Map;var indexCache=null;var routesCache=null;async function readJson(file){const dir=commandModelDir();if(dir===null)throw new CommandModelMissingError("\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u3042\u308A\u307E\u305B\u3093");const path=join(dir,file);try{return JSON.
6
6
  parse(await readFile(path,"utf8"))}catch(cause){throw new CommandModelMissingError(`${path} \u3092\u8AAD\u3081\u307E\u305B\u3093\uFF08${cause.message}\uFF09`)}}async function loadCommandModelIndex(){indexCache??=await readJson("index.json");return indexCache}async function loadCommandModelRoutes(){if(routesCache!==null)return routesCache;const file=await readJson("_routes.json");if(typeof file?.routes!=="object"||file.routes===null||Array.isArray(file.routes)){throw new CommandModelMissingError(
7
7
  "_routes.json \u306E\u5F62\u304C\u9055\u3044\u307E\u3059\uFF08routes \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09")}routesCache=file;return routesCache}async function loadCommandModelDomain(domain){const cached=domainCache.get(domain);if(cached!==void 0)return cached;if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(domain)){throw new CommandModelMissingError(`\u30C9\u30E1\u30A4\u30F3\u540D\u3068\u3057\u3066\u4E0D\u6B63\u3067\u3059: ${domain}`)}const file=await readJson(`${domain}.json`);if(typeof file?.domain!==
8
- "string"||!Array.isArray(file?.operations)){throw new CommandModelMissingError(`${domain}.json \u306E\u5F62\u304C\u9055\u3044\u307E\u3059\uFF08domain / operations \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09`)}domainCache.set(domain,file);return file}var MAX_REPORTED_VIOLATIONS=20;function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function typesOf(schema){const type=schema["type"];if(typeof type==="string")return[type];if(Array.isArray(type)&&type.every(t=>typeof t==="string"))return type;return null}var INTEGER_STRING=/^[+-]?\d+$/;var BOOLEAN_STRINGS=new Set(["0","1","true","false","yes","no","on","off"]);var NUMBER_STRING=/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/;function matchesType(type,value){switch(type){case"\
8
+ "string"||!Array.isArray(file?.operations)){throw new CommandModelMissingError(`${domain}.json \u306E\u5F62\u304C\u9055\u3044\u307E\u3059\uFF08domain / operations \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09`)}const filled={...file,operations:file.operations.map(withCommonQueryParams)};domainCache.set(domain,filled);return filled}var MAX_REPORTED_VIOLATIONS=20;function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function typesOf(schema){const type=schema["type"];if(typeof type==="string")return[type];if(Array.isArray(type)&&type.every(t=>typeof t==="string"))return type;return null}var INTEGER_STRING=/^[+-]?\d+$/;var BOOLEAN_STRINGS=new Set(["0","1","true","false","yes","no","on","off"]);var NUMBER_STRING=/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/;function matchesType(type,value){switch(type){case"\
9
9
  null":return value===null;case"string":return typeof value==="string";case"integer":return typeof value==="number"&&Number.isInteger(value)||typeof value==="string"&&INTEGER_STRING.test(value);case"number":return typeof value==="number"&&Number.isFinite(value)||typeof value==="string"&&NUMBER_STRING.test(value);case"boolean":return typeof value==="boolean"||value===0||value===1||typeof value==="string"&&BOOLEAN_STRINGS.has(value.toLowerCase());case"array":case"object":return typeof value==="obje\
10
10
  ct"&&value!==null;default:return true}}function describe(value){if(value===null)return"null";if(Array.isArray(value))return"\u914D\u5217";if(typeof value==="object")return"\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8";if(typeof value==="string")return`\u6587\u5B57\u5217\uFF08${[...value].length} \u6587\u5B57\uFF09`;return`${typeof value==="number"?"\u6570\u5024":typeof value==="boolean"?"\u771F\u507D\u5024":typeof value} ${String(value)}`}function numericValue(value){if(typeof value==="number")return value;
11
11
  if(typeof value==="string"&&NUMBER_STRING.test(value))return Number(value);return null}var PHP_DELIMITED=/^([^A-Za-z0-9\\\s^])[\s\S]*\1[A-Za-z]*$/;function compilePattern(pattern){if(PHP_DELIMITED.test(pattern))return null;try{return new RegExp(pattern,"u")}catch{return null}}function walk(schema,value,at,out){if(!isRecord(schema))return;const types=typesOf(schema);if(types!==null&&!types.some(type=>matchesType(type,value))){out.push(`${at}: ${types.join(" / ")} \u3092\u671F\u5F85\u3057\u307E\u3057\u305F\u304C ${describe(
@@ -15,4 +15,4 @@ test(value))out.push(`${at}: \u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059\uFF08${p
15
15
  \u4E0B\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${numeric}\uFF09`)}if(Array.isArray(value)){const maxItems=schema["maxItems"];const minItems=schema["minItems"];if(typeof maxItems==="number"&&value.length>maxItems)out.push(`${at}: \u8981\u7D20\u306F ${maxItems} \u4EF6\u4EE5\u5185\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${value.length} \u4EF6\uFF09`);if(typeof minItems==="number"&&value.length<minItems)out.push(`${at}: \u8981\u7D20\u306F ${minItems} \u4EF6\u4EE5\u4E0A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${value.
16
16
  length} \u4EF6\uFF09`);if(isRecord(schema["items"]))value.forEach((item,i)=>walk(schema["items"],item,`${at}[${i}]`,out));return}if(isRecord(value)){const required=schema["required"];if(Array.isArray(required)){for(const key of required){if(typeof key==="string"&&!Object.prototype.hasOwnProperty.call(value,key))out.push(`${at}.${key}: \u5FC5\u9808\u3067\u3059`)}}const properties=schema["properties"];if(isRecord(properties)){for(const[key,child]of Object.entries(properties)){if(Object.prototype.hasOwnProperty.
17
17
  call(value,key))walk(child,value[key],`${at}.${key}`,out)}}}}function validateBody(schema,body){const out=[];walk(schema,body,"body",out);return out}function validateQuery(params,query){const out=[];for(const param of params){const has=Object.prototype.hasOwnProperty.call(query,param.name)&&query[param.name]!==void 0;if(!has){if(param.required)out.push(`query.${param.name}: \u5FC5\u9808\u3067\u3059`);continue}if(param.source!=="spec")continue;const declared=param.type;const types=typeof declared===
18
- "string"?[declared]:Array.isArray(declared)?declared.filter(t=>typeof t==="string"):[];const checked=types.filter(type=>type==="integer"||type==="number"||type==="boolean");if(checked.length===0||types.includes("string"))continue;const raw=query[param.name];if(types.includes("null")&&raw==="")continue;if(!checked.some(type=>matchesType(type,raw))){out.push(`query.${param.name}: ${checked.join(" / ")} \u3092\u671F\u5F85\u3057\u307E\u3057\u305F\u304C ${describe(raw)} \u3067\u3059`)}}return out}export{CommandModelMissingError,loadCommandModelIndex,loadCommandModelRoutes,loadCommandModelDomain,MAX_REPORTED_VIOLATIONS,validateBody,validateQuery};
18
+ "string"?[declared]:Array.isArray(declared)?declared.filter(t=>typeof t==="string"):[];const checked=types.filter(type=>type==="integer"||type==="number"||type==="boolean");if(checked.length===0||types.includes("string"))continue;const raw=query[param.name];if(types.includes("null")&&raw==="")continue;if(!checked.some(type=>matchesType(type,raw))){out.push(`query.${param.name}: ${checked.join(" / ")} \u3092\u671F\u5F85\u3057\u307E\u3057\u305F\u304C ${describe(raw)} \u3067\u3059`)}}return out}export{withCommonQueryParams,CommandModelMissingError,loadCommandModelIndex,loadCommandModelRoutes,loadCommandModelDomain,MAX_REPORTED_VIOLATIONS,validateBody,validateQuery};
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelIndex,validateBody,validateQuery}from"./chunk-NZ7WI4RZ.js";import{isForceOnly,killProcessTree,system32}from"./chunk-N2UVRM3Z.js";import{redactSecretValues}from"./chunk-BD7O73GK.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{DEFAULT_MAX_HISTORY_BYTES,DEFAULT_MAX_TOKENS,effectiveModelSpec,emptyUsage}from"./chunk-PJ7IKTZI.js";
4
- import{isPrivateTwpHome,isTrustworthyCacheFile,writePrivateFileAtomic}from"./chunk-D233KKXW.js";import{findExecutable,isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import{AuthSession,NotLoggedInError,SessionExpiredError,withFileLock}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{configReadDirs,ensureTwpHome,twpHomeDir}from"./chunk-RZVI6PMW.js";import{MODES,applyPermissionMode,checkPermission,isModeId,setActiveModes}from"./chunk-2LOT54OO.js";
5
- import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs2 from"fs";import path3 from"path";import os2 from"os";import{realpathSync}from"fs";import{homedir}from"os";import{dirname,isAbsolute,relative,resolve,sep}from"path";var PathDeniedError=class extends Error{constructor(message){super(message);this.name="PathDeniedError"}};function resolveToolPath(input,cwd,home=homedir()){if(typeof input!=="string"||input.trim()===""){throw new PathDeniedError("path must be a non-empty string")}const expanded=expandHome(input,home);const abs=isAbsolute(expanded)?resolve(expanded):resolve(cwd,expanded);const root=realOrSelf(resolve(cwd));assertInside(abs,resolve(cwd),abs);assertNotSecret(abs,home);const real=realOrSelf(abs);if(real!==
3
+ import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelIndex,validateBody,validateQuery,withCommonQueryParams}from"./chunk-CDAU3M7F.js";import{isForceOnly,killProcessTree,system32}from"./chunk-N2UVRM3Z.js";import{redactSecretValues}from"./chunk-BD7O73GK.js";import{isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{DEFAULT_MAX_HISTORY_BYTES,DEFAULT_MAX_TOKENS,effectiveModelSpec,
4
+ emptyUsage}from"./chunk-PJ7IKTZI.js";import{isPrivateTwpHome,isTrustworthyCacheFile,writePrivateFileAtomic}from"./chunk-D233KKXW.js";import{findExecutable,isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import{AuthSession,NotLoggedInError,SessionExpiredError,withFileLock}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{configReadDirs,ensureTwpHome,twpHomeDir}from"./chunk-RZVI6PMW.js";import{MODES,applyPermissionMode,checkPermission,
5
+ isModeId,setActiveModes}from"./chunk-2LOT54OO.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs2 from"fs";import path3 from"path";import os2 from"os";import{realpathSync}from"fs";import{homedir}from"os";import{dirname,isAbsolute,relative,resolve,sep}from"path";var PathDeniedError=class extends Error{constructor(message){super(message);this.name="PathDeniedError"}};function resolveToolPath(input,cwd,home=homedir()){if(typeof input!=="string"||input.trim()===""){throw new PathDeniedError("path must be a non-empty string")}const expanded=expandHome(input,home);const abs=isAbsolute(expanded)?resolve(expanded):resolve(cwd,expanded);const root=realOrSelf(resolve(cwd));assertInside(abs,resolve(cwd),abs);assertNotSecret(abs,home);const real=realOrSelf(abs);if(real!==
6
6
  abs){assertInside(real,root,abs);assertNotSecret(real,home)}return abs}function realToolPath(input,cwd,home=homedir()){return realOrSelf(resolveToolPath(input,cwd,home))}function assertInside(target,root,reported){const rel=relative(root,target);const outside=rel===".."||rel.startsWith(`..${sep}`)||isAbsolute(rel);if(outside){throw new PathDeniedError(`path escapes the working directory (${reported}). Only paths under ${root} can be accessed.`)}}function realOrSelf(target){let current=target;const rest=[];
7
7
  for(;;){try{const real=realpathSync(current);return rest.length===0?real:resolve(real,...rest.reverse())}catch{const parent=dirname(current);if(parent===current)return target;rest.push(current.slice(parent.length+1));current=parent}}}function assertNotSecret(absPath,home=homedir(),env=process.env){const reason=secretReason(absPath,home,env);if(reason!==null)throw new PathDeniedError(`refusing to access ${absPath}: ${reason}`)}function secretReason(absPath,_home=homedir(),env=process.env){const lower=absPath.
8
8
  toLowerCase();const segments=lower.split(sep);const base=segments[segments.length-1]??"";const parent=segments[segments.length-2]??"";if(base===".env"||base.startsWith(".env."))return".env files are denied (design \xA77)";if(segments.includes(".ssh"))return"SSH key material is denied (design \xA77)";if(parent===".git"&&base==="config"){return".git/config is denied (it can hold a GitHub token in the remote URL)"}if(base===".netrc"||base==="_netrc"||base===".npmrc")return"credential files are deni\
@@ -217,11 +217,11 @@ typeof o["resultPath"]==="string")&&typeof o["risk"]==="string"&&RISKS.has(o["ri
217
217
  ${op.name}`;if(names.has(key))return null;names.add(key)}return{version,catalogVersion:typeof r["catalog_version"]==="string"?r["catalog_version"]:null,tools}}var RISK_ORDER={read:0,write:1,destructive:2};function methodFloor(method){if(method==="GET")return"read";return method==="DELETE"?"destructive":"write"}function floorOf(op,bundledOp){if(bundledOp!==void 0&&bundledOp.method===op.method&&bundledOp.path===op.path)return bundledOp.risk;return stronger(methodFloor(op.method),bundledOp?.risk??
218
218
  "read")}function stronger(a,b){return RISK_ORDER[a]>=RISK_ORDER[b]?a:b}function readerFromTools(tools,bundled=bundledReader){const byDomain=new Map;for(const op of tools){const list=byDomain.get(op.domain);if(list)list.push(op);else byDomain.set(op.domain,[op])}let indexCache=null;const domainCache=new Map;return{index:async()=>{if(indexCache!==null)return indexCache;const summaries=new Map;try{for(const entry of(await bundled.index()).domains)summaries.set(entry.domain,entry.summary)}catch{}const domains=[
219
219
  ...byDomain.entries()].map(([domain,ops])=>({domain,summary:summaries.get(domain)??"",operationCount:ops.length}));indexCache={schemaVersion:1,specVersion:"",domains,totals:{domains:domains.length,operations:tools.length}};return indexCache},domain:async domain=>{const cached=domainCache.get(domain);if(cached!==void 0)return cached;const ops=byDomain.get(domain);if(ops===void 0){throw new CommandModelMissingError(`\u30C9\u30E1\u30A4\u30F3 ${domain} \u306F\u3053\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u306E\u30AB\u30BF\u30ED\u30B0\u306B\u3042\u308A\u307E\u305B\u3093`)}
220
- const floor=new Map;try{for(const op of(await bundled.domain(domain)).operations)floor.set(op.operationId,op)}catch{}const file={domain,operations:ops.map(op=>{const risk=stronger(op.risk,floorOf(op,floor.get(op.operationId)));return risk===op.risk?op:{...op,risk}})};domainCache.set(domain,file);return file}}}var ToolCatalog=class{profile;apiUrl;env;bundled;now;account;decided=null;refreshState;refreshPromise=null;constructor(opts){this.profile=opts.profile;this.apiUrl=opts.apiUrl;this.env=opts.
221
- env??process.env;this.bundled=opts.bundled??bundledReader;this.now=opts.now??Date.now;this.account=opts.account??(()=>null)}meta(){return readMeta(this.profile,this.apiUrl,this.account(),this.env)}index(){return this.decide().reader.index()}domain(domain){return this.decide().reader.domain(domain)}status(){const refresh=this.refreshState!==void 0?{refresh:this.refreshState}:{};if(this.decided!==null){const{origin,reason,meta:meta2}=this.decided;return{origin,...reason!==void 0?{reason}:{},...metaFields(
222
- meta2),...refresh}}if(!homeIsPrivate(this.env))return{origin:"undecided",next:"bundled",reason:REASON_UNTRUSTED_HOME,...refresh};const meta=this.meta();if(meta!==null&&!isTrustworthyCacheFile(toolCatalogCachePaths(this.profile,this.apiUrl,this.env).body)){return{origin:"undecided",next:"bundled",reason:REASON_BROKEN,...refresh}}return meta!==null?{origin:"undecided",next:"server-cache",...metaFields(meta),...refresh}:{origin:"undecided",next:"bundled",reason:REASON_NO_CACHE,...refresh}}decide(){
223
- if(this.decided!==null)return this.decided;this.decided=this.loadCache()??{reader:this.bundled,origin:"bundled",reason:homeIsPrivate(this.env)?REASON_NO_CACHE:REASON_UNTRUSTED_HOME};return this.decided}loadCache(){const meta=this.meta();if(meta===null)return null;const paths=toolCatalogCachePaths(this.profile,this.apiUrl,this.env);const parsed=parseToolCatalog(readTrustedJson(paths.body,this.env));if(parsed===null||parsed.version!==meta.version){removeQuietly(paths.meta);return{reader:this.bundled,
224
- origin:"bundled",reason:REASON_BROKEN}}return{reader:readerFromTools(parsed.tools,this.bundled),origin:"server-cache",meta}}refresh(get){this.refreshPromise??=this.doRefresh(get).then(outcome=>{this.refreshState=outcome;return outcome});if(this.refreshState===void 0)this.refreshState="running";return this.refreshPromise}async doRefresh(get){if(!homeIsPrivate(this.env))return{result:"failed",detail:REASON_UNTRUSTED_HOME};const account=this.account();const meta=this.meta();const paths=toolCatalogCachePaths(
220
+ const floor=new Map;try{for(const op of(await bundled.domain(domain)).operations)floor.set(op.operationId,op)}catch{}const file={domain,operations:ops.map(op=>{const risk=stronger(op.risk,floorOf(op,floor.get(op.operationId)));return withCommonQueryParams(risk===op.risk?op:{...op,risk})})};domainCache.set(domain,file);return file}}}var ToolCatalog=class{profile;apiUrl;env;bundled;now;account;decided=null;refreshState;refreshPromise=null;constructor(opts){this.profile=opts.profile;this.apiUrl=opts.
221
+ apiUrl;this.env=opts.env??process.env;this.bundled=opts.bundled??bundledReader;this.now=opts.now??Date.now;this.account=opts.account??(()=>null)}meta(){return readMeta(this.profile,this.apiUrl,this.account(),this.env)}index(){return this.decide().reader.index()}domain(domain){return this.decide().reader.domain(domain)}status(){const refresh=this.refreshState!==void 0?{refresh:this.refreshState}:{};if(this.decided!==null){const{origin,reason,meta:meta2}=this.decided;return{origin,...reason!==void 0?
222
+ {reason}:{},...metaFields(meta2),...refresh}}if(!homeIsPrivate(this.env))return{origin:"undecided",next:"bundled",reason:REASON_UNTRUSTED_HOME,...refresh};const meta=this.meta();if(meta!==null&&!isTrustworthyCacheFile(toolCatalogCachePaths(this.profile,this.apiUrl,this.env).body)){return{origin:"undecided",next:"bundled",reason:REASON_BROKEN,...refresh}}return meta!==null?{origin:"undecided",next:"server-cache",...metaFields(meta),...refresh}:{origin:"undecided",next:"bundled",reason:REASON_NO_CACHE,
223
+ ...refresh}}decide(){if(this.decided!==null)return this.decided;this.decided=this.loadCache()??{reader:this.bundled,origin:"bundled",reason:homeIsPrivate(this.env)?REASON_NO_CACHE:REASON_UNTRUSTED_HOME};return this.decided}loadCache(){const meta=this.meta();if(meta===null)return null;const paths=toolCatalogCachePaths(this.profile,this.apiUrl,this.env);const parsed=parseToolCatalog(readTrustedJson(paths.body,this.env));if(parsed===null||parsed.version!==meta.version){removeQuietly(paths.meta);return{
224
+ reader:this.bundled,origin:"bundled",reason:REASON_BROKEN}}return{reader:readerFromTools(parsed.tools,this.bundled),origin:"server-cache",meta}}refresh(get){this.refreshPromise??=this.doRefresh(get).then(outcome=>{this.refreshState=outcome;return outcome});if(this.refreshState===void 0)this.refreshState="running";return this.refreshPromise}async doRefresh(get){if(!homeIsPrivate(this.env))return{result:"failed",detail:REASON_UNTRUSTED_HOME};const account=this.account();const meta=this.meta();const paths=toolCatalogCachePaths(
225
225
  this.profile,this.apiUrl,this.env);const since=meta!==null&&isTrustworthyCacheFile(paths.body)?meta.version:null;let raw;try{raw=await get(TOOL_CATALOG_PATH,since!==null?{since}:void 0)}catch(err){const status=statusOf(err);if(status===304&&meta!==null){try{await this.locked(paths.lock,async()=>{if(this.meta()?.version===meta.version)this.writeMeta(paths.meta,{...meta,checked_at:this.iso(),last_result:"not-modified"})})}catch{}return{result:"not-modified"}}if(status===404||status===401||status===
226
226
  403||isAuthError(err)){removeQuietly(paths.meta);removeQuietly(paths.body);return{result:"unavailable",detail:status!==null?`\u30B5\u30FC\u30D0\u304C ${status} \u3092\u8FD4\u3057\u307E\u3057\u305F`:"\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u307E\u305B\u3093"}}return{result:"failed",detail:status!==null?`\u30B5\u30FC\u30D0\u304C ${status} \u3092\u8FD4\u3057\u307E\u3057\u305F`:`\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF08${messageOf(err)}\uFF09`}}const parsed=parseToolCatalog(raw);if(parsed===
227
227
  null)return{result:"failed",detail:"\u30B5\u30FC\u30D0\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u9055\u3044\u307E\u3059"};try{ensureTwpHome(this.env);await this.locked(paths.lock,async()=>{writePrivateFileAtomic(paths.body,JSON.stringify({version:parsed.version,catalog_version:parsed.catalogVersion,tools:parsed.tools}));const at=this.iso();this.writeMeta(paths.meta,{version:parsed.version,profile:this.profile,api_url:this.apiUrl,account,catalog_version:parsed.catalogVersion,tool_count:parsed.tools.length,
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-BEUPNDJE.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-U6REFY7T.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-4DOPQ74T.js";
3
+ import{loadDomain}from"./chunk-SLZ3KVFA.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-U6REFY7T.js";import{NO_REDACT_NOTICE,withCommonFlags}from"./chunk-W4NLJ2YK.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-BD7O73GK.js";import{parseOperationArgs}from"./chunk-VGT2EGH6.js";import{Resolver,requireDefaultProject}from"./chunk-4DOPQ74T.js";
4
4
  import{ResolveError}from"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,EXIT_WAIT_TIMEOUT,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";
5
5
  import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredBacklogSpace,resolveConfiguredOutput,resolveProfile}from"./chunk-EDF4U5BT.js";import{HELP_TOKEN}from"./chunk-6FI4ZMZ7.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-74BPZOKU.js";import{stringWidth}from"./chunk-UREA4ZIG.js";
6
6
  import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";function alignedList(entries,indent=" "){const width=entries.reduce((max,[left])=>Math.max(max,stringWidth(left)),0);return entries.map(([left,right])=>`${indent}${left}${" ".repeat(Math.max(0,width-stringWidth(left)))} ${right}`).join("\n")}function subresourcesOf(resource){return resource.subresources??[]}function renderResourceHelp(resource,path2){const subresources=subresourcesOf(resource);const operationSection=resource.operations.length===0?"":`
@@ -4,10 +4,10 @@ var LOADERS={agent:async()=>(await import("./agent-MFCLZCFG.js")).agentDomain,"a
4
4
  attendanceDomainWithRecords,"audit-log":async()=>(await import("./audit-log-ZGK7IVLD.js")).auditLogDomain,backlog:async()=>(await import("./backlog-73FLZLQW.js")).backlogDomain,budget:async()=>(await import("./budget-QIFM3KZ3.js")).budgetDomain,"business-hours":async()=>(await import("./business-hours-37MRL53C.js")).businessHoursDomain,"business-place":async()=>(await import("./sales-master-G3PPJOV7.js")).businessPlaceDomain,company:async()=>(await import("./company-IOQQLLSX.js")).companyDomain,
5
5
  contract:async()=>(await import("./contract-V6O2IGF4.js")).contractDomain,customer:async()=>(await import("./company-IOQQLLSX.js")).customerDomain,department:async()=>(await import("./department-5V4W37PU.js")).departmentDomain,deposit:async()=>(await import("./deposit-CQ7GTE2G.js")).depositDomain,estimate:async()=>(await import("./estimate-KTNJQVEX.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-5INGXWOV.js")).evaluationDomain,expense:async()=>(await import("./expense-Y64AELQA.js")).
6
6
  expenseDomain,faq:async()=>(await import("./faq-W5MZAWGB.js")).faqDomain,"fiscal-year":async()=>(await import("./fiscal-year-CVYFYGRR.js")).fiscalYearDomain,holiday:async()=>(await import("./holiday-P6BSJPAX.js")).holidayDomain,"goal-sheet":async()=>(await import("./evaluation-5INGXWOV.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-HNUCPZTJ.js")).inquiryDomain,invoice:async()=>(await import("./invoice-HSX6BWOM.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-LEHO7TBW.js")).
7
- jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-YZCNJPFF.js")).knowledgeDomain,leave:async()=>(await import("./leave-KJ45TLXB.js")).leaveDomain,license:async()=>(await import("./license-S35KLEJW.js")).licenseDomain,"login-history":async()=>(await import("./login-history-RCUHEEYE.js")).loginHistoryDomain,media:async()=>(await import("./media-GXTZJ5L4.js")).mediaDomain,meeting:async()=>(await import("./knowledge-E6Y4NB6R.js")).meetingDomain,note:async()=>(await import("./knowledge-E6Y4NB6R.js")).
8
- noteDomain,notification:async()=>(await import("./notification-BE6KRW5R.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-DLEA27PZ.js")).outlookDomain,payee:async()=>(await import("./sales-master-G3PPJOV7.js")).payeeDomain,position:async()=>(await import("./position-YAC32O37.js")).positionDomain,project:async()=>(await import("./project-2MWLBXAB.js")).projectDomain,prospect:async()=>(await import("./prospect-4YJNVVFV.js")).
7
+ jobTitleDomain,knowledge:async()=>(await import("./domain-knowledge-YZCNJPFF.js")).knowledgeDomain,leave:async()=>(await import("./leave-KJ45TLXB.js")).leaveDomain,license:async()=>(await import("./license-S35KLEJW.js")).licenseDomain,"login-history":async()=>(await import("./login-history-RCUHEEYE.js")).loginHistoryDomain,media:async()=>(await import("./media-J475DUVM.js")).mediaDomain,meeting:async()=>(await import("./knowledge-E6Y4NB6R.js")).meetingDomain,note:async()=>(await import("./knowledge-E6Y4NB6R.js")).
8
+ noteDomain,notification:async()=>(await import("./notification-BE6KRW5R.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-Z43D26SJ.js")).onedriveDomain,outlook:async()=>(await import("./outlook-DLEA27PZ.js")).outlookDomain,payee:async()=>(await import("./sales-master-G3PPJOV7.js")).payeeDomain,position:async()=>(await import("./position-YAC32O37.js")).positionDomain,project:async()=>(await import("./project-XOQNM7DP.js")).projectDomain,prospect:async()=>(await import("./prospect-4YJNVVFV.js")).
9
9
  prospectDomain,purchase:async()=>(await import("./purchase-F5BTLU5F.js")).purchaseDomain,qualification:async()=>(await import("./skill-T3K5DD7P.js")).qualificationDomain,receivable:async()=>(await import("./receivable-Q4GDHNWE.js")).receivableDomain,redmine:async()=>(await import("./redmine-THH5YMND.js")).redmineDomain,report:async()=>(await import("./report-6RE4IZQW.js")).reportDomain,"role-template":async()=>(await import("./evaluation-5INGXWOV.js")).roleTemplateDomain,"rou\
10
10
  nding-setting":async()=>(await import("./sales-numbering-VTK6WTHT.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-G3PPJOV7.js")).sealImpressionDomain,search:async()=>(await import("./search-IJEAEZ42.js")).searchDomain,secret:async()=>(await import("./secret-P42JCOI4.js")).secretDomain,segment:async()=>(await import("./segment-PTTW7IJM.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-5U63THUW.js")).shiftDomain,skill:async()=>(await import("./skill-T3K5DD7P.js")).
11
- skillDomain,"staffing-board":async()=>(await import("./staffing-board-5K35Z4O5.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-ZQNQIJQ6.js")).supplierPaymentDomain,support:async()=>(await import("./support-W7HQFZMG.js")).supportDomain,task:async()=>(await import("./task-L5FDVVIT.js")).taskDomain,teams:async()=>(await import("./teams-3ZI6ZY3F.js")).teamsDomain,user:async()=>(await import("./user-ECG5E32W.js")).
11
+ skillDomain,"staffing-board":async()=>(await import("./staffing-board-S6VXUPEX.js")).staffingBoardDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-ZQNQIJQ6.js")).supplierPaymentDomain,support:async()=>(await import("./support-W7HQFZMG.js")).supportDomain,task:async()=>(await import("./task-L5FDVVIT.js")).taskDomain,teams:async()=>(await import("./teams-3ZI6ZY3F.js")).teamsDomain,user:async()=>(await import("./user-6IYB3OJE.js")).
12
12
  userDomain,"user-contract-type":async()=>(await import("./user-contract-type-XM4G3TX5.js")).userContractTypeDomain,"user-group":async()=>(await import("./user-group-YKFYJ5C2.js")).userGroupDomain,wiki:async()=>(await import("./knowledge-E6Y4NB6R.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-5U63THUW.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-PFN36I6X.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-PP3APD56.js")).workflowDomain};
13
13
  async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
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-RFXIPNKG.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-B2D2NO5H.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.97.2":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-RFXIPNKG.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-B2D2NO5H.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.99.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
@@ -257,6 +257,10 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
257
257
  \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
258
258
  twp project evaluation create <\u30B3\u30FC\u30C9|ID>
259
259
  \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
260
+ twp project auto-assign get
261
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210\u6642\u306E\u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u306E\u8A2D\u5B9A\u3092\u898B\u308B\uFF08\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306E\u307F\uFF09
262
+ twp project auto-assign set [--enabled <true|false>] [--project <\u30B3\u30FC\u30C9>]\u2026 [--department <\u90E8\u7F72>]\u2026
263
+ \u30E1\u30F3\u30D0\u30FC\u81EA\u52D5\u8FFD\u52A0\u306E\u8A2D\u5B9A\u3092\u5909\u3048\u308B\uFF08\u6307\u5B9A\u3057\u306A\u3044\u9805\u76EE\u306F\u3044\u307E\u306E\u5024\u306E\u307E\u307E\uFF09
260
264
  twp project template list
261
265
  \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B
262
266
  twp project template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8>
@@ -1567,16 +1571,16 @@ TUI \u5185:
1567
1571
  \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
1568
1572
  `;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
1569
1573
  `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-3GV3BK5P.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-2JMIYGIB.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1570
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-E4TNSUNA.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-XPULH6FO.js");process.exitCode=
1574
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-5ACTRYN2.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-XPULH6FO.js");process.exitCode=
1571
1575
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1572
1576
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-3TVY2VVM.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: ${formatUnknownArgs(args.unknown)}
1573
1577
 
1574
- ${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-7Q3XLJFT.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1575
- {},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-STY4LFJG.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1578
+ ${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-CX7LUVBB.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1579
+ {},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-VDEHGVMH.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1576
1580
  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-2N3V64AA.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-CARE564N.js");
1577
1581
  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-AJQKYINQ.js");process.exitCode=await runTaskLoop(
1578
1582
  {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.
1579
1583
  charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,orientationOp:args.orientationOp,orientationArgs:args.orientationArgs,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.
1580
- runnerTargetId,triggerOp:args.triggerOp,triggerId:args.triggerId,triggerKey:args.triggerKey,triggerLimit:args.triggerLimit,planEmpty:args.planEmpty,planCheck:args.planCheck,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-JAA46MUA.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.
1581
- permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-XFKEG3JB.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||
1584
+ runnerTargetId,triggerOp:args.triggerOp,triggerId:args.triggerId,triggerKey:args.triggerKey,triggerLimit:args.triggerLimit,planEmpty:args.planEmpty,planCheck:args.planCheck,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-ZG65R6KG.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.
1585
+ permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-3RAQDCXW.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||
1582
1586
  !process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{checkOutTarget}from"./chunk-T6ARS4Y3.js";import"./chunk-BEUPNDJE.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-U6REFY7T.js";import{contentTypeFor,inspectLocalFile}from"./chunk-JULG6KDV.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
3
+ import{checkOutTarget}from"./chunk-HOCPACZF.js";import"./chunk-SLZ3KVFA.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-U6REFY7T.js";import{contentTypeFor,inspectLocalFile}from"./chunk-JULG6KDV.js";import{checkUploadQuota}from"./chunk-V64CGX7V.js";import{parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import"./chunk-RMFLTSOV.js";import{readBody}from"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";
4
4
  import"./chunk-BD7O73GK.js";import{repeatedValues}from"./chunk-VGT2EGH6.js";import"./chunk-4DOPQ74T.js";import{collapsesInUrlPath,isSafePathSegment}from"./chunk-HVZUXLQ4.js";import{ApiError}from"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger,readEnvelopeCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";
5
5
  import{acknowledgement,isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import"./chunk-PECIBNFD.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-OKATZ4SN.js";import"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
6
6
  import"./chunk-VSJBJXZO.js";import crypto2 from"crypto";import fs2 from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var UUID=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;var FORBIDDEN_NAME=/[/\\:*?"<>|]/;var NAME_MAX=255;var ROW_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","updated_at"];var TRASH_COLUMNS=["id","path","name","file_count","subfolder_count","parent_id","deleted_at"];function folderRows(raw){return raw.map(row=>{const id=row["id"];const name=row["name"];const parentId=row["parent_id"];if(typeof id!==
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,displayCwd,residentInputs,runTurn}from"./chunk-6HBZRMDD.js";import"./chunk-NZ7WI4RZ.js";import"./chunk-N2UVRM3Z.js";import"./chunk-BD7O73GK.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";
3
+ import{activateModeFiles,activatePermissionSettings,buildResidentSet,buildSystemPrompt,createAuditLogger,createTwpToolkit,currentBranch,displayCwd,residentInputs,runTurn}from"./chunk-FZ55A6NN.js";import"./chunk-CDAU3M7F.js";import"./chunk-N2UVRM3Z.js";import"./chunk-BD7O73GK.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-VFPY2A23.js";
4
4
  import{RelayError,createRuntime,pickModel,specFor}from"./chunk-PJ7IKTZI.js";import"./chunk-D233KKXW.js";import"./chunk-PMOUHEJQ.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import{checkMinSupportedVersion,enforceMinSupportedVersion,floorNeedsRefresh}from"./chunk-DXXFUNYN.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import{getMode}from"./chunk-2LOT54OO.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";
5
5
  import"./chunk-VSJBJXZO.js";async function runOneShot(opts,deps={}){const out=deps.out??(text=>void process.stdout.write(stripTerminalControls(text)));const err=deps.err??(text=>void process.stderr.write(stripTerminalControls(text)));activateModeFiles(err);const permissionLayers=activatePermissionSettings(err,{...opts.allowedTools?{allowedTools:opts.allowedTools}:{},...opts.disallowedTools?{disallowedTools:opts.disallowedTools}:{}});const prompt=opts.fromStdin?await(deps.readStdin??readStdin)():opts.prompt;if(prompt.trim()===
6
6
  ""){err('\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u7A7A\u3067\u3059\u3002`twp -p "\u8CEA\u554F"`\uFF08`-p -` \u3067\u6A19\u6E96\u5165\u529B\uFF09\n');return 2}const runtime=deps.runtime??createRuntime({...opts.profile!==void 0?{profile:opts.profile}:{},...opts.model!==void 0?{model:opts.model}:{},cliVersion:opts.version});const cachedFloor=runtime.loadCachedFloor();if(await checkMinSupportedVersion({current:opts.version,cachedFloor:cachedFloor.minSupportedVersion,refresh:async()=>(await runtime.loadCatalog()).
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems,projectDomain}from"./chunk-C6AOVOVD.js";import"./chunk-Q3B65OFC.js";import"./chunk-FBTOIECJ.js";import"./chunk-TQ7TNMW5.js";import"./chunk-7KU2EXEE.js";import"./chunk-UVCJXHWN.js";import"./chunk-45WIRMGL.js";import"./chunk-EXT4AIDF.js";import"./chunk-JJSBBWJ5.js";import"./chunk-HEH3PUW2.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";
4
+ import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.js";import"./chunk-PS5QFKHB.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-OKATZ4SN.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{ASSIGNED_PROJECT_COLUMNS,assignedProjectItems,projectDomain};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-BEUPNDJE.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
3
+ import{loadDomain}from"./chunk-SLZ3KVFA.js";import"./chunk-VSJBJXZO.js";export{loadDomain};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-T6ARS4Y3.js";import"./chunk-BEUPNDJE.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-U6REFY7T.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
3
+ import{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain}from"./chunk-HOCPACZF.js";import"./chunk-SLZ3KVFA.js";import"./chunk-Q3B65OFC.js";import"./chunk-GFLGXGWE.js";import"./chunk-U6REFY7T.js";import"./chunk-W4NLJ2YK.js";import"./chunk-BD7O73GK.js";import"./chunk-VGT2EGH6.js";import"./chunk-4DOPQ74T.js";import"./chunk-HVZUXLQ4.js";import"./chunk-JA5A6UJ2.js";
4
4
  import"./chunk-MMVXE2CJ.js";import"./chunk-II5RVJQN.js";import"./chunk-MI6HVYR2.js";import"./chunk-3ZRMMBP5.js";import"./chunk-VFPY2A23.js";import"./chunk-PECIBNFD.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-EDF4U5BT.js";import"./chunk-RZVI6PMW.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-OKATZ4SN.js";import"./chunk-74BPZOKU.js";import"./chunk-UREA4ZIG.js";import"./chunk-NHYMHCAT.js";
5
5
  import"./chunk-VSJBJXZO.js";export{CURATED_PAGING_VOCABULARY,buildPrepareContext,checkOutTarget,exitCodeFor,fetchAllPages,outputValue,reportError,requiresYes,resolvePaging,runDomain};