@tocca-systems/twp-cli 0.96.1 → 0.97.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 (159) hide show
  1. package/CHANGELOG.public.md +10 -0
  2. package/README.md +32 -0
  3. package/command-model/_routes.json +303 -5
  4. package/command-model/accounting-master.json +22 -0
  5. package/command-model/agent-loop.json +33 -3
  6. package/command-model/ai-token-usage.json +1 -1
  7. package/command-model/ai-training-attempt.json +9 -0
  8. package/command-model/ai-training-program.json +7 -0
  9. package/command-model/analysis-alert-threshold.json +7 -0
  10. package/command-model/analysis-page-access-rule.json +2 -2
  11. package/command-model/analysis.json +2 -1
  12. package/command-model/announcement.json +4 -0
  13. package/command-model/attendance-report-reason-detail.json +1 -1
  14. package/command-model/attendance-report-reason.json +1 -1
  15. package/command-model/attendance-report.json +1 -1
  16. package/command-model/audit-log.json +2 -2
  17. package/command-model/badge.json +2 -0
  18. package/command-model/budget.json +4 -4
  19. package/command-model/cash-flow.json +6 -0
  20. package/command-model/chat-channel.json +8 -3
  21. package/command-model/chat-mention-group.json +1 -1
  22. package/command-model/chat-message.json +17 -2
  23. package/command-model/chat-presence.json +11 -0
  24. package/command-model/chat-scheduled-message.json +9 -0
  25. package/command-model/chat.json +6 -0
  26. package/command-model/cli-tool-catalog.json +6 -0
  27. package/command-model/commuting-expense.json +1 -0
  28. package/command-model/company.json +3 -2
  29. package/command-model/container-agent-schedule.json +14 -0
  30. package/command-model/contract.json +4 -3
  31. package/command-model/customer-people.json +1 -1
  32. package/command-model/department.json +3 -3
  33. package/command-model/deposit.json +2 -1
  34. package/command-model/device-token.json +7 -0
  35. package/command-model/domain-knowledge-doc.json +3 -3
  36. package/command-model/dynamo-attachment.json +1 -0
  37. package/command-model/dynamo-inquiry.json +3 -1
  38. package/command-model/dynamo-support.json +1 -1
  39. package/command-model/estimate-case-document.json +3 -2
  40. package/command-model/estimate.json +11 -5
  41. package/command-model/evaluation.json +3 -3
  42. package/command-model/expense-report.json +19 -0
  43. package/command-model/expense-settings.json +1 -1
  44. package/command-model/faq.json +3 -2
  45. package/command-model/goal-sheet.json +5 -4
  46. package/command-model/google-auth.json +1 -1
  47. package/command-model/hearing.json +1 -1
  48. package/command-model/hr-checklist.json +1 -0
  49. package/command-model/index.json +81 -41
  50. package/command-model/inquiry-routing.json +3 -1
  51. package/command-model/invoice.json +3 -3
  52. package/command-model/license-type.json +2 -2
  53. package/command-model/master-support.json +3 -3
  54. package/command-model/master-tenant.json +4 -4
  55. package/command-model/media-file.json +3 -2
  56. package/command-model/media-folder.json +3 -3
  57. package/command-model/meeting-template.json +2 -2
  58. package/command-model/meeting.json +6 -4
  59. package/command-model/microsoft-auth.json +1 -1
  60. package/command-model/microsoft-graph-proxy-v2.json +42 -0
  61. package/command-model/my-ai-training.json +7 -0
  62. package/command-model/note.json +1 -1
  63. package/command-model/notification.json +1 -1
  64. package/command-model/organization-announcement.json +3 -2
  65. package/command-model/private-agent-loop.json +21 -6
  66. package/command-model/private-task.json +4 -2
  67. package/command-model/profit-analysis.json +2 -2
  68. package/command-model/project-evaluation.json +3 -3
  69. package/command-model/project-inventory-continuation.json +6 -0
  70. package/command-model/project-inventory-overview.json +6 -0
  71. package/command-model/project-inventory-request.json +7 -0
  72. package/command-model/project-inventory-settings.json +7 -0
  73. package/command-model/project-member.json +3 -3
  74. package/command-model/project-status-report-project.json +6 -0
  75. package/command-model/project-status-report-settings.json +7 -0
  76. package/command-model/project-task-attachment.json +7 -0
  77. package/command-model/project-task-category.json +2 -2
  78. package/command-model/project-task-label.json +2 -2
  79. package/command-model/project-task-link.json +3 -2
  80. package/command-model/project-task-milestone.json +2 -2
  81. package/command-model/project-task-status.json +2 -2
  82. package/command-model/project-task-type.json +2 -2
  83. package/command-model/project-task-version.json +2 -2
  84. package/command-model/project-task-watcher.json +2 -2
  85. package/command-model/project-task.json +3 -3
  86. package/command-model/project-team-chat.json +8 -0
  87. package/command-model/project.json +5 -5
  88. package/command-model/purchase-ai-field-mapping.json +2 -2
  89. package/command-model/purchase-document.json +1 -0
  90. package/command-model/purchase.json +2 -2
  91. package/command-model/receivable.json +1 -1
  92. package/command-model/recreation-club.json +11 -0
  93. package/command-model/report.json +5 -5
  94. package/command-model/retrospective.json +1 -1
  95. package/command-model/role-template.json +1 -1
  96. package/command-model/sales-default-recipient-set.json +10 -0
  97. package/command-model/sales-pdf.json +2 -1
  98. package/command-model/sales-recent-recipient.json +6 -0
  99. package/command-model/sales-setting.json +11 -0
  100. package/command-model/skill-analytics.json +1 -1
  101. package/command-model/skill-evaluation-record.json +1 -0
  102. package/command-model/skill-micro-feedback.json +1 -0
  103. package/command-model/skill.json +1 -1
  104. package/command-model/sns-connection.json +10 -0
  105. package/command-model/staff-kpi-setting.json +1 -1
  106. package/command-model/staff-kpi.json +1 -0
  107. package/command-model/staffing-board-cell.json +7 -0
  108. package/command-model/staffing-board-note.json +8 -0
  109. package/command-model/staffing-board-snapshot.json +10 -0
  110. package/command-model/staffing-board-tentative-assignment.json +12 -0
  111. package/command-model/staffing-board-tentative-import.json +7 -0
  112. package/command-model/staffing-plan.json +4 -2
  113. package/command-model/statutory-rate-set.json +14 -0
  114. package/command-model/supplier-payment.json +2 -2
  115. package/command-model/survey-tracker.json +1 -1
  116. package/command-model/survey.json +1 -0
  117. package/command-model/teams-link.json +9 -0
  118. package/command-model/tenant-rate-override.json +8 -0
  119. package/command-model/tenant-settings.json +2 -2
  120. package/command-model/token.json +1 -1
  121. package/command-model/training-attendance.json +1 -1
  122. package/command-model/training-session.json +1 -1
  123. package/command-model/unified-search.json +1 -1
  124. package/command-model/user-api-key.json +2 -2
  125. package/command-model/user-contract-type.json +2 -2
  126. package/command-model/user-group.json +1 -0
  127. package/command-model/user-invitation.json +2 -2
  128. package/command-model/user-list-display-setting.json +7 -0
  129. package/command-model/user-list-item-order.json +7 -0
  130. package/command-model/user-management.json +3 -3
  131. package/command-model/user-recent-work.json +8 -0
  132. package/command-model/video-generation.json +2 -2
  133. package/command-model/wiki-collection.json +2 -2
  134. package/command-model/wiki.json +3 -1
  135. package/command-model/worker-agent-run.json +1 -0
  136. package/command-model/worker-agent.json +3 -3
  137. package/command-model/workflow-approval-delegation.json +1 -0
  138. package/command-model/workflow-approval.json +1 -0
  139. package/command-model/workflow-attachment-pdf-preview.json +6 -0
  140. package/command-model/workflow-comment-attachment.json +8 -0
  141. package/command-model/workflow-estimate-input.json +9 -0
  142. package/command-model/workflow-instance.json +3 -2
  143. package/command-model/workflow.json +3 -2
  144. package/dist/{app-JXSWS4S5.js → app-WICUAA5V.js} +2 -2
  145. package/dist/{schedule-def-command-OFCA5VH3.js → chunk-76WVQ45F.js} +2 -2
  146. package/dist/chunk-B2D2NO5H.js +13 -0
  147. package/dist/{chunk-TESDN34O.js → chunk-J6A575H2.js} +12 -9
  148. package/dist/chunk-RFXIPNKG.js +56 -0
  149. package/dist/cli.js +24 -6
  150. package/dist/{commands-LQNIOT7B.js → commands-HKSBT5YG.js} +32 -30
  151. package/dist/{completion-TQIXRYIP.js → completion-2JMIYGIB.js} +5 -5
  152. package/dist/{dispatch-E3WXF4PH.js → dispatch-3TVY2VVM.js} +1 -1
  153. package/dist/{plan-submit-JKLAR5US.js → plan-submit-4LAFJQP4.js} +1 -1
  154. package/dist/schedule-def-command-QZB4FGWV.js +3 -0
  155. package/dist/trigger-command-35FDCYT7.js +77 -0
  156. package/package.json +1 -1
  157. package/command-model/prospect-activity.json +0 -10
  158. package/dist/chunk-FKTYYARF.js +0 -51
  159. package/dist/chunk-TJQZYYG3.js +0 -13
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "domain": "workflow-instance",
3
3
  "operations": [
4
- {"name":"apply","domain":"workflow-instance","operationId":"workflowInstance.apply","method":"POST","path":"/v2/workflows/instances/{id}/apply","summary":"申請を実行","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"title":{"type":"string","maxLength":255},"form_data":{"type":"array","items":{"type":"string"}},"comment":{"type":["string","null"],"maxLength":2000}}}},"resultPath":"","risk":"write","aliases":[]},
4
+ {"name":"apply","domain":"workflow-instance","operationId":"workflowInstance.apply","method":"POST","path":"/v2/workflows/instances/{id}/apply","summary":"申請を実行","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"title":{"type":"string","maxLength":255},"form_data":{"type":"array","items":{"type":"string"}},"comment":{"type":["string","null"],"maxLength":2000},"extra_approvers":{"type":["array","null"],"items":{"type":"object","properties":{"user_id":{"type":"string"},"anchor_step_no":{"type":"integer","minimum":1},"placement":{"type":"string","enum":["before","after"]}},"required":["user_id","anchor_step_no","placement"]}}}}},"resultPath":"","risk":"write","aliases":[]},
5
+ {"name":"comment","domain":"workflow-instance","operationId":"workflowInstance.comment","method":"POST","path":"/v2/workflows/instances/{id}/comments","summary":"承認・差し戻し等の操作をせずに、申請へコメントだけを残す","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"comment":{"type":"string","maxLength":2000},"mentioned_user_ids":{"type":"array","items":{"type":["string","null"],"maxLength":200},"maxItems":50},"attachment_ids":{"type":"array","items":{"type":"string","maxLength":200},"maxItems":10}},"required":["comment"],"title":"StoreWorkflowInstanceCommentRequest"}},"resultPath":null,"risk":"write","aliases":[]},
5
6
  {"name":"create","domain":"workflow-instance","operationId":"workflowInstance.store","method":"POST","path":"/v2/workflows/instances","summary":"申請を作成(下書き)","pathParams":[],"queryParams":[],"body":{"schema":{"type":"object","properties":{"workflow_id":{"type":"string"},"title":{"type":"string","maxLength":255},"form_data":{"type":"array","items":{"type":"string"}}},"required":["workflow_id"]}},"resultPath":"","risk":"write","aliases":[]},
6
7
  {"name":"delete","domain":"workflow-instance","operationId":"workflowInstance.destroy","method":"DELETE","path":"/v2/workflows/instances/{id}","summary":"申請を削除(下書きまたは差し戻し状態)","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":null,"resultPath":"","risk":"destructive","aliases":[]},
7
8
  {"name":"get","domain":"workflow-instance","operationId":"workflowInstance.show","method":"GET","path":"/v2/workflows/instances/{id}","summary":"申請詳細を取得","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":null,"risk":"read","aliases":[]},
8
9
  {"name":"history","domain":"workflow-instance","operationId":"workflowInstance.history","method":"GET","path":"/v2/workflows/history","summary":"承認履歴一覧を取得(ページネーション対応)","pathParams":[],"queryParams":[{"name":"workflow_id","type":["string","null"],"required":false,"description":"ワークフロー(申請の種類)IDで絞り込む","source":"spec"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"},{"name":"status","type":"string","required":false,"description":"申請の状態で絞り込む","source":"spec"},{"name":"keyword","type":"string","required":false,"description":"キーワードで絞り込む","source":"spec"},{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"}],"body":null,"resultPath":"items","risk":"read","aliases":[]},
9
- {"name":"list","domain":"workflow-instance","operationId":"workflowInstance.index","method":"GET","path":"/v2/workflows/instances","summary":"自分の申請一覧を取得(ページネーション対応)","pathParams":[],"queryParams":[{"name":"workflow_id","type":["string","null"],"required":false,"description":"ワークフロー(申請の種類)IDで絞り込む","source":"spec"},{"name":"status","type":"string","required":false,"description":"申請の状態で絞り込む","source":"spec"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"},{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"}],"body":null,"resultPath":"items","risk":"read","aliases":[]},
10
+ {"name":"list","domain":"workflow-instance","operationId":"workflowInstance.index","method":"GET","path":"/v2/workflows/instances","summary":"自分の申請一覧を取得(ページネーション対応)","pathParams":[],"queryParams":[{"name":"workflow_id","type":["string","null"],"required":false,"description":"ワークフロー(申請の種類)IDで絞り込む","source":"spec"},{"name":"workflow_ids","type":["string","null"],"required":false,"source":"spec"},{"name":"status","type":"string","required":false,"description":"申請の状態で絞り込む","source":"spec"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"},{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"}],"body":null,"resultPath":"items","risk":"read","aliases":[]},
10
11
  {"name":"update","domain":"workflow-instance","operationId":"workflowInstance.update","method":"PUT","path":"/v2/workflows/instances/{id}","summary":"申請を更新(下書き状態のみ)","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"title":{"type":"string","maxLength":255},"form_data":{"type":"array","items":{"type":"string"}}}}},"resultPath":"","risk":"write","aliases":[]}
11
12
  ]
12
13
  }
@@ -3,12 +3,13 @@
3
3
  "operations": [
4
4
  {"name":"applicable-by-category","domain":"workflow","operationId":"workflow.applicableByCategory","method":"GET","path":"/v2/workflows/applicable/{category}","summary":"カテゴリ別の申請可能なワークフロー一覧を取得(is_hidden無視)","pathParams":[{"name":"category","type":"string","required":true,"source":"spec"}],"queryParams":[{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":"list","risk":"read","aliases":[]},
5
5
  {"name":"applicable-list","domain":"workflow","operationId":"workflow.applicableList","method":"GET","path":"/v2/workflows/applicable","summary":"申請可能なワークフロー一覧を取得","pathParams":[],"queryParams":[{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":"list","risk":"read","aliases":[]},
6
+ {"name":"applicant-profile","domain":"workflow","operationId":"workflow.applicantProfile","method":"GET","path":"/v2/workflows/applicant-profile","summary":"申請者本人の自動入力値を取得する","pathParams":[],"queryParams":[{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":"","risk":"read","aliases":[]},
6
7
  {"name":"approver-preview","domain":"workflow","operationId":"workflow.approverPreview","method":"POST","path":"/v2/workflows/approver-preview","summary":"承認者条件のプレビュー: 現時点で該当する承認者を解決して返す","pathParams":[],"queryParams":[],"body":{"schema":{"type":"object","properties":{"approver_condition_set":{"type":"object","properties":{"condition_groups":{"type":"array","items":{"type":"string"}}}}},"required":["approver_condition_set"]}},"resultPath":"","risk":"write","aliases":[]},
7
- {"name":"create","domain":"workflow","operationId":"workflow.store","method":"POST","path":"/v2/workflows","summary":"ワークフロー定義を作成","pathParams":[],"queryParams":[],"body":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_description":{"type":["string","null"],"maxLength":2000},"default_title":{"type":["string","null"],"maxLength":255},"status":{"type":"string","enum":["active","inactive","draft"]},"defined_category":{"type":["string","null"],"maxLength":100},"form_definition":{"type":"array","items":{"type":"string"}},"target_condition_set":{"type":"array","items":{"type":"string"}},"valid_from":{"type":["string","null"],"format":"date"},"valid_to":{"type":["string","null"],"format":"date"},"sort":{"type":"integer","minimum":0},"is_hidden":{"type":"boolean"},"auto_skip_same_approver":{"type":"boolean"},"view_permission_condition_set":{"type":"array","items":{"type":"string"}},"equipment_category_ids":{"type":"array","items":{"type":"string","maxLength":36}},"steps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_condition_set":{"type":"array","items":{"type":"string"},"minItems":1},"notification_usergroup_ids":{"type":"array","items":{"type":"string"}},"is_final_step":{"type":"boolean"},"fallback_approver_user_id":{"type":["string","null"],"maxLength":255},"reminder_days":{"type":["integer","null"],"minimum":1,"maximum":365},"escalation_days":{"type":["integer","null"],"minimum":1,"maximum":365},"prohibit_same_approver":{"type":"boolean"}},"required":["name","approver_condition_set"]}}},"required":["name"]}},"resultPath":"","risk":"write","aliases":[]},
8
+ {"name":"create","domain":"workflow","operationId":"workflow.store","method":"POST","path":"/v2/workflows","summary":"ワークフロー定義を作成","pathParams":[],"queryParams":[],"body":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_description":{"type":["string","null"],"maxLength":2000},"default_title":{"type":["string","null"],"maxLength":255},"status":{"type":"string","enum":["active","inactive","draft"]},"defined_category":{"type":["string","null"],"maxLength":100},"form_definition":{"type":"array","items":{"type":"string"}},"target_condition_set":{"type":"array","items":{"type":"string"}},"valid_from":{"type":["string","null"],"format":"date"},"valid_to":{"type":["string","null"],"format":"date"},"sort":{"type":"integer","minimum":0},"is_hidden":{"type":"boolean"},"auto_skip_same_approver":{"type":"boolean"},"require_pre_submit_ai_review":{"type":"boolean"},"allow_extra_approvers":{"type":"boolean"},"view_permission_condition_set":{"type":"array","items":{"type":"string"}},"equipment_category_ids":{"type":"array","items":{"type":"string","maxLength":36}},"steps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_condition_set":{"type":"array","items":{"type":"string"},"minItems":1},"notification_usergroup_ids":{"type":"array","items":{"type":"string"}},"is_final_step":{"type":"boolean"},"fallback_approver_user_id":{"type":["string","null"],"maxLength":255},"reminder_days":{"type":["integer","null"],"minimum":1,"maximum":365},"escalation_days":{"type":["integer","null"],"minimum":1,"maximum":365},"prohibit_same_approver":{"type":"boolean"},"apply_condition":{"type":["object","null"],"properties":{"metric":{"type":"string","maxLength":100},"operator":{"type":"string","enum":["gte","lt"]},"value":{"type":"integer","minimum":0}}}},"required":["name","approver_condition_set"]}}},"required":["name"]}},"resultPath":"","risk":"write","aliases":[]},
8
9
  {"name":"delete","domain":"workflow","operationId":"workflow.destroy","method":"DELETE","path":"/v2/workflows/{id}","summary":"ワークフロー定義を削除","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":null,"resultPath":"","risk":"destructive","aliases":[]},
9
10
  {"name":"get","domain":"workflow","operationId":"workflow.show","method":"GET","path":"/v2/workflows/{id}","summary":"ワークフロー定義詳細を取得","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":"","risk":"read","aliases":[]},
10
11
  {"name":"list","domain":"workflow","operationId":"workflow.index","method":"GET","path":"/v2/workflows","summary":"ワークフロー定義一覧を取得","pathParams":[],"queryParams":[{"name":"status","type":"string","required":false,"source":"spec"},{"name":"category","type":"string","required":false,"source":"spec"},{"name":"limit","type":"integer","required":false,"description":"1ページあたりの件数","source":"curation"},{"name":"cursor","type":"string","required":false,"description":"次ページの取得に使うカーソル","source":"curation"}],"body":null,"resultPath":"list","risk":"read","aliases":[]},
11
12
  {"name":"recalculate-candidates","domain":"workflow","operationId":"workflow.recalculateCandidates","method":"POST","path":"/v2/workflows/{id}/recalculate-candidates","summary":"承認候補者を再計算する","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":null,"resultPath":"","risk":"write","aliases":[]},
12
- {"name":"update","domain":"workflow","operationId":"workflow.update","method":"PUT","path":"/v2/workflows/{id}","summary":"ワークフロー定義を更新","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_description":{"type":["string","null"],"maxLength":2000},"default_title":{"type":["string","null"],"maxLength":255},"status":{"type":"string","enum":["active","inactive","draft"]},"defined_category":{"type":["string","null"],"maxLength":100},"form_definition":{"type":"array","items":{"type":"string"}},"target_condition_set":{"type":"array","items":{"type":"string"}},"valid_from":{"type":["string","null"],"format":"date"},"valid_to":{"type":["string","null"],"format":"date"},"sort":{"type":"integer","minimum":0},"is_hidden":{"type":"boolean"},"auto_skip_same_approver":{"type":"boolean"},"view_permission_condition_set":{"type":"array","items":{"type":"string"}},"equipment_category_ids":{"type":"array","items":{"type":"string","maxLength":36}},"steps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_condition_set":{"type":"array","items":{"type":"string"},"minItems":1},"notification_usergroup_ids":{"type":"array","items":{"type":"string"}},"is_final_step":{"type":"boolean"},"fallback_approver_user_id":{"type":["string","null"],"maxLength":255},"reminder_days":{"type":["integer","null"],"minimum":1,"maximum":365},"escalation_days":{"type":["integer","null"],"minimum":1,"maximum":365},"prohibit_same_approver":{"type":"boolean"}},"required":["name","approver_condition_set"]}}}}},"resultPath":"","risk":"write","aliases":[]}
13
+ {"name":"update","domain":"workflow","operationId":"workflow.update","method":"PUT","path":"/v2/workflows/{id}","summary":"ワークフロー定義を更新","pathParams":[{"name":"id","type":"string","required":true,"source":"spec"}],"queryParams":[],"body":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_description":{"type":["string","null"],"maxLength":2000},"default_title":{"type":["string","null"],"maxLength":255},"status":{"type":"string","enum":["active","inactive","draft"]},"defined_category":{"type":["string","null"],"maxLength":100},"form_definition":{"type":"array","items":{"type":"string"}},"target_condition_set":{"type":"array","items":{"type":"string"}},"valid_from":{"type":["string","null"],"format":"date"},"valid_to":{"type":["string","null"],"format":"date"},"sort":{"type":"integer","minimum":0},"is_hidden":{"type":"boolean"},"auto_skip_same_approver":{"type":"boolean"},"require_pre_submit_ai_review":{"type":"boolean"},"allow_extra_approvers":{"type":"boolean"},"view_permission_condition_set":{"type":"array","items":{"type":"string"}},"equipment_category_ids":{"type":"array","items":{"type":"string","maxLength":36}},"steps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","maxLength":255},"approver_condition_set":{"type":"array","items":{"type":"string"},"minItems":1},"notification_usergroup_ids":{"type":"array","items":{"type":"string"}},"is_final_step":{"type":"boolean"},"fallback_approver_user_id":{"type":["string","null"],"maxLength":255},"reminder_days":{"type":["integer","null"],"minimum":1,"maximum":365},"escalation_days":{"type":["integer","null"],"minimum":1,"maximum":365},"prohibit_same_approver":{"type":"boolean"},"apply_condition":{"type":["object","null"],"properties":{"metric":{"type":"string","maxLength":100},"operator":{"type":"string","enum":["gte","lt"]},"value":{"type":"integer","minimum":0}}}},"required":["name","approver_condition_set"]}}}}},"resultPath":"","risk":"write","aliases":[]}
13
14
  ]
14
15
  }
@@ -2,8 +2,8 @@ import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
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,
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
- 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-FKTYYARF.js";import{applyPermissionMode,checkPermission,describePermissionMode,getMode,isModeId,modeSource,
6
- nextMode}from"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-TJQZYYG3.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.
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
+ 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.
7
7
  for("react.forward_ref");var REACT_SUSPENSE_TYPE=Symbol.for("react.suspense");var REACT_MEMO_TYPE=Symbol.for("react.memo");var REACT_LAZY_TYPE=Symbol.for("react.lazy");var REACT_ACTIVITY_TYPE=Symbol.for("react.activity");var REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition");var MAYBE_ITERATOR_SYMBOL=Symbol.iterator;function getIteratorFn(maybeIterable){if(null===maybeIterable||"object"!==typeof maybeIterable)return null;maybeIterable=MAYBE_ITERATOR_SYMBOL&&maybeIterable[MAYBE_ITERATOR_SYMBOL]||
8
8
  maybeIterable["@@iterator"];return"function"===typeof maybeIterable?maybeIterable:null}var ReactNoopUpdateQueue={isMounted:function(){return false},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};var assign=Object.assign;var emptyObject={};function Component(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue}Component.prototype.isReactComponent={};Component.prototype.setState=
9
9
  function(partialState,callback){if("object"!==typeof partialState&&"function"!==typeof partialState&&null!=partialState)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,partialState,callback,"setState")};Component.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this,callback,"forceUpdate")};function ComponentDummy(){}ComponentDummy.prototype=Component.prototype;function PureComponent2(props,context,updater){
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,warnHiddenChars}from"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-VFPY2A23.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import*as fs from"fs";var SERVER_DEFAULTS={priority:"P3",order:50,catch_up:true,grace_minutes:120,max_attempts_per_window:2,safe_mode_ok:true,enabled:true,args:"",args_rotation:[],label:"",require_zero:[],required_platforms:[]};var SERVER_META_KEYS=new Set(["updated_by","updated_by_name","updated_at","revision"]);var CONFIG_KEYS=["max_per_cycle","gates","require_zero_statuses"];var FILE_TOP_KEYS=new Set(["schedules","config_meta",...CONFIG_KEYS]);var SCHEDULE_ID=/^[a-z0-9][a-z0-9._-]{0,63}$/;async function runScheduleDefCommand(deps,opts){
3
+ import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,warnHiddenChars}from"./chunk-A4LFG7MW.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-VFPY2A23.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import*as fs from"fs";var SERVER_DEFAULTS={priority:"P3",order:50,catch_up:true,grace_minutes:120,max_attempts_per_window:2,safe_mode_ok:true,enabled:true,args:"",args_rotation:[],label:"",require_zero:[],required_platforms:[]};var SERVER_META_KEYS=new Set(["updated_by","updated_by_name","updated_at","revision"]);var CONFIG_KEYS=["max_per_cycle","gates","require_zero_statuses"];var FILE_TOP_KEYS=new Set(["schedules","config_meta",...CONFIG_KEYS]);var SCHEDULE_ID=/^[a-z0-9][a-z0-9._-]{0,63}$/;async function runScheduleDefCommand(deps,opts){
4
4
  const io={out:deps.out??(t=>void process.stdout.write(stripTerminalControls(t))),err:deps.err??(t=>void process.stderr.write(stripTerminalControls(t))),readFile:deps.readFile??readUtf8Strict,writeFile:deps.writeFile??((p,c)=>fs.writeFileSync(p,c,"utf8")),exists:deps.exists??(p=>fs.existsSync(p))};switch(opts.op){case"list":return list(deps.api,io);case"push":return push(deps.api,opts,io);case"delete":return remove(deps.api,opts,io);case"config":return opts.configOp==="push"?configPush(deps.api,opts,
5
5
  io):configPull(deps.api,opts,io)}}async function list(api,io){const remote=await fetchRemote(api,io.err);if(typeof remote==="number")return remote;io.out(`\u5B9A\u7FA9 ${remote.schedules.length} \u4EF6\uFF08max_per_cycle=${JSON.stringify(remote.maxPerCycle??null)}\u30FB\u30B0\u30ED\u30FC\u30D0\u30EB\u8A2D\u5B9A revision ${remote.configRevision??"\u4E0D\u660E"}\uFF09
6
6
  `);if(remote.schedules.length>0){io.out(["id","\u6709\u52B9","skill","\u5F15\u6570","\u767A\u706B\u306E\u6761\u4EF6","\u4EF6\u6570\u30B2\u30FC\u30C8","\u512A\u5148","revision","\u30E9\u30D9\u30EB"].join(" ")+"\n");for(const s of[...remote.schedules].sort((a,b)=>str(a["id"]).localeCompare(str(b["id"])))){io.out(row(s)+"\n")}}for(const w of remote.warnings)io.err(`\u26A0\uFE0F ${w}
@@ -83,4 +83,4 @@ message}\uFF09
83
83
  `);return null}try{return JSON.parse(raw)}catch(e){io.err(`${file} \u3092 JSON \u3068\u3057\u3066\u8AAD\u3081\u307E\u305B\u3093\uFF08${e.message}\uFF09
84
84
  `);return null}}function parseRevisionMap(raw){const map=new Map;for(const part of raw.split(",")){const m=/^([^=]+)=(\d+)$/.exec(part);if(m===null)return null;const id=m[1];if(!SCHEDULE_ID.test(id)||map.has(id))return null;map.set(id,Number(m[2]))}return map}function stableJson(v){if(Array.isArray(v))return`[${v.map(stableJson).join(",")}]`;if(v&&typeof v==="object"){const entries=Object.entries(v).sort(([a],[b])=>a<b?-1:a>b?1:0);return`{${entries.map(([k,x])=>`${JSON.stringify(k)}:${stableJson(
85
85
  x)}`).join(",")}}`}return JSON.stringify(v??null)}function str(v){if(v===null||v===void 0)return"";return typeof v==="string"?v:String(v)}function confirmCommand(opts,sub,extra={}){const parts=["twp task-loop schedule",...sub,"--project",shellQuote(opts.projectRef)];if(opts.profile!==void 0)parts.push("--profile",shellQuote(opts.profile));if(extra.file!==void 0)parts.push("--file",shellQuote(extra.file));parts.push("--yes");if(extra.revision!==void 0)parts.push("--revision",String(extra.revision));
86
- return parts.join(" ")}export{comparable,describeWhen,runScheduleDefCommand,stableJson};
86
+ return parts.join(" ")}export{runScheduleDefCommand,describeWhen,comparable,stableJson};
@@ -0,0 +1,13 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{splitFlagToken}from"./chunk-OKATZ4SN.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill","settings","orientation","plan","capacity","runner","trigger"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revis\
4
+ ion","--dir","--from","--to","--config","--key","--limit","--output","--query"]);var BOOLEAN_FLAGS=new Set(["-h","--help","-v","--version","--no-tui","--doctor","--password","--token","--no-browser","--safe","--daemon","--force-runner","--force","--drain","--yes","-y","--no-ai-config-file","--verbose","--all","--empty","--check","--include-stopped","--dry-run","--debug","--refresh"]);function dispatch(argv,limit=2){const tokens=[];const indexes=[];let truncated=false;for(let i=0;i<argv.length;i++){
5
+ const arg=argv[i];if(arg===void 0)continue;if(arg.startsWith("-")&&arg!=="-"){const{name,value:inline}=splitFlagToken(arg);if(BOOLEAN_FLAGS.has(name)){if(inline!==void 0){truncated=true;break}continue}if(VALUE_FLAGS.has(name)){if(inline!==void 0)continue;const next=argv[i+1];if(next!==void 0&&(!next.startsWith("-")||next==="-"))i++;continue}truncated=true;break}if(arg===""||arg==="-")continue;if(tokens.length>=limit)break;tokens.push(arg);indexes.push(i)}return{tokens,indexes,truncated}}var TASK_LOOP_QUEUE_ACTIONS=[
6
+ "item","history","plan-history"];var QUEUE_DOMAIN="agent-loop";function rewriteQueueCommand(argv){const{tokens,indexes}=dispatch(argv);const[first,second]=tokens;if(first===QUEUE_DOMAIN||first==="help"&&second===QUEUE_DOMAIN)return{argv,moved:QUEUE_DOMAIN};const[firstIndex,secondIndex]=indexes;if(first!=="task-loop"||second===void 0||firstIndex===void 0||secondIndex===void 0||!TASK_LOOP_QUEUE_ACTIONS.includes(second)){return{argv}}const next=[...argv];next[firstIndex]=QUEUE_DOMAIN;if(second==="i\
7
+ tem")next.splice(secondIndex,1);return{argv:next}}var MOVED_QUEUE_COMMAND_MESSAGE=`\`twp agent-loop\` \u306F \`twp task-loop\` \u306B\u7D71\u5408\u3057\u307E\u3057\u305F\u3002\u6B21\u306E\u3088\u3046\u306B\u6253\u3063\u3066\u304F\u3060\u3055\u3044:
8
+ twp agent-loop <\u64CD\u4F5C> ... \u2192 twp task-loop item <\u64CD\u4F5C> ...
9
+ twp agent-loop history list ... \u2192 twp task-loop history list ...
10
+ twp agent-loop plan-history list ... \u2192 twp task-loop plan-history list ...
11
+ \u8A73\u3057\u304F\u306F twp task-loop item help
12
+ `;function isBuiltin(token){return token!==void 0&&BUILTIN_COMMANDS.includes(token)}function isTaskLoopAction(token){return token!==void 0&&TASK_LOOP_ACTIONS.includes(token)}function resolveRoute(result){const{tokens,indexes}=result;const[first,second]=tokens;const firstIndex=indexes[0];if(first===void 0||firstIndex===void 0)return{kind:"none",consumed:[]};const consumed=[firstIndex];const secondIndex=indexes[1];if(isBuiltin(first)){if(first==="task-loop"&&isTaskLoopAction(second)){if(secondIndex!==
13
+ void 0)consumed.push(secondIndex);return{kind:"builtin",command:first,action:second,consumed}}return{kind:"builtin",command:first,...first==="task-loop"?{action:"run"}:{},consumed}}if(second!==void 0&&secondIndex!==void 0)consumed.push(secondIndex);return{kind:"domain",domain:first,...second!==void 0?{operation:second}:{},consumed}}export{BUILTIN_COMMANDS,TASK_LOOP_ACTIONS,VALUE_FLAGS,BOOLEAN_FLAGS,dispatch,TASK_LOOP_QUEUE_ACTIONS,QUEUE_DOMAIN,rewriteQueueCommand,MOVED_QUEUE_COMMAND_MESSAGE,resolveRoute};
@@ -2,9 +2,11 @@ import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
3
  import{placeholderTaskKey,stepToItem}from"./chunk-HUKKZ252.js";import{redactLoopOutput}from"./chunk-VEEZJNOB.js";import{localDate}from"./chunk-INS77QHY.js";import{normalizeSkillName,skillOfItem}from"./chunk-FABDZBDZ.js";import{DEFAULT_SKILL_PREFIX,SKILL_PREFIX_RE,setSkillPrefix,skillCommand,skillPrefix}from"./chunk-6CS5L24D.js";import{describeError,pick,pickString}from"./chunk-UZUV5FYG.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{createHash,randomBytes}from"crypto";import fs from"fs";import path from"path";var INFLIGHT_STALE_HOURS=3;function staleFloorHours(aiTimeoutSec){return Math.ceil(aiTimeoutSec*2/3600)}function inflightStaleHours(aiTimeoutSec,baseHours=INFLIGHT_STALE_HOURS){const base=Number.isFinite(baseHours)&&baseHours>0?baseHours:INFLIGHT_STALE_HOURS;return Math.max(base,staleFloorHours(aiTimeoutSec))}function ageMinutesOf(item,now){for(const raw of[item.started_at,item.updated_at,item.dequeued_at,item.created_at]){if(!raw)continue;const ts=Date.parse(raw);if(Number.isNaN(ts))continue;return Math.
4
4
  floor((now.getTime()-ts)/6e4)}return null}function inflightEntries(items,now=new Date,staleHours=INFLIGHT_STALE_HOURS){const staleMinutes=staleHours*60;const byKey=new Map;for(const item of items){const key=(item.task_key??"").trim();if(!key)continue;const ageMinutes=ageMinutesOf(item,now);if(ageMinutes!==null&&ageMinutes>staleMinutes)continue;const entry={key,runner:item.runner_id??"-",ageMinutes,label:(item.label??"").slice(0,60)};const prev=byKey.get(key);if(!prev||(entry.ageMinutes??-1)>(prev.
5
- ageMinutes??-1))byKey.set(key,entry)}return[...byKey.values()].sort((a,b)=>a.key.localeCompare(b.key))}function formatInflightEntry(entry){const age=entry.ageMinutes===null?"\u4E0D\u660E":`${entry.ageMinutes}\u5206`;return`${entry.key} runner=${entry.runner} \u7D4C\u904E=${age}`}async function createItem(api,body){const res=await api.create(redactItemBody(body));if(!res.ok)return{itemId:null,detail:describeError(res)};for(const p of["item_id","id","item.item_id","item.id","data.item_id","data.id"]){const v=pickString(res.json,p);if(v)return{itemId:v,detail:""}}return{itemId:null,detail:`item_id \u3092\u8AAD\u3081\u307E\u305B\u3093: ${res.raw.slice(0,200)}`}}function redactItemBody(body){const out={...body};for(const key of["prompt","label"]){if(typeof out[key]==="string")
6
- out[key]=redactLoopOutput(out[key])}return out}function reorderSucceeded(targetId,json){if(pick(json,"result")===true)return true;const raw=Array.isArray(json)?json:pick(json,"items");if(!Array.isArray(raw)||raw.length===0)return false;const items=raw;const orderOf=it=>typeof it.sort_order==="number"?it.sort_order:Number.POSITIVE_INFINITY;const hit=items.find(it=>(it.item_id??"")===targetId);if(!hit)return false;return orderOf(hit)===Math.min(...items.map(orderOf))}function queueContainsKey(items,key){
7
- const re=new RegExp(`${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![0-9])`);return items.some(it=>re.test(`${it.label??""}
5
+ ageMinutes??-1))byKey.set(key,entry)}return[...byKey.values()].sort((a,b)=>a.key.localeCompare(b.key))}function formatInflightEntry(entry){const age=entry.ageMinutes===null?"\u4E0D\u660E":`${entry.ageMinutes}\u5206`;return`${entry.key} runner=${entry.runner} \u7D4C\u904E=${age}`}async function createItem(api,body){const res=await api.create(redactItemBody(body));if(isTriggerBlocked(res))return{itemId:null,detail:triggerBlockedDetail(res),blocked:true};if(!res.ok)return{itemId:null,detail:describeError(res)};for(const p of["item_id","id","item.item_id","item.id","data.item_id","data.id"]){const v=pickString(res.json,p);if(v)return{itemId:v,detail:""}}return{itemId:null,detail:`item_id \u3092\u8AAD\u3081\u307E\u305B\u3093: ${res.raw.slice(0,200)}`}}function isTriggerBlocked(res){
6
+ if(res.status!==409)return false;const json=res.json&&typeof res.json==="object"?res.json:{};const data=json["data"]&&typeof json["data"]==="object"?json["data"]:{};return[json["reason"],json["error"],data["reason"]].includes("loop_trigger_blocked")}function triggerBlockedDetail(res){const message=pickString(res.json,"error_description")||pickString(res.json,"message");const parts=[pickString(res.json,"block.task_key")&&pickString(res.json,"block.skill")?`${pickString(res.json,"block.task_key")}\
7
+ \xD7 ${pickString(res.json,"block.skill")}`:"",pickString(res.json,"block.trigger_id")?`\u30C8\u30EA\u30AC\u30FC ${pickString(res.json,"block.trigger_id")}`:"",pickString(res.json,"block.expires_at")?`\u671F\u9650 ${pickString(res.json,"block.expires_at")}`:""].filter(p=>p!=="");const where=parts.length>0?`\uFF08${parts.join("\u30FB")}\uFF09`:"";return`\u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\u306E\u6295\u5165\u30D6\u30ED\u30C3\u30AF\u4E2D\u306E\u305F\u3081\u843D\u3068\u3057\u307E\u3057\u305F${where}${message?
8
+ `: ${message}`:""}`}function redactItemBody(body){const out={...body};for(const key of["prompt","label"]){if(typeof out[key]==="string")out[key]=redactLoopOutput(out[key])}return out}function reorderSucceeded(targetId,json){if(pick(json,"result")===true)return true;const raw=Array.isArray(json)?json:pick(json,"items");if(!Array.isArray(raw)||raw.length===0)return false;const items=raw;const orderOf=it=>typeof it.sort_order==="number"?it.sort_order:Number.POSITIVE_INFINITY;const hit=items.find(it=>(it.
9
+ item_id??"")===targetId);if(!hit)return false;return orderOf(hit)===Math.min(...items.map(orderOf))}function queueContainsKey(items,key){const re=new RegExp(`${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![0-9])`);return items.some(it=>re.test(`${it.label??""}
8
10
  ${it.prompt??""}
9
11
  ${it.task_key??""}`))}function parseReleaseResult(logText,contractLine){const prefix=contractLine.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");const matches=[...logText.matchAll(new RegExp(`${prefix}:[^|\\n]*\\|[^|\\n]*\\|[^\\n]*`,"g"))];const line=matches.at(-1)?.[0];if(!line)return null;const parts=line.split("|").map(s=>s.trim());return{executed:!/NOT_EXECUTED/.test(parts[0]??""),phase:parts[1]??"",reason:parts[2]??"",line}}function parseOutcomeCode(logText){const matches=[...logText.matchAll(/\b([A-Z][A-Z0-9_]*_RESULT):[ \t]*([^|\n]*)/g)];
10
12
  const last=matches.at(-1);if(last===void 0)return null;const value=(last[2]??"").trim();return value===""?null:`${last[1]??""}: ${value}`}var RECOVER_KEY_RE=/RECOVER:[ \t]*([^\s|、,,]+-\d+)/;function parseRecoverKey(line){const raw=RECOVER_KEY_RE.exec(line)?.[1];if(raw===void 0)return null;if(!raw.includes("%"))return raw;try{const key=decodeURIComponent(raw);return isTaskKey(key)&&key.trim()===key?key:null}catch{return null}}function parsePartialMergeCause(line){const m=/PARTIAL_MERGE:\s*([A-Za-z0-9_.:-]+)/.
@@ -14,10 +16,10 @@ log.log(" \uFF08\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u5C45\u308B\u304B\u5224
14
16
  return}const today=localDate(config.counterTimezone);const res=await api.consumeCounter(`blocker_recovery.${key}`,today,config.blockerRecoveryMaxPerDay);if(!res.ok){if(res.status!==null&&res.status>=400&&res.status<500){log.log(` \u26D4 ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\uFF08${describeError(res)}\uFF09\u3002**\u518D\u8A66\u884C\u3067\u306F\u89E3\u6D88\u3057\u307E\u305B\u3093**`);log.log(` \u78BA\u8A8D:\
15
17
  \u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\uFF08\u73FE\u5728 ${config.counterTimezone}\u30FB\u9001\u4FE1\u3057\u305F\u65E5\u4ED8 ${today}\uFF09\uFF0F\u4E0A\u9650\uFF08\u73FE\u5728 ${config.blockerRecoveryMaxPerDay}\uFF09`)}else{log.log(` \u26D4 ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\uFF08\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u5224\u5B9A\uFF09`)}
16
18
  return}const granted=pickString(res.json,"granted");const count=pickString(res.json,"counter.count");if(granted===""){log.log(` \u26D4 ${key} \u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}`);return}if(granted!=="true"){log.log(` \u23ED ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306F\u672C\u65E5 ${count||
17
- "?"} \u56DE\u6295\u5165\u6E08\u307F\uFF08\u4E0A\u9650 ${config.blockerRecoveryMaxPerDay}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u4EBA\u9593\u5224\u65AD\u3078\u5BC4\u305B\u3066\u304F\u3060\u3055\u3044`);return}const{itemId,detail}=await createItem(api,{label:`[\u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC] ${key} \u306E\u4FEE\u6B63\uFF08\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u89E3\u9664\u306E\u305F\u3081\u6700\u512A\u5148\uFF09 #ai:complex`,prompt:skillCommand(
18
- "task-investigate-and-fix",key),ai_type:"claude",task_key:key});if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);return}const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u23EB \u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC ${key}\
19
- \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u5148\u982D\u306B\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{log.log(` \u26A0\uFE0F ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09`)}}function queueContainsSkill(items,skillCommand2){
20
- return items.some(it=>(it.prompt??"").includes(skillCommand2))}async function enqueueReleasePhase5Recovery(deps,releaseLine){const{api,config,log}=deps;const releaseId=parsePhase5Pending(releaseLine);if(!releaseId)return;const recoverySkill=config.operations.releaseRecoverySkill;if(!recoverySkill)return;const queued=await api.queuedSnapshot();if(queued===null){log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");
19
+ "?"} \u56DE\u6295\u5165\u6E08\u307F\uFF08\u4E0A\u9650 ${config.blockerRecoveryMaxPerDay}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u4EBA\u9593\u5224\u65AD\u3078\u5BC4\u305B\u3066\u304F\u3060\u3055\u3044`);return}const{itemId,detail,blocked}=await createItem(api,{label:`[\u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC] ${key} \u306E\u4FEE\u6B63\uFF08\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u89E3\u9664\u306E\u305F\u3081\u6700\u512A\u5148\uFF09 #ai:complex`,prompt:skillCommand(
20
+ "task-investigate-and-fix",key),ai_type:"claude",task_key:key});if(blocked){log.log(` \u23ED ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u306E\u6295\u5165\u3092\u843D\u3068\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);return}if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);
21
+ return}const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u23EB \u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u5148\u982D\u306B\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{log.log(` \u26A0\uFE0F ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09`)}}
22
+ function queueContainsSkill(items,skillCommand2){return items.some(it=>(it.prompt??"").includes(skillCommand2))}async function enqueueReleasePhase5Recovery(deps,releaseLine){const{api,config,log}=deps;const releaseId=parsePhase5Pending(releaseLine);if(!releaseId)return;const recoverySkill=config.operations.releaseRecoverySkill;if(!recoverySkill)return;const queued=await api.queuedSnapshot();if(queued===null){log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");
21
23
  log.log(" \uFF08\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u5C45\u308B\u304B\u5224\u5B9A\u3067\u304D\u306A\u3044\u72B6\u614B\u3067\u6295\u5165\u3059\u308B\u3068\u3001\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u304C\u4E8C\u91CD\u306B\u8D70\u308A\u307E\u3059\uFF09");return}if(queueContainsSkill(queued,recoverySkill)){log.log(" \u23ED \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u3042\u308A\u307E\u3059 \u2192 \u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7");
22
24
  return}const today=localDate(config.counterTimezone);const res=await api.consumeCounter(`release_phase5.${releaseId}`,today,PHASE5_RECOVERY_MAX);if(!res.ok){log.log(` \u26D4 release ${releaseId} \u306E\u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\uFF08\u5B9A\u671F\u67A0\u304C\u62FE\u3044\u307E\u3059\uFF09`);return}const granted=pickString(
23
25
  res.json,"granted");if(granted===""){log.log(` \u26D4 release ${releaseId} \u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}`);return}if(granted!=="true"){log.log(` \u23ED release ${releaseId} \u306E\u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306F\u4E0A\u9650\uFF08${PHASE5_RECOVERY_MAX}\
@@ -57,8 +59,9 @@ wp-aiops__release_list` \u2192 `release_get` \u3067\u76F4\u8FD1\u306E\u5931\u655
57
59
  \u30FB`,` \u62C5\u5F53\u3092\u8C37 \u6A39\uFF08${TANI_USER_ID}\uFF09\u306B\u3059\u308B`,"","\u6700\u7D42\u51FA\u529B\u306E1\u884C\u76EE\u306B `PARTIAL_MERGE_ESCALATED: <TWP\u30AD\u30FC>` \u3092\u51FA\u3057\u3066\u304F\u3060\u3055\u3044\u3002"].join("\n")}async function enqueueDevVerifyForMerged(deps,logText,followUp){const{api,log}=deps;const{skill:verifySkill,keysLine}=followUp;if(keysLine===null){log.log(` \u2139\uFE0F ${verifySkill} \u306E\u5F8C\u7D9A\u6295\u5165\u306F keys_line \u304C\u672A\u8A2D\u5B9A\u306E\u305F\u3081\u3001\u30AD\u30FC\u5358\u4F4D\u306E\u6295\u5165\u306F\u3057\u307E\u305B\u3093`);
58
60
  return}const keys=parseKeysLine(logText,keysLine);if(keys===null){log.log(` \u26A0\uFE0F \u5B8C\u4E86\u3057\u305F\u30B9\u30AD\u30EB\u304C ${keysLine} \u884C\u3092\u51FA\u529B\u3057\u3066\u3044\u307E\u305B\u3093\uFF08\u51FA\u529B\u5951\u7D04\u9055\u53CD\uFF09\u2192 ${verifySkill} \u306E\u81EA\u52D5\u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059`);return}if(keys.length===0){log.log(` \u2139\uFE0F \u5BFE\u8C61\u30AD\u30FC\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${keysLine}: none\uFF09\u2192\
59
61
  ${verifySkill} \u306E\u81EA\u52D5\u6295\u5165\u306A\u3057`);return}const queued=await api.queuedSnapshot();if(queued===null){log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 dev\u691C\u8A3C\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");log.log(" \uFF08\u5224\u5B9A\u3067\u304D\u306A\u3044\u72B6\u614B\u3067\u6295\u5165\u3059\u308B\u3068\u3001\u540C\u4E00\u30BF\u30B9\u30AF\u306Edev\u691C\u8A3C\u304C\u4E8C\u91CD\u306B\u8D70\u308A\u307E\u3059\uFF09");
60
- return}let enqueued=0;const seen=new Set;for(const key of keys){if(seen.has(key))continue;seen.add(key);if(queueContainsKey(queued,key)){log.log(` \u23ED ${key} \u306E\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u3042\u308A\u307E\u3059 \u2192 dev\u691C\u8A3C\u306E\u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7`);continue}const{itemId,detail}=await createItem(api,{label:`[P1] ${key} \u306Edev\u691C\u8A3C\uFF08develop\u30DE\u30FC\u30B8\u76F4\u5F8C\u30FB\u6DF7\u5165\u30DE\u30FC\u30B8\u9632\u6B62\u306E\u305F\u3081\u81EA\u52D5\u6295\u5165\uFF09 #ai:verify`,
61
- prompt:`${verifySkill} ${key}`,ai_type:"claude",task_key:key});if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306Edev\u691C\u8A3C\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${detail}`);continue}enqueued+=1;log.log(` \u{1F50E} ${key} \u306Edev\u691C\u8A3C\u3092\u30AD\u30E5\u30FC\u3078\u6295\u5165\u3057\u307E\u3057\u305F\uFF08${itemId}\uFF09`)}if(enqueued>0){log.log(` \u2192 develop\u30DE\u30FC\u30B8\u6E08\u307F ${enqueued} \u4EF6\u306Edev\u691C\u8A3C\u3092\u81EA\u52D5\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u8A08\u753BAI\u306E\u5224\u65AD\u306B\u59D4\u306D\u306A\u3044\uFF09`)}}var RECENT_ADVANCE_WINDOW_HOURS=6;function normalizeOutcomeCode(raw){const m=/\b([A-Z][A-Z0-9_]*_RESULT)\s*:\s*([A-Za-z_][A-Za-z0-9_]*)/.exec(raw??"");if(!m)return null;return`${m[1]}: ${(m[2]??"").toUpperCase()}`}function skillOfLedgerItem(item){const explicit=(item.skill??"").trim();if(explicit)return normalizeSkillName(explicit);return skillOfItem(item)}function advanceKey(taskKey,skill){return`${taskKey}#${normalizeSkillName(skill)}`}function buildRecentCandidateIndex(items,opts={}){const nowMicros=(opts.
62
+ return}let enqueued=0;const seen=new Set;for(const key of keys){if(seen.has(key))continue;seen.add(key);if(queueContainsKey(queued,key)){log.log(` \u23ED ${key} \u306E\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u3042\u308A\u307E\u3059 \u2192 dev\u691C\u8A3C\u306E\u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7`);continue}const{itemId,detail,blocked}=await createItem(api,{label:`[P1] ${key} \u306Edev\u691C\u8A3C\uFF08develop\u30DE\u30FC\u30B8\u76F4\u5F8C\u30FB\u6DF7\u5165\u30DE\u30FC\u30B8\u9632\u6B62\u306E\u305F\u3081\u81EA\u52D5\u6295\u5165\uFF09 #ai:verify`,
63
+ prompt:`${verifySkill} ${key}`,ai_type:"claude",task_key:key});if(blocked){log.log(` \u23ED ${key} \u306Edev\u691C\u8A3C\u306E\u6295\u5165\u3092\u843D\u3068\u3057\u307E\u3057\u305F: ${detail}`);continue}if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306Edev\u691C\u8A3C\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${detail}`);continue}enqueued+=1;log.log(` \u{1F50E} ${key} \u306Edev\u691C\u8A3C\u3092\u30AD\u30E5\u30FC\u3078\u6295\u5165\u3057\u307E\u3057\u305F\uFF08${itemId}\
64
+ \uFF09`)}if(enqueued>0){log.log(` \u2192 develop\u30DE\u30FC\u30B8\u6E08\u307F ${enqueued} \u4EF6\u306Edev\u691C\u8A3C\u3092\u81EA\u52D5\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u8A08\u753BAI\u306E\u5224\u65AD\u306B\u59D4\u306D\u306A\u3044\uFF09`)}}var RECENT_ADVANCE_WINDOW_HOURS=6;function normalizeOutcomeCode(raw){const m=/\b([A-Z][A-Z0-9_]*_RESULT)\s*:\s*([A-Za-z_][A-Za-z0-9_]*)/.exec(raw??"");if(!m)return null;return`${m[1]}: ${(m[2]??"").toUpperCase()}`}function skillOfLedgerItem(item){const explicit=(item.skill??"").trim();if(explicit)return normalizeSkillName(explicit);return skillOfItem(item)}function advanceKey(taskKey,skill){return`${taskKey}#${normalizeSkillName(skill)}`}function buildRecentCandidateIndex(items,opts={}){const nowMicros=(opts.
62
65
  now??new Date).getTime()*1e3;const latest=new Map;const byTask=new Map;for(const item of items){if(item.status!==void 0&&item.status!=="completed")continue;const taskKey=(item.task_key??"").trim();if(taskKey==="")continue;const skill=skillOfLedgerItem(item);if(skill==="")continue;const sortOrder=typeof item.sort_order==="number"?item.sort_order:0;const runs=byTask.get(taskKey)??[];runs.push({skill,itemId:item.item_id,sortOrder});byTask.set(taskKey,runs);const key=advanceKey(taskKey,skill);const prev=latest.
63
66
  get(key);if(prev&&prev.sortOrder>=sortOrder)continue;latest.set(key,{sortOrder,candidate:{taskKey,skill,itemId:item.item_id,outcomeCode:normalizeOutcomeCode(item.outcome_code),outcomeRaw:(item.outcome_code??"").trim()===""?null:item.outcome_code,ageMinutes:sortOrder>0?Math.floor((nowMicros-sortOrder)/6e7):null}})}const index=new Map;for(const[key,value]of latest){let later=null;if(value.sortOrder>0){for(const run of byTask.get(value.candidate.taskKey)??[]){if(run.skill===value.candidate.skill||run.
64
67
  sortOrder<=value.sortOrder)continue;if(later===null||run.sortOrder>later.sortOrder)later=run}}index.set(key,{...value.candidate,supersededBy:later===null?null:{skill:later.skill,itemId:later.itemId}})}return index}function findRecentCandidate(index,taskKey,skill){if(taskKey.trim()===""||skill.trim()==="")return null;return index.get(advanceKey(taskKey.trim(),skill))??null}async function resolveRecentAdvance(candidate,fetchResult,advancing){if(advancing.size===0)return null;let outcome=candidate.
@@ -0,0 +1,56 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{isModeId,isPermissionModeId}from"./chunk-2LOT54OO.js";import{ORIENTATION_OPS}from"./chunk-NJL3H2BB.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-6FI4ZMZ7.js";import{BOOLEAN_FLAGS,dispatch,resolveRoute,rewriteQueueCommand}from"./chunk-B2D2NO5H.js";import{splitFlagToken}from"./chunk-OKATZ4SN.js";var TRIGGER_OPS=["list","show","push","delete","history","release"];var GLOBAL_FLAGS=new Set(["-h","--help","-v","--version","--profile","--output","--query","--dry-run","--debug","--yes","-y","--refresh"]);function parseArgv(rawArgv){const out={command:"tui",safe:false,daemon:false,forceRunner:false,stopForce:false,logoutForce:false,stopDrain:false,noTui:false,doctor:false,yes:false,skillAll:false,orientationArgs:[],includeStopped:false,planEmpty:false,planCheck:false,noAiConfigFile:false,verbose:false,loginMethod:"browser",loginNoBrowser:false,promptFromStdin:false,
4
+ domainArgv:[],domainHelp:false,dryRun:false,debug:false,refresh:false,unknown:[],allowedTools:[],disallowedTools:[]};const queue=rewriteQueueCommand(rawArgv);if(queue.moved!==void 0){out.movedCommand=queue.moved;return out}const argv=queue.argv;const route=resolveRoute(dispatch(argv));const consumed=new Set;const[firstIndex,secondIndex]=route.consumed;if(route.kind==="builtin"){out.command=route.command;if(route.action!==void 0)out.taskLoopAction=route.action;for(const index of route.consumed)consumed.
5
+ add(index)}else if(route.kind==="domain"){if(route.domain===HELP_TOKEN){if(route.operation===void 0){out.command="help";if(firstIndex!==void 0)consumed.add(firstIndex)}else if(isDomainName(route.operation)){out.command="domain";out.domain=route.operation;out.domainHelp=true;if(firstIndex!==void 0)consumed.add(firstIndex);if(secondIndex!==void 0)consumed.add(secondIndex)}else if(route.operation===API_TOKEN){out.command="api";out.domainHelp=true;if(firstIndex!==void 0)consumed.add(firstIndex);if(secondIndex!==
6
+ void 0)consumed.add(secondIndex)}}else if(route.domain===API_TOKEN){out.command="api";if(firstIndex!==void 0)consumed.add(firstIndex)}else if(isDomainName(route.domain)){out.command="domain";out.domain=route.domain;if(route.operation!==void 0)out.operation=route.operation;for(const index of route.consumed)consumed.add(index)}}const hasSubcommandToken=route.kind==="builtin"||route.kind==="domain"&&(route.domain===HELP_TOKEN||route.domain===API_TOKEN||isDomainName(route.domain));const isDomainRoute=out.
7
+ command==="domain"||out.command==="api";const takeValue=(i,flag,inline)=>{const value=inline??argv[i+1];if(value===void 0||inline===void 0&&value.startsWith("-")){out.unknown.push(flag);return{step:0}}if(value.trim()===""){out.unknown.push(inline===void 0?`${flag} `:`${flag}=${inline}`);return{step:0}}return{value,step:inline===void 0?1:0}};let optionsClosed=false;for(let i=0;i<argv.length;i++){if(consumed.has(i))continue;const raw=argv[i];if(raw===void 0)continue;if(isDomainRoute&&raw==="--")optionsClosed=
8
+ true;const{name:arg,value:inline}=splitFlagToken(raw);if(isDomainRoute&&(optionsClosed||!GLOBAL_FLAGS.has(arg))){out.domainArgv.push(raw);continue}if(inline!==void 0&&BOOLEAN_FLAGS.has(arg)){out.unknown.push(raw);continue}switch(arg){case"-h":case"--help":if(isDomainRoute)out.domainHelp=true;else out.command="help";break;case"-v":case"--version":out.command="version";break;case"--no-tui":out.noTui=true;break;case"--doctor":out.doctor=true;break;case"--password":out.loginMethod="password";break;case"\
9
+ --token":out.loginMethod="token";break;case"--no-browser":out.loginNoBrowser=true;break;case"--profile":{const{value,step}=takeValue(i,"--profile",inline);if(value!==void 0){out.profile=value;i+=step}break}case"-p":case"--print":{const next=inline??argv[i+1];const step=inline===void 0?1:0;if(hasSubcommandToken){out.unknown.push(raw)}else if(next==="-"){out.command="print";out.promptFromStdin=true;out.prompt="";i+=step}else if(next!==void 0&&(inline!==void 0||!next.startsWith("-"))){out.command="\
10
+ print";out.prompt=next;i+=step}else{out.unknown.push(raw)}break}case"--output":{const{value,step}=takeValue(i,"--output",inline);if(value!==void 0){out.output=value;i+=step}break}case"--query":{const{value,step}=takeValue(i,"--query",inline);if(value!==void 0){out.query=value;i+=step}break}case"--dry-run":out.dryRun=true;break;case"--debug":out.debug=true;break;case"--refresh":out.refresh=true;break;case"--tenant":{const{value,step}=takeValue(i,"--tenant",inline);if(value!==void 0){out.tenant=value;
11
+ i+=step}break}case"--mode":{const next=inline??argv[i+1];const step=inline===void 0?1:0;if(isModeId(next)){out.mode=next;i+=step}else if(next!==void 0&&(inline!==void 0||!next.startsWith("-"))){out.unknown.push(inline!==void 0?raw:`--mode ${next}`);i+=step}else{out.unknown.push("--mode")}break}case"--permission-mode":{const next=inline??argv[i+1];const step=inline===void 0?1:0;if(isPermissionModeId(next)){out.permissionMode=next;i+=step}else if(next!==void 0&&(inline!==void 0||!next.startsWith("\
12
+ -"))){out.unknown.push(inline!==void 0?raw:`--permission-mode ${next}`);i+=step}else{out.unknown.push("--permission-mode")}break}case"--allowed-tools":case"--disallowed-tools":{const{value,step}=takeValue(i,arg,inline);if(value!==void 0){(arg==="--allowed-tools"?out.allowedTools:out.disallowedTools).push(value);i+=step}break}case"--model":{const{value,step}=takeValue(i,"--model",inline);if(value!==void 0){out.model=value;i+=step}break}case"--safe":out.safe=true;break;case"--daemon":out.daemon=true;
13
+ break;case"--force-runner":out.forceRunner=true;break;case"--force":out.stopForce=true;break;case"--drain":out.stopDrain=true;break;case"--project":{const{value,step}=takeValue(i,"--project",inline);if(value!==void 0){out.project=value;i+=step}break}case"--engine":{const{value,step}=takeValue(i,"--engine",inline);if(value!==void 0){out.engine=value;i+=step}break}case"--interval":case"--max-cycles":{const{value,step}=takeValue(i,arg,inline);if(value!==void 0){const n=Number.parseInt(value,10);if(Number.
14
+ isInteger(n)&&n>0){if(arg==="--interval")out.interval=n;else out.maxCycles=n}else{out.unknown.push(inline!==void 0?raw:`${arg} ${value}`)}i+=step}break}case"--yes":case"-y":out.yes=true;break;case"--ai":{const{value:v,step}=takeValue(i,"--ai",inline);if(v!==void 0){out.ais=[...out.ais??[],v];i+=step}break}case"--no-ai-config-file":out.noAiConfigFile=true;break;case"--workspace":{const{value:v,step}=takeValue(i,"--workspace",inline);if(v!==void 0){out.workspace=v;i+=step}break}case"--ai-config-fi\
15
+ le":{const{value:v,step}=takeValue(i,"--ai-config-file",inline);if(v!==void 0){out.aiConfigFile=v;i+=step}break}case"--verbose":out.verbose=true;break;case"--now":{const{value:v,step}=takeValue(i,"--now",inline);if(v!==void 0){out.scheduleNow=v;i+=step}break}case"--counts":{const{value:v,step}=takeValue(i,"--counts",inline);if(v!==void 0){out.scheduleCounts=v;i+=step}break}case"--gate":{const{value:v,step}=takeValue(i,"--gate",inline);if(v!==void 0){out.scheduleGate=v;i+=step}break}case"--file":{
16
+ if(inline===void 0&&argv[i+1]==="-"){out.charterFile="-";i+=1;break}const{value:v,step}=takeValue(i,"--file",inline);if(v!==void 0){out.charterFile=v;i+=step}break}case"--key":{const{value:v,step}=takeValue(i,"--key",inline);if(v!==void 0){out.triggerKey=v;i+=step}break}case"--limit":{const{value:v,step}=takeValue(i,"--limit",inline);if(v!==void 0){out.triggerLimit=v;i+=step}break}case"--out":{const{value:v,step}=takeValue(i,"--out",inline);if(v!==void 0){out.charterOut=v;i+=step}break}case"--re\
17
+ vision":{const{value:v,step}=takeValue(i,"--revision",inline);if(v!==void 0){out.charterRevision=v;i+=step}break}case"--from":{const{value:v,step}=takeValue(i,"--from",inline);if(v!==void 0){out.revisionFrom=v;i+=step}break}case"--to":{const{value:v,step}=takeValue(i,"--to",inline);if(v!==void 0){out.revisionTo=v;i+=step}break}case"--dir":{const{value:v,step}=takeValue(i,"--dir",inline);if(v!==void 0){out.skillDir=v;i+=step}break}case"--config":{const{value:v,step}=takeValue(i,"--config",inline);
18
+ if(v!==void 0){out.skillConfig=v;i+=step}break}case"--all":out.skillAll=true;break;case"--include-stopped":out.includeStopped=true;break;case"--empty":out.planEmpty=true;break;case"--check":out.planCheck=true;break;default:if(out.command==="task-loop"&&out.taskLoopAction==="charter"&&out.charterOp===void 0&&isRevisionAwareOp(raw)){out.charterOp=raw;break}if(out.command==="task-loop"&&out.taskLoopAction==="schedule"){if(out.scheduleOp===void 0&&isScheduleOp(raw)){out.scheduleOp=raw;break}if(out.scheduleOp===
19
+ "config"&&out.scheduleConfigOp===void 0&&(raw==="pull"||raw==="push")){out.scheduleConfigOp=raw;break}if(out.scheduleOp==="delete"&&out.scheduleId===void 0&&!raw.startsWith("-")){out.scheduleId=raw;break}}if(out.command==="task-loop"&&out.taskLoopAction==="settings"&&out.settingsOp===void 0&&(raw==="push"||raw==="pull")){out.settingsOp=raw;break}if(out.command==="task-loop"&&out.taskLoopAction==="orientation"){if(out.orientationOp===void 0&&ORIENTATION_OPS.includes(raw)){out.orientationOp=raw;break}
20
+ if(out.orientationOp!==void 0&&!raw.startsWith("-")){out.orientationArgs.push(raw);break}}if(out.command==="task-loop"&&out.taskLoopAction==="plan"&&out.planOp===void 0&&raw==="submit"){out.planOp="submit";break}if(out.command==="task-loop"&&out.taskLoopAction==="capacity"&&out.capacityOp===void 0&&(raw==="report"||raw==="list")){out.capacityOp=raw;break}if(out.command==="task-loop"&&out.taskLoopAction==="trigger"){if(out.triggerOp===void 0&&TRIGGER_OPS.includes(raw)){out.triggerOp=raw;break}if(out.
21
+ triggerOp!==void 0&&out.triggerOp!=="list"&&out.triggerOp!=="push"&&out.triggerId===void 0&&!raw.startsWith("-")){out.triggerId=raw;break}}if(out.command==="task-loop"&&out.taskLoopAction==="runner"){if(out.runnerOp===void 0&&(raw==="list"||raw==="remove")){out.runnerOp=raw;break}if(out.runnerOp==="remove"&&out.runnerTargetId===void 0&&!raw.startsWith("-")){out.runnerTargetId=raw;break}}if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0&&(isRevisionAwareOp(raw)||
22
+ isSkillManageOp(raw)||raw==="check")){out.skillOp=raw;break}if(out.skillOp!==void 0&&out.skillName===void 0&&!raw.startsWith("-")){out.skillName=raw;break}}out.unknown.push(raw)}}if(out.command!=="login"&&out.loginMethod!=="browser"){out.unknown.push(out.loginMethod==="password"?"--password":"--token");out.loginMethod="browser"}if(out.permissionMode!==void 0&&out.command!=="tui"&&out.command!=="print"){out.unknown.push("--permission-mode");delete out.permissionMode}if(out.command!=="tui"&&out.command!==
23
+ "print"){if(out.allowedTools.length>0)out.unknown.push("--allowed-tools");if(out.disallowedTools.length>0)out.unknown.push("--disallowed-tools");out.allowedTools=[];out.disallowedTools=[]}if(out.loginNoBrowser&&!(out.command==="login"&&out.loginMethod==="browser")){out.unknown.push("--no-browser");out.loginNoBrowser=false}if(out.command==="logout"&&out.stopForce){out.logoutForce=true;out.stopForce=false}if(out.command!=="task-loop"){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.
24
+ push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.stopForce)out.unknown.push("--force");if(out.stopDrain)out.unknown.push("--drain");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles");if(out.project!==void 0)out.unknown.push("--project");if(out.verbose)out.unknown.push("--verbose");if(out.scheduleNow!==void 0)out.unknown.push("--now");if(out.scheduleCounts!==
25
+ void 0)out.unknown.push("--counts");if(out.scheduleGate!==void 0)out.unknown.push("--gate");if(out.ais!==void 0)out.unknown.push("--ai");if(out.workspace!==void 0)out.unknown.push("--workspace");if(out.aiConfigFile!==void 0)out.unknown.push("--ai-config-file");if(out.noAiConfigFile)out.unknown.push("--no-ai-config-file");if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.
26
+ skillDir!==void 0)out.unknown.push("--dir");if(out.skillAll)out.unknown.push("--all");if(out.skillConfig!==void 0)out.unknown.push("--config");if(out.revisionFrom!==void 0)out.unknown.push("--from");if(out.revisionTo!==void 0)out.unknown.push("--to");if(out.planEmpty)out.unknown.push("--empty");if(out.planCheck)out.unknown.push("--check")}if(out.yes&&out.command!=="task-loop"&&!isDomainRoute)out.unknown.push("--yes");const acceptsOutput=isDomainRoute||out.command==="whoami"||out.command==="task-\
27
+ loop"&&out.taskLoopAction==="status"||out.command==="task-loop"&&out.taskLoopAction==="skill"&&(out.skillOp==="list"||out.skillOp==="show"||out.skillOp==="check")||out.command==="task-loop"&&out.taskLoopAction==="runner"||out.command==="task-loop"&&out.taskLoopAction==="capacity"&&out.capacityOp==="list"||out.command==="task-loop"&&out.taskLoopAction==="trigger"&&(out.triggerOp==="list"||out.triggerOp==="show"||out.triggerOp==="history");if(!acceptsOutput){if(out.output!==void 0)out.unknown.push(
28
+ "--output");if(out.query!==void 0)out.unknown.push("--query")}else if(out.command==="task-loop"&&(out.skillOp==="check"||out.taskLoopAction==="runner"&&out.runnerOp==="remove")&&out.query!==void 0){out.unknown.push("--query")}if(!isDomainRoute){if(out.dryRun)out.unknown.push("--dry-run");if(out.debug)out.unknown.push("--debug");if(out.refresh)out.unknown.push("--refresh")}if(out.command==="api"&&out.refresh){out.unknown.push("--refresh");out.refresh=false}if(out.command==="task-loop"&&(out.taskLoopAction!==
29
+ "schedule"||out.scheduleOp!==void 0)){if(out.verbose)out.unknown.push("--verbose");if(out.scheduleNow!==void 0)out.unknown.push("--now");if(out.scheduleCounts!==void 0)out.unknown.push("--counts");if(out.scheduleGate!==void 0)out.unknown.push("--gate")}if(out.command==="task-loop"&&out.taskLoopAction!=="stop"&&out.stopForce){out.unknown.push("--force")}if(out.command==="task-loop"&&out.taskLoopAction!=="stop"&&out.stopDrain){out.unknown.push("--drain")}if(out.command==="task-loop"&&out.taskLoopAction===
30
+ "stop"&&out.stopForce&&out.stopDrain){out.unknown.push("--force \u3068 --drain \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093");out.stopForce=false;out.stopDrain=false}if(out.command==="task-loop"&&out.taskLoopAction!=="setup"){const yesConfirms=out.taskLoopAction==="charter"||out.taskLoopAction==="skill"||out.taskLoopAction==="settings"||out.taskLoopAction==="orientation"&&out.orientationOp!=="show"||out.taskLoopAction==="runner"&&out.runnerOp==="remove"||out.taskLoopAction===
31
+ "trigger"&&(out.triggerOp==="push"||out.triggerOp==="delete"||out.triggerOp==="release")||out.taskLoopAction==="schedule"&&out.scheduleOp!==void 0&&out.scheduleOp!=="list";if(out.yes&&!yesConfirms)out.unknown.push("--yes");if(out.ais!==void 0)out.unknown.push("--ai");if(out.workspace!==void 0)out.unknown.push("--workspace");if(out.aiConfigFile!==void 0)out.unknown.push("--ai-config-file");if(out.noAiConfigFile)out.unknown.push("--no-ai-config-file")}if(out.command==="task-loop"&&(out.taskLoopAction===
32
+ "stop"||out.taskLoopAction==="status")){if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}if(out.command==="task-loop"&&out.taskLoopAction==="setup"){if(out.engine!==void 0)out.unknown.push("--engine");if(out.safe)out.unknown.push("--safe");if(out.
33
+ daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}if(out.command==="task-loop"&&out.taskLoopAction==="charter"){if(out.charterOp===void 0){out.unknown.push("charter \u306B\u306F push / pull / history / diff / revert \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}if(out.charterOp!=="push"&&out.charterFile!==
34
+ void 0)out.unknown.push("--file");if(out.charterOp!=="push"&&out.charterOp!=="revert"&&out.charterRevision!==void 0){out.unknown.push("--revision")}pushRevisionFlagErrors(out,out.charterOp);if((out.charterOp==="history"||out.charterOp==="diff")&&out.yes)out.unknown.push("--yes");if(out.charterOp!=="pull"&&out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.
35
+ engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="skill"){if(out.skillOp===void 0){out.unknown.push(SKILL_OP_REQUIRED)}else if(out.skillOp==="check"){if(out.skillName!==void 0)out.unknown.push("skill check \u306F\u30B9\u30AD\u30EB\u540D\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u306E\u5168\u30B9\u30AD\u30EB\u3092\u691C\u67FB\u3057\u307E\u3059\uFF09");
36
+ if(out.skillAll)out.unknown.push("--all");if(out.yes)out.unknown.push("--yes")}else if(out.skillOp==="list"&&out.skillAll){out.unknown.push("--all")}else if(out.skillOp==="list"&&out.skillName!==void 0){out.unknown.push(`skill list \u306F\u30B9\u30AD\u30EB\u540D\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093: ${out.skillName}`)}else if(out.skillOp==="list"){}else if(out.skillOp!=="push"&&out.skillOp!=="pull"&&out.skillAll){out.unknown.push(`skill ${out.skillOp} \u306F --all \u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\uFF08\u30B9\u30AD\u30EB\u540D\u30921\u3064\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09`)}else if(out.
37
+ skillName===void 0&&!out.skillAll){out.unknown.push(out.skillOp==="push"||out.skillOp==="pull"?`skill ${out.skillOp} \u306B\u306F\u30B9\u30AD\u30EB\u540D\u304B --all \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`:`skill ${out.skillOp} \u306B\u306F\u30B9\u30AD\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`)}else if(out.skillName!==void 0&&out.skillAll){out.unknown.push("\u30B9\u30AD\u30EB\u540D\u3068 --all \u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093")}
38
+ if(out.skillOp!=="push"&&out.skillOp!=="revert"&&out.skillOp!=="delete"&&out.charterRevision!==void 0){out.unknown.push("--revision")}pushRevisionFlagErrors(out,out.skillOp);if((out.skillOp==="history"||out.skillOp==="diff"||out.skillOp==="list"||out.skillOp==="show")&&out.yes){out.unknown.push("--yes")}if(out.skillOp!=="push"&&out.skillOp!=="pull"&&out.skillDir!==void 0)out.unknown.push("--dir");if(out.skillOp!=="check"&&out.skillConfig!==void 0)out.unknown.push("--config");if(out.charterFile!==
39
+ void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="settings"){if(out.settingsOp===void 0)out.unknown.push(
40
+ "settings \u306B\u306F push / pull \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(out.settingsOp!=="push"&&out.charterFile!==void 0)out.unknown.push("--file");if(out.settingsOp!=="push"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.settingsOp!=="pull"&&out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runne\
41
+ r");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="orientation"){if(out.orientationOp===void 0)out.unknown.push(`orientation \u306B\u306F ${ORIENTATION_OPS.join(" / ")} \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`);if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==
42
+ void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="plan"){if(out.planOp===void 0)out.unknown.push("plan \u306B\u306F submit \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");
43
+ if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="capacity"){if(out.capacityOp===
44
+ void 0)out.unknown.push("capacity \u306B\u306F report / list \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--en\
45
+ gine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction==="runner"){if(out.runnerOp===void 0)out.unknown.push("runner \u306B\u306F list / remove \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(out.runnerOp==="remove"&&out.runnerTargetId===void 0){out.unknown.push("runner remove \u306B\u306F runner_id \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}
46
+ if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="tas\
47
+ k-loop"&&out.taskLoopAction==="trigger"){const op=out.triggerOp;if(op===void 0)out.unknown.push(`trigger \u306B\u306F ${TRIGGER_OPS.join(" / ")} \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`);if((op==="show"||op==="delete"||op==="release")&&out.triggerId===void 0){out.unknown.push(`trigger ${op} \u306B\u306F\u30C8\u30EA\u30AC\u30FCID\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`)}if(op==="push"&&out.charterFile===void 0)out.unknown.push("trigger p\
48
+ ush \u306B\u306F --file <\u30D1\u30B9> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(op!=="push"&&out.charterFile!==void 0)out.unknown.push("--file");if(op==="release"&&out.triggerKey===void 0)out.unknown.push("trigger release \u306B\u306F --key <\u30BF\u30B9\u30AF\u30AD\u30FC> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(op!=="release"&&op!=="history"&&out.triggerKey!==void 0)out.unknown.push("--key");if(op!=="history"&&out.triggerLimit!==void 0)out.unknown.push("--\
49
+ limit");if(op!=="push"&&op!=="delete"&&out.charterRevision!==void 0)out.unknown.push("--revision");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.safe)out.unknown.push("--safe");if(out.daemon)out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"&&out.taskLoopAction===
50
+ "schedule"&&out.scheduleOp!==void 0){const op=out.scheduleOp;const takesFile=op==="push"||op==="config"&&out.scheduleConfigOp==="push";if(op==="config"&&out.scheduleConfigOp===void 0){out.unknown.push("schedule config \u306B\u306F pull \u304B push \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044")}if(op==="delete"&&out.scheduleId===void 0)out.unknown.push("schedule delete \u306B\u306F\u5B9A\u7FA9ID\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");if(takesFile&&out.charterFile===void 0)
51
+ out.unknown.push(`schedule ${op==="push"?"push":"config push"} \u306B\u306F --file <\u30D1\u30B9> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`);if(!takesFile&&out.charterFile!==void 0)out.unknown.push("--file");if(!(op==="config"&&out.scheduleConfigOp==="pull")&&out.charterOut!==void 0)out.unknown.push("--out");if((op==="list"||op==="config"&&out.scheduleConfigOp!=="push")&&out.charterRevision!==void 0){out.unknown.push("--revision")}if(out.safe)out.unknown.push("--safe");if(out.daemon)
52
+ out.unknown.push("--daemon");if(out.forceRunner)out.unknown.push("--force-runner");if(out.engine!==void 0)out.unknown.push("--engine");if(out.interval!==void 0)out.unknown.push("--interval");if(out.maxCycles!==void 0)out.unknown.push("--max-cycles")}else if(out.command==="task-loop"){if(out.charterFile!==void 0)out.unknown.push("--file");if(out.charterOut!==void 0)out.unknown.push("--out");if(out.charterRevision!==void 0)out.unknown.push("--revision")}if(!(out.command==="task-loop"&&out.taskLoopAction===
53
+ "trigger")){if(out.triggerKey!==void 0)out.unknown.push("--key");if(out.triggerLimit!==void 0)out.unknown.push("--limit")}if(out.includeStopped&&!(out.command==="task-loop"&&out.taskLoopAction==="capacity"&&out.capacityOp==="list")){out.unknown.push("--include-stopped")}if(out.command==="task-loop"&&out.taskLoopAction!=="skill"){if(out.skillDir!==void 0)out.unknown.push("--dir");if(out.skillAll)out.unknown.push("--all");if(out.skillConfig!==void 0)out.unknown.push("--config")}if(out.command==="t\
54
+ ask-loop"&&out.taskLoopAction!=="skill"&&out.taskLoopAction!=="charter"){if(out.revisionFrom!==void 0)out.unknown.push("--from");if(out.revisionTo!==void 0)out.unknown.push("--to")}if(out.command==="task-loop"&&out.taskLoopAction!=="plan"){if(out.planEmpty)out.unknown.push("--empty");if(out.planCheck)out.unknown.push("--check")}return out}function isScheduleOp(raw){return raw==="list"||raw==="push"||raw==="delete"||raw==="config"}function isSkillManageOp(raw){return raw==="list"||raw==="show"||raw===
55
+ "delete"}var SKILL_OP_REQUIRED="skill \u306B\u306F push / pull / list / show / delete / history / diff / revert / check \u306E\u3044\u305A\u308C\u304B\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044";function isRevisionAwareOp(raw){return raw==="push"||raw==="pull"||raw==="history"||raw==="diff"||raw==="revert"}function pushRevisionFlagErrors(out,op){if(op!=="diff"&&out.revisionFrom!==void 0)out.unknown.push("--from");if(op!=="diff"&&op!=="revert"&&out.revisionTo!==void 0)out.unknown.push(
56
+ "--to")}export{TRIGGER_OPS,GLOBAL_FLAGS,parseArgv};
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-FKTYYARF.js";import"./chunk-2LOT54OO.js";import"./chunk-NJL3H2BB.js";import"./chunk-6FI4ZMZ7.js";import"./chunk-TJQZYYG3.js";import{formatUnknownArgs}from"./chunk-OKATZ4SN.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.96.1":"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.97.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
@@ -58,6 +58,23 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
58
58
  \u30B0\u30ED\u30FC\u30D0\u30EB\u8A2D\u5B9A\uFF08max_per_cycle / gates / require_zero_statuses\uFF09\u3092
59
59
  pull [--out <\u30D1\u30B9>]\uFF08\u65E2\u5B9A\u306F\u6A19\u6E96\u51FA\u529B\uFF09\u30FBpush --file <\u30D1\u30B9>\uFF08\u5DEE\u5206\u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
60
60
  \u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\uFF09
61
+ twp task-loop trigger list --project <\u30AD\u30FC|UUID>
62
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\uFF08\u540C\u3058\u30BF\u30B9\u30AF\u3067\u6210\u679C\u306E\u51FA\u306A\u3044\u5B9F\u884C\u304C\u7D9A\u3044\u305F\u3089\u3001\u6307\u5B9A\u3057\u305F\u30B9\u30AD\u30EB\u3092
63
+ \u81EA\u52D5\u3067\u5DEE\u3057\u8FBC\u3080\u8A2D\u5B9A\uFF09\u3092\u5168\u4EF6\u8868\u793A\uFF08--output json|table|tsv\u30FB--query\uFF09
64
+ twp task-loop trigger show --project <\u30AD\u30FC|UUID> <\u30C8\u30EA\u30AC\u30FCID>
65
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC1\u4EF6\u306E\u5B9A\u7FA9\u3092\u8868\u793A\uFF08--output json|table|tsv\u30FB--query\uFF09
66
+ twp task-loop trigger push --project <\u30AD\u30FC|UUID> --file <\u30D1\u30B9>
67
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\u3092\u30D5\u30A1\u30A4\u30EB\uFF081\u4EF6\u30FB\u914D\u5217\u3082\u53EF\uFF09\u304B\u3089\u4F5C\u6210\u30FB\u66F4\u65B0\u3002\u5DEE\u5206\u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
68
+ \u6848\u5185\u3055\u308C\u308B --yes --revision <ID>=<N>,... \u3067\u78BA\u5B9A\uFF08\u66F8\u3044\u305F\u5F8C\u306B\u30B5\u30FC\u30D0\u3068\u5DEE\u52060\u3092
69
+ \u78BA\u8A8D\uFF09\u3002\u30B5\u30FC\u30D0\u306B\u3060\u3051\u3042\u308B\u5B9A\u7FA9\u306F\u6D88\u3055\u306A\u3044
70
+ twp task-loop trigger delete --project <\u30AD\u30FC|UUID> <\u30C8\u30EA\u30AC\u30FCID>
71
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\u3092\u524A\u9664\uFF08\u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\u3002\u6B62\u3081\u308B\u3060\u3051\u306A\u3089
72
+ enabled: false \u3092 push\uFF09
73
+ twp task-loop trigger history --project <\u30AD\u30FC|UUID> [<\u30C8\u30EA\u30AC\u30FCID>] [--key <\u30BF\u30B9\u30AF\u30AD\u30FC>] [--limit <N>]
74
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\u304C\u767A\u706B\u3057\u305F\u8A18\u9332\u3092\u65B0\u3057\u3044\u9806\u306B\u8868\u793A\uFF08--output json|table|tsv\u30FB--query\uFF09
75
+ twp task-loop trigger release --project <\u30AD\u30FC|UUID> <\u30C8\u30EA\u30AC\u30FCID> --key <\u30BF\u30B9\u30AF\u30AD\u30FC>
76
+ \u6761\u4EF6\u30C8\u30EA\u30AC\u30FC\u304C\u6B62\u3081\u3066\u3044\u308B\u30BF\u30B9\u30AF\u3078\u306E\u6295\u5165\u3092\u3001\u624B\u52D5\u3067\u518D\u958B\u3067\u304D\u308B\u3088\u3046\u306B\u3059\u308B
77
+ \uFF08\u5BFE\u8C61\u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001--yes \u3067\u78BA\u5B9A\uFF09
61
78
  twp task-loop charter push --project <\u30AD\u30FC|UUID> --file <\u30D1\u30B9>
62
79
  \u61B2\u7AE0\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30B5\u30FC\u30D0\u3078\u767B\u9332\u3002\u5DEE\u5206\u3068 revision \u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
63
80
  \u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\uFF08\u305D\u306E\u5F8C\u30B5\u30FC\u30D0\u304C\u66F4\u65B0\u3055\u308C\u3066
@@ -1549,16 +1566,17 @@ TUI \u5185:
1549
1566
  TWP API \u3092\u547C\u3079\u307E\u3059\u3002TWP API \u306E\u30C4\u30FC\u30EB\u306F\u65E2\u5B9A\u3067\u78BA\u8A8D\u304C\u51FA\u307E\u3059\uFF08-p \u3067\u306F\u62D2\u5426\u3002--allowed-tools \u3067\u540D\u524D\u3092\u8A31\u53EF\uFF09\u3002
1550
1567
  \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
1551
1568
  `;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
1552
- `);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-TQIXRYIP.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1569
+ `);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}
1553
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=
1554
1571
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1555
- `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-E3WXF4PH.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)}
1572
+ `);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)}
1556
1573
 
1557
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}:
1558
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.
1559
1576
  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");
1560
- 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-LQNIOT7B.js");process.exitCode=await runTaskLoop(
1577
+ 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-HKSBT5YG.js");process.exitCode=await runTaskLoop(
1561
1578
  {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.
1562
1579
  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.
1563
- runnerTargetId,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.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.
1564
- disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-JXSWS4S5.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
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-WICUAA5V.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
+ !process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();