@tocca-systems/twp-cli 0.52.1 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +10 -0
- package/README.md +17 -0
- package/command-model/account-lock.json +3 -103
- package/command-model/address.json +1 -35
- package/command-model/agent-loop.json +31 -1116
- package/command-model/agent.json +18 -833
- package/command-model/ai-chat-history.json +7 -234
- package/command-model/ai-rag.json +2 -113
- package/command-model/ai-task-copilot.json +6 -230
- package/command-model/ai-token-usage.json +9 -416
- package/command-model/analysis-page-access-rule.json +6 -245
- package/command-model/analysis.json +2 -148
- package/command-model/announcement.json +7 -203
- package/command-model/api-key.json +7 -250
- package/command-model/api-usage.json +3 -118
- package/command-model/attendance-report-category.json +6 -258
- package/command-model/attendance-report-reason-detail.json +6 -286
- package/command-model/attendance-report-reason.json +6 -274
- package/command-model/attendance-report.json +7 -379
- package/command-model/attendance-timesheet.json +3 -87
- package/command-model/attendance.json +1 -29
- package/command-model/audit-log.json +3 -141
- package/command-model/auth.json +10 -263
- package/command-model/authorize.json +2 -55
- package/command-model/auto-charge.json +4 -144
- package/command-model/badge.json +4 -111
- package/command-model/billing.json +8 -292
- package/command-model/budget.json +12 -500
- package/command-model/business-card.json +1 -42
- package/command-model/business-place.json +5 -318
- package/command-model/capacity.json +5 -166
- package/command-model/catalog.json +7 -229
- package/command-model/chat-channel.json +17 -561
- package/command-model/chat-mention-group.json +4 -130
- package/command-model/chat-message.json +7 -291
- package/command-model/chat-tenant-connection.json +7 -168
- package/command-model/cli-auth.json +6 -207
- package/command-model/cms-tag.json +8 -318
- package/command-model/commuting-expense.json +12 -417
- package/command-model/company-case-document.json +1 -36
- package/command-model/company-contract-document.json +9 -345
- package/command-model/company.json +5 -595
- package/command-model/config.json +2 -58
- package/command-model/contract.json +5 -541
- package/command-model/credit.json +20 -624
- package/command-model/cross-project-report.json +1 -35
- package/command-model/customer-campaign.json +5 -176
- package/command-model/customer-contact.json +8 -533
- package/command-model/customer-interaction.json +10 -709
- package/command-model/customer-people.json +3 -124
- package/command-model/customer.json +3 -124
- package/command-model/cycle-time-analysis.json +1 -54
- package/command-model/dashboard-calendar.json +1 -35
- package/command-model/department.json +8 -379
- package/command-model/deposit-plan.json +2 -64
- package/command-model/deposit.json +10 -493
- package/command-model/desktop-release.json +2 -58
- package/command-model/domain-knowledge-doc.json +6 -282
- package/command-model/domain-knowledge.json +5 -241
- package/command-model/dynamo-attachment.json +7 -248
- package/command-model/dynamo-cms.json +25 -1317
- package/command-model/dynamo-inquiry.json +11 -453
- package/command-model/dynamo-support.json +9 -292
- package/command-model/email-change.json +2 -54
- package/command-model/equipment-category.json +4 -124
- package/command-model/equipment.json +12 -614
- package/command-model/estimate-case-document.json +9 -344
- package/command-model/estimate-format.json +5 -460
- package/command-model/estimate-no-rule.json +5 -231
- package/command-model/estimate.json +11 -1020
- package/command-model/evaluation-pdf.json +2 -63
- package/command-model/evaluation-period.json +8 -471
- package/command-model/evaluation.json +18 -781
- package/command-model/expense-settings.json +2 -55
- package/command-model/external-integration-proxy.json +30 -1256
- package/command-model/faq-notion-import.json +7 -241
- package/command-model/faq.json +7 -405
- package/command-model/favorite.json +5 -174
- package/command-model/feedback.json +14 -539
- package/command-model/fiscal-year-setting.json +5 -162
- package/command-model/floor-map.json +5 -170
- package/command-model/follow-up-message-template.json +6 -192
- package/command-model/git-hub-pr-status.json +1 -36
- package/command-model/goal-sheet.json +12 -345
- package/command-model/google-auth.json +2 -95
- package/command-model/hearing-auth.json +11 -324
- package/command-model/hearing-invitation.json +5 -247
- package/command-model/hearing-session.json +5 -189
- package/command-model/hearing.json +22 -924
- package/command-model/holiday.json +10 -357
- package/command-model/hr-checklist-template.json +5 -256
- package/command-model/hr-checklist.json +6 -180
- package/command-model/hr-qualification.json +2 -103
- package/command-model/html-editor.json +2 -50
- package/command-model/index.json +298 -1490
- package/command-model/inquiry-response-generator.json +1 -38
- package/command-model/inquiry-routing.json +12 -359
- package/command-model/invoice-auto-template.json +7 -240
- package/command-model/invoice-no-rule.json +5 -231
- package/command-model/invoice.json +13 -914
- package/command-model/job-title.json +9 -416
- package/command-model/knowledge-qa.json +2 -57
- package/command-model/knowledge-recommendation-feedback.json +2 -97
- package/command-model/knowledge-recommendation.json +1 -51
- package/command-model/legacy-migration.json +2 -71
- package/command-model/license-assignment.json +7 -291
- package/command-model/license-type.json +7 -283
- package/command-model/license.json +15 -520
- package/command-model/login-history.json +2 -94
- package/command-model/man-hour.json +2 -102
- package/command-model/master-announcement.json +8 -515
- package/command-model/master-billing.json +3 -112
- package/command-model/master-pricing.json +7 -241
- package/command-model/master-product.json +12 -518
- package/command-model/master-support-ai.json +1 -34
- package/command-model/master-support.json +10 -445
- package/command-model/master-tenant.json +22 -1904
- package/command-model/media-file-comment.json +4 -137
- package/command-model/media-file-hls.json +2 -42
- package/command-model/media-file-version.json +5 -183
- package/command-model/media-file.json +44 -1707
- package/command-model/media-folder.json +11 -393
- package/command-model/meeting-category.json +5 -190
- package/command-model/meeting-minutes.json +1 -63
- package/command-model/meeting-pdf.json +1 -36
- package/command-model/meeting-template.json +5 -222
- package/command-model/meeting.json +13 -1045
- package/command-model/member.json +2 -127
- package/command-model/microsoft-auth.json +2 -92
- package/command-model/milli-credit.json +8 -268
- package/command-model/ms365-calendar-o-auth.json +4 -110
- package/command-model/music-generation.json +6 -227
- package/command-model/my-task.json +5 -163
- package/command-model/my-training.json +4 -153
- package/command-model/news-perspective.json +7 -210
- package/command-model/note-category.json +4 -144
- package/command-model/note-comment.json +5 -220
- package/command-model/note-favorite.json +2 -42
- package/command-model/note-reaction.json +2 -57
- package/command-model/note-subscription.json +4 -105
- package/command-model/note.json +10 -599
- package/command-model/notification-recipient-rule.json +5 -226
- package/command-model/notification.json +10 -366
- package/command-model/notion-import.json +6 -260
- package/command-model/o-auth-client.json +6 -329
- package/command-model/onboarding-template.json +17 -701
- package/command-model/operating-hours.json +1 -95
- package/command-model/order-form-scan.json +1 -28
- package/command-model/org-chart.json +1 -35
- package/command-model/organization-announcement-category.json +4 -130
- package/command-model/organization-announcement.json +10 -600
- package/command-model/password-reset.json +3 -95
- package/command-model/payee.json +5 -218
- package/command-model/pc-situation.json +1 -124
- package/command-model/phone-change.json +2 -60
- package/command-model/policy-employee.json +3 -94
- package/command-model/policy.json +12 -501
- package/command-model/position.json +6 -300
- package/command-model/private-agent-loop.json +29 -845
- package/command-model/private-task.json +7 -446
- package/command-model/process.json +6 -232
- package/command-model/profit-analysis.json +3 -178
- package/command-model/profit-summary.json +1 -65
- package/command-model/project-assignment.json +1 -50
- package/command-model/project-cost.json +5 -250
- package/command-model/project-custom-field.json +6 -374
- package/command-model/project-digest.json +3 -111
- package/command-model/project-evaluation.json +8 -308
- package/command-model/project-health.json +3 -153
- package/command-model/project-member.json +9 -464
- package/command-model/project-process.json +7 -305
- package/command-model/project-profit-analysis.json +1 -54
- package/command-model/project-quality-check-corrective-task.json +3 -121
- package/command-model/project-quality-check-record.json +3 -126
- package/command-model/project-quality-check-scope.json +2 -82
- package/command-model/project-quality-check-status.json +2 -58
- package/command-model/project-repository.json +5 -175
- package/command-model/project-revenue.json +6 -287
- package/command-model/project-task-analytics.json +1 -36
- package/command-model/project-task-category.json +5 -198
- package/command-model/project-task-comment.json +7 -425
- package/command-model/project-task-form-options.json +1 -36
- package/command-model/project-task-label.json +5 -198
- package/command-model/project-task-link.json +4 -164
- package/command-model/project-task-milestone.json +5 -210
- package/command-model/project-task-rule.json +7 -371
- package/command-model/project-task-status.json +5 -216
- package/command-model/project-task-template.json +5 -259
- package/command-model/project-task-type.json +5 -235
- package/command-model/project-task-version.json +5 -210
- package/command-model/project-task-watcher.json +3 -96
- package/command-model/project-task.json +22 -1620
- package/command-model/project-template.json +7 -438
- package/command-model/project.json +10 -1063
- package/command-model/prospect-activity.json +5 -288
- package/command-model/prospect-promotion.json +2 -81
- package/command-model/prospect.json +9 -811
- package/command-model/public-search.json +1 -63
- package/command-model/purchase-ai-field-mapping.json +6 -288
- package/command-model/purchase-document.json +9 -344
- package/command-model/purchase-estimate-scan.json +1 -37
- package/command-model/purchase-no-rule.json +5 -237
- package/command-model/purchase.json +7 -603
- package/command-model/push-subscription.json +3 -103
- package/command-model/qualification-import.json +4 -86
- package/command-model/qualification.json +7 -247
- package/command-model/quality-check-item.json +5 -251
- package/command-model/rag.json +2 -71
- package/command-model/rating-criteria.json +2 -71
- package/command-model/receivable-closing.json +4 -100
- package/command-model/receivable.json +2 -58
- package/command-model/received-invoice.json +4 -146
- package/command-model/refresh-token.json +1 -26
- package/command-model/report-format-order.json +2 -43
- package/command-model/report-saved-tab.json +5 -149
- package/command-model/report.json +51 -2439
- package/command-model/retrospective.json +15 -586
- package/command-model/revoke.json +1 -29
- package/command-model/risk-analysis.json +1 -36
- package/command-model/role-template.json +4 -193
- package/command-model/sales-ai-review-knowledge-draft.json +1 -32
- package/command-model/sales-ai-review-knowledge-pr.json +1 -44
- package/command-model/sales-ai-review-reason-list.json +1 -65
- package/command-model/sales-pdf.json +8 -288
- package/command-model/sales-rounding-setting.json +2 -61
- package/command-model/sales.json +12 -420
- package/command-model/saved-tab.json +5 -145
- package/command-model/saved-task-filter.json +4 -149
- package/command-model/seal-impression.json +5 -190
- package/command-model/segment.json +6 -232
- package/command-model/sidebar-badge-setting.json +2 -55
- package/command-model/skill-analytics.json +4 -158
- package/command-model/skill-category.json +5 -230
- package/command-model/skill-evaluation-export.json +1 -44
- package/command-model/skill-evaluation-record.json +2 -135
- package/command-model/skill-micro-feedback.json +3 -127
- package/command-model/skill-role-assignment.json +3 -112
- package/command-model/skill.json +7 -322
- package/command-model/staff-kpi-setting.json +4 -181
- package/command-model/staff-kpi.json +2 -82
- package/command-model/staffing-plan.json +8 -464
- package/command-model/storage.json +9 -249
- package/command-model/subscription.json +6 -159
- package/command-model/supplier-payment-schedule.json +5 -232
- package/command-model/supplier-payment.json +6 -339
- package/command-model/survey-tracker.json +6 -393
- package/command-model/survey.json +36 -1763
- package/command-model/task-analysis.json +1 -29
- package/command-model/task-branch.json +7 -302
- package/command-model/task-recurrence.json +5 -256
- package/command-model/task-wiki-link.json +4 -150
- package/command-model/tenant-ai-key.json +10 -334
- package/command-model/tenant-egress-policy.json +7 -283
- package/command-model/tenant-email-settings.json +5 -138
- package/command-model/tenant-git-hub-settings.json +13 -356
- package/command-model/tenant-master-email-change.json +2 -54
- package/command-model/tenant-rag-settings.json +9 -377
- package/command-model/tenant-registration.json +3 -123
- package/command-model/tenant-search.json +1 -35
- package/command-model/tenant-settings.json +24 -1223
- package/command-model/terms.json +3 -85
- package/command-model/test-execution.json +10 -362
- package/command-model/test-scenario.json +9 -379
- package/command-model/token.json +1 -26
- package/command-model/training-attendance.json +12 -504
- package/command-model/training-master.json +6 -309
- package/command-model/training-session.json +11 -599
- package/command-model/unified-search.json +2 -122
- package/command-model/update-record.json +2 -85
- package/command-model/user-api-key.json +7 -352
- package/command-model/user-assignment-calendar.json +1 -42
- package/command-model/user-assignment.json +15 -658
- package/command-model/user-contract-type.json +6 -448
- package/command-model/user-contract.json +7 -754
- package/command-model/user-group.json +7 -142
- package/command-model/user-info.json +1 -29
- package/command-model/user-invitation.json +7 -1040
- package/command-model/user-management.json +12 -1523
- package/command-model/user-qualification.json +4 -162
- package/command-model/user-seal-generate.json +1 -44
- package/command-model/user-shortcut-setting.json +3 -103
- package/command-model/user-skill-profile.json +11 -535
- package/command-model/user.json +30 -979
- package/command-model/video-generation.json +8 -451
- package/command-model/web-search.json +1 -62
- package/command-model/well-known.json +2 -58
- package/command-model/whisper.json +2 -83
- package/command-model/wiki-collection.json +13 -452
- package/command-model/wiki-notion-import.json +5 -167
- package/command-model/wiki-template.json +5 -182
- package/command-model/wiki.json +11 -468
- package/command-model/worker-agent-run.json +5 -180
- package/command-model/worker-agent.json +10 -519
- package/command-model/workflow-ai-review.json +3 -103
- package/command-model/workflow-analysis.json +1 -54
- package/command-model/workflow-approval-delegation.json +4 -130
- package/command-model/workflow-approval.json +8 -252
- package/command-model/workflow-instance.json +7 -273
- package/command-model/workflow-tracker.json +8 -476
- package/command-model/workflow.json +9 -548
- package/command-model/workload-alert.json +3 -100
- package/dist/{agent-loop-QP6UHX4R.js → agent-loop-KBQJP5E7.js} +1 -1
- package/dist/{ai-dispatch-VDNMECKK.js → ai-dispatch-3JJ4ICJF.js} +2 -2
- package/dist/{api-command-SJM57WWD.js → api-command-2WZSR4A4.js} +1 -1
- package/dist/{app-VAVWKD2V.js → app-6UCOZYOP.js} +1 -1
- package/dist/{chunk-SXH3STVV.js → chunk-2PHBRKVQ.js} +1 -1
- package/dist/{chunk-QVPU4HHG.js → chunk-A576CQJW.js} +18 -17
- package/dist/chunk-N33PUUKC.js +17 -0
- package/dist/{chunk-SOTIQ42G.js → chunk-YWLGBBJZ.js} +3 -3
- package/dist/cli.js +19 -8
- package/dist/{commands-BXU44JWS.js → commands-VRMKSITP.js} +47 -45
- package/dist/{commands-TYUK7MV4.js → commands-X4Y4V5PP.js} +1 -1
- package/dist/{logout-guard-BIF2B7JE.js → logout-guard-7DAWGOM3.js} +1 -1
- package/dist/{media-XHCYH2ZJ.js → media-YVT2ONKI.js} +1 -1
- package/dist/{registry-BNMOSTLK.js → registry-O2QCH7GB.js} +1 -1
- package/dist/{run-5FK7FTER.js → run-7STSWQB3.js} +1 -1
- package/dist/server-settings-6NHVHMPS.js +3 -0
- package/dist/{setup-JGGFVRUW.js → setup-SIL2ELR4.js} +1 -1
- package/dist/{teams-GPXJPXNC.js → teams-5EXL65HN.js} +53 -25
- package/package.json +1 -1
- package/dist/chunk-SA7A5WF2.js +0 -15
- package/dist/server-settings-TUBJ4P57.js +0 -3
|
@@ -1,105 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"domain": "workload-alert",
|
|
3
3
|
"operations": [
|
|
4
|
-
{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"operationId": "workloadAlert.me",
|
|
8
|
-
"method": "GET",
|
|
9
|
-
"path": "/v2/analysis/workload-alerts/me",
|
|
10
|
-
"summary": "本人用: 自分の負荷状況サマリー",
|
|
11
|
-
"pathParams": [],
|
|
12
|
-
"queryParams": [
|
|
13
|
-
{
|
|
14
|
-
"name": "limit",
|
|
15
|
-
"type": "integer",
|
|
16
|
-
"required": false,
|
|
17
|
-
"description": "1ページあたりの件数",
|
|
18
|
-
"source": "curation"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"name": "cursor",
|
|
22
|
-
"type": "string",
|
|
23
|
-
"required": false,
|
|
24
|
-
"description": "次ページの取得に使うカーソル",
|
|
25
|
-
"source": "curation"
|
|
26
|
-
}
|
|
27
|
-
],
|
|
28
|
-
"body": null,
|
|
29
|
-
"resultPath": "data",
|
|
30
|
-
"risk": "read",
|
|
31
|
-
"aliases": []
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"name": "process",
|
|
35
|
-
"domain": "workload-alert",
|
|
36
|
-
"operationId": "workloadAlert.process",
|
|
37
|
-
"method": "POST",
|
|
38
|
-
"path": "/v2/analysis/workload-alerts/process",
|
|
39
|
-
"summary": "バッチ検知実行(スケジューラーまたは手動トリガー)",
|
|
40
|
-
"pathParams": [],
|
|
41
|
-
"queryParams": [],
|
|
42
|
-
"body": {
|
|
43
|
-
"schema": {
|
|
44
|
-
"type": "object",
|
|
45
|
-
"properties": {
|
|
46
|
-
"date": {
|
|
47
|
-
"type": [
|
|
48
|
-
"string",
|
|
49
|
-
"null"
|
|
50
|
-
],
|
|
51
|
-
"format": "date"
|
|
52
|
-
},
|
|
53
|
-
"dry_run": {
|
|
54
|
-
"type": [
|
|
55
|
-
"boolean",
|
|
56
|
-
"null"
|
|
57
|
-
]
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
"resultPath": null,
|
|
63
|
-
"risk": "write",
|
|
64
|
-
"aliases": []
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"name": "team",
|
|
68
|
-
"domain": "workload-alert",
|
|
69
|
-
"operationId": "workloadAlert.team",
|
|
70
|
-
"method": "GET",
|
|
71
|
-
"path": "/v2/analysis/workload-alerts/team",
|
|
72
|
-
"summary": "マネージャー用: チームの負荷状況一覧",
|
|
73
|
-
"pathParams": [],
|
|
74
|
-
"queryParams": [
|
|
75
|
-
{
|
|
76
|
-
"name": "date",
|
|
77
|
-
"type": [
|
|
78
|
-
"string",
|
|
79
|
-
"null"
|
|
80
|
-
],
|
|
81
|
-
"required": false,
|
|
82
|
-
"source": "spec"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"name": "limit",
|
|
86
|
-
"type": "integer",
|
|
87
|
-
"required": false,
|
|
88
|
-
"description": "1ページあたりの件数",
|
|
89
|
-
"source": "curation"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"name": "cursor",
|
|
93
|
-
"type": "string",
|
|
94
|
-
"required": false,
|
|
95
|
-
"description": "次ページの取得に使うカーソル",
|
|
96
|
-
"source": "curation"
|
|
97
|
-
}
|
|
98
|
-
],
|
|
99
|
-
"body": null,
|
|
100
|
-
"resultPath": "data",
|
|
101
|
-
"risk": "read",
|
|
102
|
-
"aliases": []
|
|
103
|
-
}
|
|
4
|
+
{"name":"me","domain":"workload-alert","operationId":"workloadAlert.me","method":"GET","path":"/v2/analysis/workload-alerts/me","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":"data","risk":"read","aliases":[]},
|
|
5
|
+
{"name":"process","domain":"workload-alert","operationId":"workloadAlert.process","method":"POST","path":"/v2/analysis/workload-alerts/process","summary":"バッチ検知実行(スケジューラーまたは手動トリガー)","pathParams":[],"queryParams":[],"body":{"schema":{"type":"object","properties":{"date":{"type":["string","null"],"format":"date"},"dry_run":{"type":["boolean","null"]}}}},"resultPath":null,"risk":"write","aliases":[]},
|
|
6
|
+
{"name":"team","domain":"workload-alert","operationId":"workloadAlert.team","method":"GET","path":"/v2/analysis/workload-alerts/team","summary":"マネージャー用: チームの負荷状況一覧","pathParams":[],"queryParams":[{"name":"date","type":["string","null"],"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":"data","risk":"read","aliases":[]}
|
|
104
7
|
]
|
|
105
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{stepToItem}from"./chunk-LUQ2KE6Y.js";import{loadLocalConfig}from"./chunk-
|
|
3
|
+
import{stepToItem}from"./chunk-LUQ2KE6Y.js";import{loadLocalConfig}from"./chunk-A576CQJW.js";import{loadAiConfig}from"./chunk-AEJHDFXB.js";import"./chunk-N2UVRM3Z.js";import"./chunk-JTJWDV5U.js";import"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-MI6HVYR2.js";import{requireResolved,singleRef,withResolved}from"./chunk-PS5QFKHB.js";import"./chunk-II5RVJQN.js";import{acknowledgement,
|
|
4
4
|
isRecord,pick}from"./chunk-3ZRMMBP5.js";import{ApiResponseError,UsageError}from"./chunk-VFPY2A23.js";import"./chunk-PMOUHEJQ.js";import"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u306E\u30A2\u30A4\u30C6\u30E0";var STATUSES=["pending","processing","completed","failed"];var AI_TYPES=["claude","gemini","codex","copilot"];var EFFORTS=["low","medium","high","xhigh","max"];var PRIORITIES=["P0","P1","P2","P3"];var LIST_COLUMNS=["item_id","status","task_key","label","ai_type","ai_effort","runner_id","created_at"];var GET_COLUMNS=["item_id","status","task_key","label","prompt","ai_type","ai_model","ai_effort","runn\
|
|
5
5
|
er_id","attempt_count","reclaim_count","error_message","created_by_name","created_at","started_at","completed_at"];var HISTORY_COLUMNS=["item_id","status","task_key","skill","ai_type","runner_id","duration_ms","cost_usd","created_at"];var PROJECT_FLAG={name:"--project",summary:"\u30AD\u30E5\u30FC\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\u3002\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"\
|
|
6
6
|
<\u30B3\u30FC\u30C9|ID>"};var ITEM_FLAG={name:"--item",summary:"\u30A2\u30A4\u30C6\u30E0\u306E ID\uFF08item_id\uFF09\u3002\u4F4D\u7F6E\u5F15\u6570\u3068\u540C\u3058\u610F\u5473\uFF08\u4E21\u65B9\u6307\u5B9A\u306F\u30A8\u30E9\u30FC\uFF09",takesValue:true,placeholder:"<\u30A2\u30A4\u30C6\u30E0ID>"};var FORBIDDEN_CORE="\u30C6\u30CA\u30F3\u30C8\u306E\u7BA1\u7406\u8005\uFF08admin \u30ED\u30FC\u30EB\uFF09\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\uFF08\u500B\u4EBA\u30AD\u30E5\u30FC\u3092\u9664\u304F\uFF09";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{failureHint,isAuthError,isCliFatalText,isRateLimited,isServerAiType,isUntrusted,maxTurnsReached,rateLimitWaitSeconds,tailForScan}from"./chunk-ZOOEH7ZE.js";import{expandServerSkills,prepareSkillOverlay}from"./chunk-TVODNAPX.js";import"./chunk-YJZT3UD3.js";import"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{detectAiClis}from"./chunk-T4QZO6RQ.js";import{
|
|
4
|
-
|
|
3
|
+
import{failureHint,isAuthError,isCliFatalText,isRateLimited,isServerAiType,isUntrusted,maxTurnsReached,rateLimitWaitSeconds,tailForScan}from"./chunk-ZOOEH7ZE.js";import{expandServerSkills,prepareSkillOverlay}from"./chunk-TVODNAPX.js";import"./chunk-YJZT3UD3.js";import"./chunk-A4LFG7MW.js";import"./chunk-VRBI2NPI.js";import{detectAiClis}from"./chunk-T4QZO6RQ.js";import{DEFAULT_CLAUDE_LAUNCHER,activeSlotPath,detectClaudeAutoSwitch,isClaudeAi,isUsableModelId,modelFitsRoute,
|
|
4
|
+
resolveSpawnTarget,usesBedrock,wrapWithAutoSwitch}from"./chunk-AEJHDFXB.js";import{isForceOnly,killProcessTree,system32}from"./chunk-N2UVRM3Z.js";import"./chunk-JTJWDV5U.js";import"./chunk-GY7KI5E5.js";import"./chunk-VFPY2A23.js";import{findExecutable,isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import{spawnSync}from"child_process";import fs2 from"fs";import path2 from"path";import{spawn}from"child_process";import fs from"fs";import path from"path";var FINAL_REPORT_BEGIN="<<<AI_FINAL_REPORT>>>";var FINAL_REPORT_END="<<<END_AI_FINAL_REPORT>>>";var ClaudeStreamRenderer=class{constructor(now=()=>new Date){this.now=now}now;toolNames=new Map;toolCount=0;result={subtype:null,isError:null,numTurns:null,costUsd:null,durationMs:null,tokensIn:null,tokensOut:null,rateLimited:false,resetsAt:null,finalText:""};push(line){const trimmed=line.trim();if(trimmed==="")return[];let event;try{const parsed=JSON.parse(trimmed);if(parsed===null||typeof parsed!=="\
|
|
5
5
|
object"||Array.isArray(parsed)){return[line]}event=parsed}catch{return[line]}switch(event["type"]){case"rate_limit_event":return this.onRateLimit(event);case"assistant":return this.onAssistant(event);case"user":return this.onUser(event);case"result":return this.onResult(event);default:return event["type"]==="system"?[]:[line]}}sawRateLimit(){return this.result.rateLimited}lastRateLimitNote="";onRateLimit(event){const info=event["rate_limit_info"];if(info===null||typeof info!=="object")return[];const rec=info;
|
|
6
6
|
const status=typeof rec["status"]==="string"?rec["status"]:"";const resets=typeof rec["resetsAt"]==="number"?rec["resetsAt"]:null;if(status==="")return[];const at=isSaneEpochSec(resets)?` resets=${new Date(resets*1e3).toISOString()}`:"";if(status.startsWith("allowed")){if(status==="allowed")return[];const seen=`${status}|${resets??""}`;if(seen===this.lastRateLimitNote)return[];this.lastRateLimitNote=seen;return[this.line(`\u2139\uFE0F \u4E0A\u9650\u306B\u63A5\u8FD1\uFF08status=${status}${at}\uFF09\u2014 \u5B9F\
|
|
7
7
|
\u884C\u306F\u7D99\u7D9A\u3057\u307E\u3059`)]}if(resets!==null)this.result.resetsAt=resets;this.result.rateLimited=true;return[this.line(`\u26A0\uFE0F \u30EC\u30FC\u30C8\u30EA\u30DF\u30C3\u30C8\u901A\u77E5: status=${status}${at}`)]}onAssistant(event){const out=[];for(const block of contentBlocks(event)){if(block.type==="tool_use"){const name=typeof block.name==="string"?block.name:"tool";if(typeof block.id==="string")this.toolNames.set(block.id,name);this.toolCount+=1;out.push(this.line(`>> ${name}${toolDetail(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-NZ7WI4RZ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{NO_REDACT_FLAG,NO_REDACT_NOTICE,exitCodeFor,fetchAllPages,reportError}from"./chunk-
|
|
3
|
+
import{CommandModelMissingError,MAX_REPORTED_VIOLATIONS,loadCommandModelDomain,loadCommandModelRoutes,validateBody,validateQuery}from"./chunk-NZ7WI4RZ.js";import{describeWaitResult,parseWaitOptions,waitUntilTerminal}from"./chunk-WVCEKC7V.js";import{NO_REDACT_FLAG,NO_REDACT_NOTICE,exitCodeFor,fetchAllPages,reportError}from"./chunk-2PHBRKVQ.js";import"./chunk-YWLGBBJZ.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderOutput}from"./chunk-MXKAEPXA.js";
|
|
4
4
|
import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import"./chunk-Q3B65OFC.js";import{parseOperationArgs,repeatedValues}from"./chunk-RX5HWI4L.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,envelopePaging,isPageNumberEnvelope,pageRangeNotes,positiveInteger,readEnvelopeCursor,readPageNumberCursor,shellQuote}from"./chunk-MI6HVYR2.js";import{readBody}from"./chunk-6LSQCOCJ.js";import"./chunk-FEJDU42E.js";import"./chunk-GMBJTG6A.js";import{
|
|
5
5
|
ApiError,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import"./chunk-QBGEYQ2I.js";import"./chunk-II5RVJQN.js";import"./chunk-3ZRMMBP5.js";import{ApiResponseError,EXIT_OK,EXIT_WAIT_TIMEOUT,NetworkError,UsageError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,
|
|
6
6
|
resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import"./chunk-RZVI6PMW.js";import{HELP_TOKEN}from"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MIN_SEGMENT_CHARS=3;var parsedCache=new WeakMap;function splitSegments(path){return path.split("/").filter(segment=>segment!=="")}function parseRoutes(routes){const cached=parsedCache.get(routes);if(cached!==void 0)return cached;const parsed=[];for(const[key,domain]of Object.entries(routes.routes)){const space=key.indexOf(" ");if(space<=0)continue;const template=key.slice(space+1);parsed.push({method:key.slice(0,space),template,domain,segments:splitSegments(template).map(segment=>/^\{[^/{}]+\}$/.
|
|
@@ -1212,7 +1212,7 @@ cwd()){const listed=await gitListFiles(cwd2);const raw=listed??await walkFiles(c
|
|
|
1212
1212
|
1;const after=/^[^\s]*/.exec(text.slice(cursor))?.[0]??"";return{query,start,end:cursor+after.length}}var TWP_SLASH_ROUTES={"/tasks":{domain:"task",operation:"list"},"/task":{domain:"task",operation:"get"},"/projects":{domain:"project",operation:"list"}};function isTwpSlashCommand(name){return Object.hasOwn(TWP_SLASH_ROUTES,name)}async function runTwpSlashCommand(name,args,deps){const route=TWP_SLASH_ROUTES[name];if(!Object.hasOwn(TWP_SLASH_ROUTES,name)||route===void 0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u30B3\u30DE\u30F3\u30C9: ${name}
|
|
1213
1213
|
`}}const parsed=parseArgv([route.domain,route.operation,...args]);if(parsed.command!=="domain"||parsed.domain!==route.domain){return{code:2,out:"",err:`${name}: \u3053\u306E\u5F15\u6570\u306F\u4F7F\u3048\u307E\u305B\u3093\uFF08${args.join(" ")}\uFF09
|
|
1214
1214
|
`}}if(parsed.unknown.length>0){return{code:2,out:"",err:`\u4E0D\u660E\u306A\u5F15\u6570: ${parsed.unknown.join(" ")}
|
|
1215
|
-
`}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-
|
|
1215
|
+
`}}let out="";let err="";const io={out:text=>void(out+=text),err:text=>void(err+=text),isTty:true};const globals={profile:parsed.profile??deps.profile,...parsed.output!==void 0?{output:parsed.output}:{},...parsed.query!==void 0?{query:parsed.query}:{},dryRun:parsed.dryRun,debug:parsed.debug,yes:parsed.yes,refresh:parsed.refresh};const{runDomain}=await import("./run-7STSWQB3.js");try{const code=await runDomain({domain:route.domain,...parsed.operation!==void 0?{operation:parsed.operation}:
|
|
1216
1216
|
{},argv:parsed.domainArgv,help:parsed.domainHelp,globals,version:deps.version,io,...deps.fetchImpl!==void 0?{fetchImpl:deps.fetchImpl}:{}});return{code,out,err}}catch(e){return{code:1,out,err:`${err}${e.message}
|
|
1217
1217
|
`}}}var GIT_LOG_OUTPUT=["9f3c1a2 feat(ui): \u4E00\u89A7\u306E\u30D5\u30A3\u30EB\u30BF\u3092 URL \u30AF\u30A8\u30EA\u3068\u540C\u671F\u3059\u308B","4b8e0d7 fix(ui): \u4EEE\u60F3\u30B9\u30AF\u30ED\u30FC\u30EB\u306E\u884C\u9AD8\u3055\u3092\u5B9F\u6E2C\u5024\u306B\u5408\u308F\u305B\u308B","c15a99e refactor(api): \u4E00\u89A7\u53D6\u5F97\u306E\u30DA\u30FC\u30B8\u30F3\u30B0\u51E6\u7406\u3092\u5171\u901A\u5316\u3059\u308B","2d70f4b test: \u4E00\u89A7\u30D5\u30A3\u30EB\u30BF\u306E\u56DE\u5E30\u30C6\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B",
|
|
1218
1218
|
"a6e2b38 fix(api): \u7A7A\u306E\u691C\u7D22\u6761\u4EF6\u3067\u5168\u4EF6\u8FD4\u3089\u306A\u3044\u3088\u3046\u306B\u3059\u308B","7c40d51 chore(deps): \u958B\u767A\u4F9D\u5B58\u3092\u6700\u65B0\u3078\u66F4\u65B0\u3059\u308B","e83b1c6 docs: \u30BB\u30C3\u30C8\u30A2\u30C3\u30D7\u624B\u9806\u306B Node 22 \u306E\u524D\u63D0\u3092\u8FFD\u8A18\u3059\u308B","b91f7a4 fix(ui): \u30E2\u30FC\u30C0\u30EB\u306E\u91CD\u306A\u308A\u9806\u3092\u6307\u5B9A\u3059\u308B","5a2c8e0 perf(api): \u4E00\u89A7\u306E N+1 \u3092\u89E3\u6D88\u3059\u308B",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{loadDomain}from"./chunk-
|
|
3
|
+
import{loadDomain}from"./chunk-YWLGBBJZ.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-MXKAEPXA.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-AUAZP2G7.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{parseOperationArgs}from"./chunk-RX5HWI4L.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{Resolver,requireDefaultProject}from"./chunk-FEJDU42E.js";
|
|
4
4
|
import{ResolveError}from"./chunk-GMBJTG6A.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,EXIT_WAIT_TIMEOUT,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{AuthSession,NotLoggedInError,SessionExpiredError,
|
|
5
5
|
loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-6A2JSS76.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-K2ONOH3L.js";import{stringWidth}from"./chunk-WVS4W5FY.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var NO_REDACT_FLAG={name:"--no-redact",summary:"\u5FDC\u7B54\u306E\u4F0F\u5B57\u5316\u3092\u89E3\u9664\u3057\u3066\u751F\u306E\u5024\u3092\u51FA\u3059\uFF08\u9375\u306E\u53D7\u3051\u53D6\u308A\u7B49\uFF09",takesValue:false};var NO_REDACT_NOTICE="\u6CE8\u8A18: --no-redact \u306E\u305F\u3081\u51FA\u529B\u3092\u4F0F\u5B57\u5316\u3057\u307E\u305B\u3093\uFF08\u7AEF\u672B\u3068\u30ED\u30B0\u306B\u5E73\u6587\u3067\u6B8B\u308A\u307E\u3059\uFF09\u3002";function withCommonFlags(flags){return flags.some(flag=>flag.
|
|
6
6
|
name===NO_REDACT_FLAG.name)?flags:[...flags,NO_REDACT_FLAG]}function alignedList(entries,indent=" "){const width=entries.reduce((max,[left])=>Math.max(max,stringWidth(left)),0);return entries.map(([left,right])=>`${indent}${left}${" ".repeat(Math.max(0,width-stringWidth(left)))} ${right}`).join("\n")}function subresourcesOf(resource){return resource.subresources??[]}function renderResourceHelp(resource,path2){const subresources=subresourcesOf(resource);const operationSection=resource.operations.length===0?"":`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{
|
|
3
|
+
import{DEFAULT_CLAUDE_LAUNCHER,loadAiConfig}from"./chunk-AEJHDFXB.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{projectFileKey}from"./chunk-GY7KI5E5.js";import{findExecutable,isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import{isBoolishTrue}from"./chunk-5WGOHFAS.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";function stringField(value,key,fallback,warnings){if(value===void 0||value===null)return fallback;if(typeof value!=="string"||value.trim()===""){warnings.push(`claude_launcher.${key} \u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u65E2\u5B9A '${fallback}' \u3092\u4F7F\u3044\u307E\u3059\uFF09`);return fallback}return value.trim()}function argvField(value,key,fallback,warnings,allowEmpty){if(value===void 0||value===null)return fallback;
|
|
4
4
|
if(!Array.isArray(value)){warnings.push(`claude_launcher.${key} \u306F\u6587\u5B57\u5217\u306E\u914D\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u65E2\u5B9A [${fallback.join(", ")}] \u3092\u4F7F\u3044\u307E\u3059\uFF09`);return fallback}for(const v of value){if(typeof v!=="string"||v.trim()===""){warnings.push(`claude_launcher.${key} \u306E\u8981\u7D20\u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u65E2\u5B9A [${fallback.
|
|
5
5
|
join(", ")}] \u3092\u4F7F\u3044\u307E\u3059\uFF09`);return fallback}}if(value.length===0&&!allowEmpty){warnings.push(`claude_launcher.${key} \u306F1\u3064\u4EE5\u4E0A\u306E\u5F15\u6570\u304C\u8981\u308A\u307E\u3059\uFF08\u65E2\u5B9A [${fallback.join(", ")}] \u3092\u4F7F\u3044\u307E\u3059\uFF09`);return fallback}return value.map(v=>v.trim())}function probeMatchField(value,warnings){const raw=stringField(value,"probe_match",DEFAULT_CLAUDE_LAUNCHER.probeMatch,warnings);try{new RegExp(raw,"m")}catch(err){
|
|
6
6
|
warnings.push(`claude_launcher.probe_match \u306F\u6B63\u898F\u8868\u73FE\u3068\u3057\u3066\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08${err.message}\uFF09\u3002\u65E2\u5B9A '${DEFAULT_CLAUDE_LAUNCHER.probeMatch}' \u3092\u4F7F\u3044\u307E\u3059`);return DEFAULT_CLAUDE_LAUNCHER.probeMatch}return raw}var NOT_YET_APPLIED=[{key:"probe",get:c=>c.probe},{key:"probe_match",get:c=>c.probeMatch},{key:"exec_args",get:c=>c.execArgs},{key:"active_args",get:c=>c.activeArgs}];function sameAsDefault(key,parsed){
|
|
@@ -46,7 +46,7 @@ env,now=()=>Date.now()){this.probe=probe;this.cwd=cwd;this.log=log;this.env=env;
|
|
|
46
46
|
if(outcome.ok){this.lastSuccess=outcome.payload;this.lastSuccessAt=at}const reuse=!outcome.ok&&this.lastSuccess!==null&&at-this.lastSuccessAt<REUSE_LAST_SUCCESS_MS;this.cached=reuse?this.lastSuccess:outcome.payload;if(reuse){this.log(" \u76F4\u524D\u306B\u53D6\u5F97\u3067\u304D\u305F\u67A0\u60C5\u5831\u3092\u9001\u308A\u307E\u3059\uFF08\u4E00\u6642\u7684\u306A\u5931\u6557\u3068\u3057\u3066\u6271\u3044\u307E\u3059\uFF09")}this.lastProbedAt=this.now();this.pending=true}finally{this.running=false}}take(){
|
|
47
47
|
if(!this.pending||this.cached===null)return null;this.pending=false;return this.cached}rearm(){if(this.cached!==null)this.pending=true}};function evaluateOwnership(item,runnerId,runId){if(!item){return{verdict:"unknown",reason:"\u30A2\u30A4\u30C6\u30E0\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F"}}if(runnerId===""||runId===""){return{verdict:"unknown",reason:"\u81EA\u5206\u306E runner_id / run_id \u304C\u7A7A\u3067\u3059"}}const status=(item.status??"").trim();if(status===""){return{verdict:"unknown",reason:"\u5FDC\u7B54\u306B status \u304C\u3042\u308A\u307E\u305B\u3093"}}if(status!=="processing"){return{verdict:"\
|
|
48
48
|
lost",reason:`status=${status}\uFF08processing \u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09`}}const itemRunner=(item.runner_id??"").trim();const itemRun=(item.run_id??"").trim();if(itemRunner===""||itemRun===""){return{verdict:"unknown",reason:"\u5FDC\u7B54\u306B runner_id / run_id \u304C\u3042\u308A\u307E\u305B\u3093"}}if(itemRunner!==runnerId){return{verdict:"lost",reason:`\u5225\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08runner=${itemRunner}\uFF09`}}
|
|
49
|
-
if(itemRun!==runId){return{verdict:"lost",reason:`\u540C\u3058\u6A5F\u4F53\u306E\u5225\u306E\u8D77\u52D5\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08run_id \u304C\u4E00\u81F4\u3057\u307E\u305B\u3093\uFF09`}}return{verdict:"held",reason:"processing \u304B\u3064 runner_id / run_id \u304C\u4E00\u81F4"}}var OWNERSHIP_CHECK_INTERVAL_SEC=60;var NO_OPERATIONS={exclusiveSkills:new Set,statusEndpoint:null,highRiskSkills:new Set,preflightHosts:[],releaseRecoverySkill:null,postSuccessEnqueue:new Map,contractSkills:new Set,zeroTargetGates:{},countHooks:new Map};var DEFAULT_STATUS_PATH="/api/release/list";var DEFAULT_STATUS_HEADER="X-API-Key";function stringArray(value,label,warnings){if(value===void 0||value===null)return[];if(!Array.isArray(value)){warnings.push(`operations.${label} \u306F\u914D\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7121\u8996\u3057\u307E\u3059\uFF09`);
|
|
49
|
+
if(itemRun!==runId){return{verdict:"lost",reason:`\u540C\u3058\u6A5F\u4F53\u306E\u5225\u306E\u8D77\u52D5\u304C\u4FDD\u6301\u3057\u3066\u3044\u307E\u3059\uFF08run_id \u304C\u4E00\u81F4\u3057\u307E\u305B\u3093\uFF09`}}return{verdict:"held",reason:"processing \u304B\u3064 runner_id / run_id \u304C\u4E00\u81F4"}}var OWNERSHIP_CHECK_INTERVAL_SEC=60;var NO_OPERATIONS={exclusiveSkills:new Set,statusEndpoint:null,highRiskSkills:new Set,preflightHosts:[],releaseRecoverySkill:null,postSuccessEnqueue:new Map,contractSkills:new Set,zeroTargetGates:{},countHooks:new Map,planSkill:null};var DEFAULT_STATUS_PATH="/api/release/list";var DEFAULT_STATUS_HEADER="X-API-Key";function stringArray(value,label,warnings){if(value===void 0||value===null)return[];if(!Array.isArray(value)){warnings.push(`operations.${label} \u306F\u914D\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7121\u8996\u3057\u307E\u3059\uFF09`);
|
|
50
50
|
return[]}const out=[];for(const v of value){if(typeof v!=="string"||v.trim()===""){warnings.push(`operations.${label} \u306E\u8981\u7D20\u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u3053\u306E\u8981\u7D20\u306F\u7121\u8996\u3057\u307E\u3059\uFF09`);continue}out.push(v.trim())}return out}function stringMap(value,label,warnings){const out=new Map;if(value===void 0||value===null)return out;if(typeof value!=="object"||Array.isArray(value)){
|
|
51
51
|
warnings.push(`operations.${label} \u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7121\u8996\u3057\u307E\u3059\uFF09`);return out}for(const[k,v]of Object.entries(value)){if(typeof v!=="string"||v.trim()===""){warnings.push(`operations.${label}.${k} \u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u3053\u306E\u9805\u76EE\u306F\u7121\u8996\u3057\u307E\u3059\uFF09`);continue}out.set(
|
|
52
52
|
k,v.trim())}return out}function parseZeroTargetGates(value,warnings){const out={};if(value===void 0||value===null)return out;if(typeof value!=="object"||Array.isArray(value)){warnings.push("operations.zero_target_gates \u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7121\u8996\u3057\u307E\u3059\uFF09");return out}for(const[skill,v]of Object.entries(value)){if(typeof v!=="object"||v===null||Array.isArray(v)){warnings.push(`operations.zero_ta\
|
|
@@ -57,14 +57,15 @@ return null}const o=value;const url=typeof o["url"]==="string"?o["url"].trim():"
|
|
|
57
57
|
h"]==="string"&&o["path"].trim()!==""?o["path"].trim():DEFAULT_STATUS_PATH;const apiKeyEnvRaw=o["api_key_env"];const apiKeyEnv=typeof apiKeyEnvRaw==="string"&&apiKeyEnvRaw.trim()!==""?apiKeyEnvRaw.trim():null;const headerRaw=o["header"];const header=typeof headerRaw==="string"&&headerRaw.trim()!==""?headerRaw.trim():DEFAULT_STATUS_HEADER;return{url:url.replace(/\/+$/,""),path:path2.startsWith("/")?path2:`/${path2}`,apiKeyEnv,header}}function parseOperations(value){const warnings=[];if(value===void 0||
|
|
58
58
|
value===null)return{operations:NO_OPERATIONS,warnings};if(typeof value!=="object"||Array.isArray(value)){warnings.push("operations \u306F\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u7121\u8996\u3057\u307E\u3059\uFF09");return{operations:NO_OPERATIONS,warnings}}const o=value;const exclusiveSkills=new Set(stringArray(o["exclusive_skills"],"exclusive_skills",warnings));const statusEndpoint=parseEndpoint(o["status_endpoint"],warnings);if(exclusiveSkills.
|
|
59
59
|
size>0&&statusEndpoint===null){warnings.push("operations.exclusive_skills \u306F\u3042\u308A\u307E\u3059\u304C status_endpoint \u304C\u7121\u3044\u305F\u3081\u3001\u5B9A\u671F\u67A0\u306E\u6392\u4ED6\u306F\u884C\u3044\u307E\u305B\u3093")}if(exclusiveSkills.size===0&&statusEndpoint!==null){warnings.push("operations.status_endpoint \u306F\u3042\u308A\u307E\u3059\u304C exclusive_skills \u304C\u7A7A\u306E\u305F\u3081\u3001\u554F\u3044\u5408\u308F\u305B\u306F\u884C\u3044\u307E\u305B\u3093")}const releaseRecoveryRaw=o["\
|
|
60
|
-
release_recovery_skill"];const releaseRecoverySkill=typeof releaseRecoveryRaw==="string"&&releaseRecoveryRaw.trim()!==""?releaseRecoveryRaw.trim():null;
|
|
61
|
-
o["
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
env){const
|
|
60
|
+
release_recovery_skill"];const releaseRecoverySkill=typeof releaseRecoveryRaw==="string"&&releaseRecoveryRaw.trim()!==""?releaseRecoveryRaw.trim():null;const planSkillRaw=o["plan_skill"];let planSkill=null;if(typeof planSkillRaw==="string"&&planSkillRaw.trim()!==""){planSkill=planSkillRaw.trim()}else if(planSkillRaw!==void 0&&planSkillRaw!==null){warnings.push("operations.plan_skill \u306F\u7A7A\u3067\u306A\u3044\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u8A08\u753B\u30D5\u30A7\u30FC\u30BA\u3092\u884C\u3044\u307E\u305B\u3093\uFF09")}
|
|
61
|
+
return{operations:{exclusiveSkills,statusEndpoint,highRiskSkills:new Set(stringArray(o["high_risk_skills"],"high_risk_skills",warnings)),preflightHosts:stringArray(o["preflight_hosts"],"preflight_hosts",warnings),releaseRecoverySkill,postSuccessEnqueue:stringMap(o["post_success_enqueue"],"post_success_enqueue",warnings),contractSkills:new Set(stringArray(o["contract_skills"],"contract_skills",warnings)),zeroTargetGates:parseZeroTargetGates(o["zero_target_gates"],warnings),countHooks:parseCountHooks(
|
|
62
|
+
o["count_hooks"],warnings),planSkill},warnings}}function describeOperations(ops){const plan=ops.planSkill?`\u8A08\u753B ${ops.planSkill}`:"\u8A08\u753B\u30B9\u30AD\u30EB\u672A\u8A2D\u5B9A\uFF08\u8A08\u753B\u30D5\u30A7\u30FC\u30BA\u3092\u884C\u3044\u307E\u305B\u3093\uFF09";if(ops===NO_OPERATIONS||ops.exclusiveSkills.size===0&&ops.highRiskSkills.size===0){return`\u904B\u7528\u8A2D\u5B9A: \u306A\u3057\uFF08\u30B9\u30AD\u30EB\u540D\u306B\u3088\u308B\u7279\u5225\u6271\u3044\u306F\u884C\u3044\u307E\u305B\u3093\uFF09 / ${plan}`}
|
|
63
|
+
const parts=[plan];if(ops.exclusiveSkills.size>0&&ops.statusEndpoint){parts.push(`\u6392\u4ED6 ${[...ops.exclusiveSkills].join(",")} \u2190 ${ops.statusEndpoint.url}`)}else if(ops.exclusiveSkills.size>0){parts.push(`\u6392\u4ED6 ${[...ops.exclusiveSkills].join(",")}\uFF08\u554F\u3044\u5408\u308F\u305B\u5148\u304C\u7121\u3044\u305F\u3081\u7121\u52B9\uFF09`)}if(ops.highRiskSkills.size>0)parts.push(`\u9AD8\u30EA\u30B9\u30AF ${ops.highRiskSkills.size}\u4EF6`);if(ops.releaseRecoverySkill)parts.push(`\
|
|
64
|
+
\u56DE\u53CE ${ops.releaseRecoverySkill}`);return`\u904B\u7528\u8A2D\u5B9A: ${parts.join(" / ")}`}var DEFAULT_INTERVAL_SEC=300;function sanitizeInt(value,fallback,min=1){const n=typeof value==="number"?value:Number.parseInt(String(value??""),10);if(Number.isInteger(n)&&n>=min)return{value:n,warning:null};if(value===void 0||value===null||value==="")return{value:fallback,warning:null};return{value:fallback,warning:`'${String(value)}' \u306F${min}\u4EE5\u4E0A\u306E\u6574\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093 \u2192 \u65E2\u5B9A ${fallback} \u3092\u4F7F\u3044\u307E\u3059`}}function nonEmpty(value){
|
|
65
|
+
const t=value?.trim();return t===void 0||t===""?void 0:value}function resolveCharterEnabled(raw,local,warn){return resolveBoolSetting(raw,local,"charter_enabled",true,"\u61B2\u7AE0\u3092\u524D\u7F6E\u3057\u307E\u3059",warn)}function resolveBoolSetting(raw,local,key,fallback,fallbackNote,warn){const v=(raw??"").trim();if(v!=="")return isBoolishTrue(v);if(local===void 0)return fallback;if(typeof local==="boolean")return local;if(typeof local==="string")return isBoolishTrue(local.trim()===""?String(
|
|
66
|
+
fallback):local);warn(`${key} \u306F\u771F\u507D\u5024\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08'${String(local)}' \u306F\u89E3\u91C8\u3067\u304D\u306A\u3044\u305F\u3081\u3001${fallbackNote}\uFF09`);return fallback}function charterWrapper(raw,local,key,warn){if(raw!==void 0)return raw;if(local===void 0)return null;if(typeof local==="string")return local;warn(`${key} \u306F\u6587\u5B57\u5217\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08'${String(local)}' \u306F\u7121\u8996\u3057\u3001\u65E2\u5B9A\u306E\u56F2\u307F\
|
|
67
|
+
\u6587\u3092\u4F7F\u3044\u307E\u3059\uFF09`);return null}function loopStateDir(env=process.env){const explicit=env.TWP_OPS_STATE_DIR?.trim();if(explicit)return explicit;return path.join(os.homedir(),".twp-ops")}function releaseOutcomeLogPath(env=process.env){const explicit=env.RELEASE_OUTCOME_LOG?.trim();if(explicit)return explicit;return path.join(loopStateDir(env),"release-outcomes.tsv")}function localConfigPath(projectId,env=process.env){return path.join(twpHomeDir(env),"loops",`${projectFileKey(
|
|
68
|
+
projectId)}.json`)}function loadLocalConfig(projectId,env=process.env){const file=localConfigPath(projectId,env);try{const parsed=JSON.parse(fs.readFileSync(file,"utf8"));return parsed!==null&&typeof parsed==="object"?parsed:{}}catch(err){if(err.code==="ENOENT")return{};throw new Error(`\u30EB\u30FC\u30D7\u8A2D\u5B9A\u306E\u8AAD\u307F\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${file}
|
|
68
69
|
${err.message}`,{cause:err})}}function resolveRunnerId(stateDir,env=process.env){const file=env.RUNNER_ID_FILE&&env.RUNNER_ID_FILE.trim()!==""?env.RUNNER_ID_FILE:path.join(stateDir,"runner-id");let candidate=env.RUNNER_ID?.trim()??"";if(!candidate){try{candidate=fs.readFileSync(file,"utf8").split("\n")[0]?.trim()??""}catch{candidate=""}}let warning=null;if(candidate&&!/^[A-Za-z0-9._-]+$/.test(candidate)){warning=`runner_id '${candidate}' \u306B\u4F7F\u3048\u306A\u3044\u6587\u5B57\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u63A1\u756A\u3057\u76F4\u3057\u307E\u3057\u305F\uFF08[A-Za-z0-9._-] \u306E\u307F\uFF09`;
|
|
69
70
|
candidate=""}if(!candidate){const host=(os.hostname()||"host").split(".")[0]??"host";const hostPart=host.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,32)||"host";candidate=`${hostPart}-${randomBytes(4).toString("hex")}`;try{fs.mkdirSync(path.dirname(file),{recursive:true,mode:448});fs.writeFileSync(file,`${candidate}
|
|
70
71
|
`,{mode:384})}catch{warning=`runner_id \u3092 ${file} \u3078\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8D77\u52D5\u306E\u305F\u3073\u306B\u5225\u30E9\u30F3\u30CA\u30FC\u3068\u3057\u3066\u767B\u9332\u3055\u308C\u3001\u53F0\u6570\u4E0A\u9650\u306B\u9054\u3057\u307E\u3059`}}return{runnerId:candidate,warning}}function buildRunId(runnerId,now=new Date){const stamp=now.toISOString().replace(/[-:]/g,"").replace(/\.\d+Z$/,"Z");return`${runnerId}#${stamp}#${process.pid}`}function buildLoopConfig(input){
|
|
@@ -73,10 +74,10 @@ if(local.schedule_command&&local.schedule_command.length>0){warnings.push("\u30E
|
|
|
73
74
|
li \u5185\u3067\u884C\u3044\u307E\u3059\uFF09")}const stateDir=loopStateDir(env);const{runnerId,warning:runnerWarning}=resolveRunnerId(stateDir,env);if(runnerWarning)warnings.push(runnerWarning);const aiTimeoutSec=num2(env.AI_TIMEOUT??local.ai_timeout,4500,60,"AI_TIMEOUT=");const aiSoftDeadlineRatio=Math.min(num2(env.AI_SOFT_DEADLINE_RATIO??local.ai_soft_deadline_ratio,80,1,"AI_SOFT_DEADLINE_RATIO="),100);const planLockTtlSec=num2(env.PLAN_LOCK_TTL,1800,60,"PLAN_LOCK_TTL=");const workspace=nonEmpty(
|
|
74
75
|
local.workspace)??process.cwd();const ai=loadAiConfig(local.ai,local.ai_config_file,workspace);warnings.push(...ai.warnings);const operations=parseOperations(local.operations);warnings.push(...operations.warnings);const claudeLauncher=parseClaudeLauncher(local.claude_launcher);warnings.push(...claudeLauncher.warnings);const capacityProbe=parseCapacityProbe(local.capacity_probe);warnings.push(...capacityProbe.warnings);const prefetch=validateHooks(local.prefetch);warnings.push(...prefetch.warnings);
|
|
75
76
|
const preflight=validateHooks(local.preflight,"preflight");warnings.push(...preflight.warnings);return{projectId:input.projectId,projectRef:input.projectRef,apiUrl:input.apiUrl,runnerId,runId:buildRunId(runnerId,input.now??new Date),stateDir,logDir:nonEmpty(env.LOG_DIR)??local.log_dir??path.join(os.homedir(),".twp-agent-loop","logs"),logRetentionDays:num2(env.LOG_RETENTION_DAYS??local.log_retention_days,7,0,"LOG_RETENTION_DAYS="),workspace,gitIdentity:local.git_identity,safeMode:input.safeMode,daemon:input.
|
|
76
|
-
daemon,maxCycles:input.daemon?Number.MAX_SAFE_INTEGER:input.maxCycles??1,intervalSec:input.intervalSec??
|
|
77
|
-
0,"AGENT_LOOP_OWNERSHIP_CHECK_INTERVAL="),contendedMax:num2(env.AGENT_LOOP_CONTENDED_MAX,10,1,"AGENT_LOOP_CONTENDED_MAX="),queueUndeterminedMax:num2(env.QUEUE_UNDETERMINED_MAX,5,1,"QUEUE_UNDETERMINED_MAX="),staleReclaimHours:num2(env.STALE_RECLAIM_HOURS,3,0,"STALE_RECLAIM_HOURS="),planLockTtlSec,planLockWaitMaxSec:num2(env.PLAN_LOCK_WAIT_MAX,planLockTtlSec,0,"PLAN_LOCK_WAIT_MAX="),planLockPollIntervalSec:num2(env.PLAN_LOCK_POLL_INTERVAL,
|
|
78
|
-
env.PLAN_LOCK_RENEW_INTERVAL,Math.trunc(planLockTtlSec/3),1,"PLAN_LOCK_RENEW_INTERVAL="),planLockStealAttempts:num2(env.PLAN_LOCK_STEAL_ATTEMPTS,3,0,"PLAN_LOCK_STEAL_ATTEMPTS="),planLockPermanentMax:num2(env.PLAN_LOCK_PERMANENT_MAX,3,1,"PLAN_LOCK_PERMANENT_MAX="),scheduleMidcycleMax:num2(env.SCHEDULE_MIDCYCLE_MAX,6,1,"SCHEDULE_MIDCYCLE_MAX="),blockerRecoveryMaxPerDay:num2(env.BLOCKER_RECOVERY_MAX_PER_DAY,2,1,"
|
|
79
|
-
"false",releaseRerunMaxPerCause:num2(env.RELEASE_RERUN_MAX_PER_CAUSE,2,1,"RELEASE_RERUN_MAX_PER_CAUSE="),writebackMaxAgeDays:num2(env.AGENT_LOOP_WRITEBACK_MAX_AGE_DAYS,7,1,"AGENT_LOOP_WRITEBACK_MAX_AGE_DAYS="),scheduleTimezone:nonEmpty(env.AGENT_LOOP_SCHEDULE_TZ)??"Asia/Tokyo",counterTimezone:nonEmpty(env.AGENT_LOOP_COUNTER_TZ)??"Asia/Tokyo",compileCommand:local.compile_command!==void 0&&local.compile_command.length>0?local.
|
|
80
|
-
charter_file)??"CONSTITUTION.md",charterEnabled:resolveCharterEnabled(env.CHARTER_ENABLED,local.charter_enabled,m=>warnings.push(m)),charterPrefix:charterWrapper(env.CHARTER_PREFIX,local.charter_prefix,"charter_prefix",m=>warnings.push(m)),charterSuffix:charterWrapper(env.CHARTER_SUFFIX,local.charter_suffix,"charter_suffix",m=>warnings.push(m)),planEnabled:resolveBoolSetting(env.PLAN_ENABLED,local.plan_enabled,"
|
|
81
|
-
m=>warnings.push(m)),ai:ai.config,aiSource:{inline:local.ai,file:local.ai_config_file},operations:operations.operations,claudeLauncher:claudeLauncher.launcher,capacityProbe:capacityProbe.probe,prefetch:prefetch.hooks,preflight:preflight.hooks,configHash:ai.config.hash(),version:input.version,warnings,releaseOutcomeLogPath:releaseOutcomeLogPath(env)}}function localDate(timezone,now=new Date){const fmt=new Intl.DateTimeFormat(
|
|
82
|
-
return fmt.format(now)}export{runHook,runPrefetch,runPreflight,formatHookWiring,formatHookIds,CapacityReporter,parseClaudeLauncher,evaluateOwnership,describeOperations,loopStateDir,localConfigPath,loadLocalConfig,buildLoopConfig,localDate};
|
|
77
|
+
daemon,maxCycles:input.daemon?Number.MAX_SAFE_INTEGER:input.maxCycles??1,intervalSec:input.intervalSec??DEFAULT_INTERVAL_SEC,intervalSource:input.intervalSec!==void 0?"cli":"default",forceRunner:input.forceRunner,engine:nonEmpty(input.engine)??nonEmpty(local.engine)??"",aiTimeoutSec,aiSoftDeadlineRatio,planTimeoutSec:num2(env.PLAN_TIMEOUT??local.plan_timeout,900,60,"PLAN_TIMEOUT="),heartbeatIntervalSec:num2(env.AGENT_LOOP_HEARTBEAT_INTERVAL,120,1,"AGENT_LOOP_HEARTBEAT_INTERVAL="),ownershipCheckIntervalSec:num2(
|
|
78
|
+
env.AGENT_LOOP_OWNERSHIP_CHECK_INTERVAL,OWNERSHIP_CHECK_INTERVAL_SEC,0,"AGENT_LOOP_OWNERSHIP_CHECK_INTERVAL="),contendedMax:num2(env.AGENT_LOOP_CONTENDED_MAX,10,1,"AGENT_LOOP_CONTENDED_MAX="),queueUndeterminedMax:num2(env.QUEUE_UNDETERMINED_MAX,5,1,"QUEUE_UNDETERMINED_MAX="),staleReclaimHours:num2(env.STALE_RECLAIM_HOURS,3,0,"STALE_RECLAIM_HOURS="),planLockTtlSec,planLockWaitMaxSec:num2(env.PLAN_LOCK_WAIT_MAX,planLockTtlSec,0,"PLAN_LOCK_WAIT_MAX="),planLockPollIntervalSec:num2(env.PLAN_LOCK_POLL_INTERVAL,
|
|
79
|
+
60,1,"PLAN_LOCK_POLL_INTERVAL="),planLockRenewIntervalSec:num2(env.PLAN_LOCK_RENEW_INTERVAL,Math.trunc(planLockTtlSec/3),1,"PLAN_LOCK_RENEW_INTERVAL="),planLockStealAttempts:num2(env.PLAN_LOCK_STEAL_ATTEMPTS,3,0,"PLAN_LOCK_STEAL_ATTEMPTS="),planLockPermanentMax:num2(env.PLAN_LOCK_PERMANENT_MAX,3,1,"PLAN_LOCK_PERMANENT_MAX="),scheduleMidcycleMax:num2(env.SCHEDULE_MIDCYCLE_MAX,6,1,"SCHEDULE_MIDCYCLE_MAX="),blockerRecoveryMaxPerDay:num2(env.BLOCKER_RECOVERY_MAX_PER_DAY,2,1,"BLOCKER_RECOVERY_MAX_PER\
|
|
80
|
+
_DAY="),releaseRerunAutoEnqueue:env.RELEASE_RERUN_AUTOENQUEUE_ENABLED!=="false",releaseRerunMaxPerCause:num2(env.RELEASE_RERUN_MAX_PER_CAUSE,2,1,"RELEASE_RERUN_MAX_PER_CAUSE="),writebackMaxAgeDays:num2(env.AGENT_LOOP_WRITEBACK_MAX_AGE_DAYS,7,1,"AGENT_LOOP_WRITEBACK_MAX_AGE_DAYS="),scheduleTimezone:nonEmpty(env.AGENT_LOOP_SCHEDULE_TZ)??"Asia/Tokyo",counterTimezone:nonEmpty(env.AGENT_LOOP_COUNTER_TZ)??"Asia/Tokyo",compileCommand:local.compile_command!==void 0&&local.compile_command.length>0?local.
|
|
81
|
+
compile_command:null,charterFile:nonEmpty(env.CHARTER_FILE)??nonEmpty(local.charter_file)??"CONSTITUTION.md",charterEnabled:resolveCharterEnabled(env.CHARTER_ENABLED,local.charter_enabled,m=>warnings.push(m)),charterPrefix:charterWrapper(env.CHARTER_PREFIX,local.charter_prefix,"charter_prefix",m=>warnings.push(m)),charterSuffix:charterWrapper(env.CHARTER_SUFFIX,local.charter_suffix,"charter_suffix",m=>warnings.push(m)),planEnabled:resolveBoolSetting(env.PLAN_ENABLED,local.plan_enabled,"plan_enab\
|
|
82
|
+
led",true,"\u8A08\u753B\u30D5\u30A7\u30FC\u30BA\u3092\u5B9F\u884C\u3057\u307E\u3059",m=>warnings.push(m)),ai:ai.config,aiSource:{inline:local.ai,file:local.ai_config_file},operations:operations.operations,claudeLauncher:claudeLauncher.launcher,capacityProbe:capacityProbe.probe,prefetch:prefetch.hooks,preflight:preflight.hooks,configHash:ai.config.hash(),version:input.version,warnings,releaseOutcomeLogPath:releaseOutcomeLogPath(env)}}function localDate(timezone,now=new Date){const fmt=new Intl.DateTimeFormat(
|
|
83
|
+
"en-CA",{timeZone:timezone,year:"numeric",month:"2-digit",day:"2-digit"});return fmt.format(now)}export{runHook,runPrefetch,runPreflight,formatHookWiring,formatHookIds,CapacityReporter,parseClaudeLauncher,evaluateOwnership,describeOperations,DEFAULT_INTERVAL_SEC,loopStateDir,localConfigPath,loadLocalConfig,buildLoopConfig,localDate};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
|
+
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
+
import{DEFAULT_INTERVAL_SEC}from"./chunk-A576CQJW.js";import{CHAIN_KEYS,reloadAiConfig}from"./chunk-AEJHDFXB.js";import{describeError}from"./chunk-JTJWDV5U.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var PROMPT_KEYS=["charter","charter_prefix","charter_suffix","plan_preamble","step_budget","non_interactive_note","safe_mode_note"];function parseServerSettings(res){const json=res.json;if(json===null||typeof json!=="object"||Array.isArray(json))return null;const top=json;const data=top["data"];const b=data!==null&&typeof data==="object"&&!Array.isArray(data)&&"revision"in data?data:top;const revision=b["revision"];if(typeof revision!=="number"||!Number.isInteger(revision)||revision<0)return null;
|
|
4
|
+
const rawAi=b["ai"];const ai=rawAi!==null&&typeof rawAi==="object"&&!Array.isArray(rawAi)?Object.fromEntries(Object.entries(rawAi).filter(([,v])=>v!==null&&v!==void 0)):{};const prompts={};const rawPrompts=b["prompts"];if(rawPrompts!==null&&typeof rawPrompts==="object"&&!Array.isArray(rawPrompts)){for(const key of PROMPT_KEYS){const v=rawPrompts[key];if(typeof v==="string")prompts[key]=v}}const rawLoop=b["loop"];const rawInterval=rawLoop!==null&&typeof rawLoop==="object"&&!Array.isArray(rawLoop)?
|
|
5
|
+
rawLoop["interval_sec"]:void 0;const intervalSec=typeof rawInterval==="number"&&Number.isInteger(rawInterval)&&rawInterval>0?rawInterval:null;return{revision,ai,prompts,intervalSec}}function formatConfigHash(aiHash,revision,ai,charter){return`${aiHash};r=${revision};ai=${ai};charter=${charter}`}function renderStepBudget(template,vars){return template.replaceAll("{timeout_min}",String(vars.timeoutMin)).replaceAll("{soft_min}",String(vars.softMin)).replaceAll("{wrap_up_min}",String(vars.wrapUpMin))}
|
|
6
|
+
var LoopSettingsApplier=class{constructor(deps){this.deps=deps}deps;last=null;lastWarning="";lastAiWarning="";lastSummary="";serverAiApplied=false;lastSafeWarning="";lastInterval="";async apply(){const{config,log}=this.deps;const outcome=await this.fetch();const warning=outcome.warning??"";if(warning!==""&&warning!==this.lastWarning)log(` \u26A0\uFE0F ${warning}`);else if(warning===""&&this.lastWarning!=="")log("\u30EB\u30FC\u30D7\u8A2D\u5B9A\u3092\u30B5\u30FC\u30D0\u304B\u3089\u518D\u3073\u53D6\u5F97\u3067\u304D\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F");
|
|
7
|
+
this.lastWarning=warning;const settings=outcome.settings;config.serverPrompts=settings?.prompts??{};const safeNote=config.serverPrompts.safe_mode_note;const safeWarning=config.safeMode&&safeNote!==void 0?safeNote===""?"\u5B89\u5168\u30E2\u30FC\u30C9\u3067\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u30B5\u30FC\u30D0\u306E\u30EB\u30FC\u30D7\u8A2D\u5B9A\u304C\u5B89\u5168\u30E2\u30FC\u30C9\u306E\u6CE8\u8A18\u3092\u7A7A\u306B\u3057\u3066\u3044\u307E\u3059\uFF08\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u7981\u6B62\u306E\u6307\u793A\u304C\u30D7\u30ED\u30F3\u30D7\u30C8\u306B\u8F09\u308A\u307E\u305B\u3093\uFF09":
|
|
8
|
+
"\u5B89\u5168\u30E2\u30FC\u30C9\u3067\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059\u3002\u5B89\u5168\u30E2\u30FC\u30C9\u306E\u6CE8\u8A18\u306F\u30B5\u30FC\u30D0\u306E\u30EB\u30FC\u30D7\u8A2D\u5B9A\u306E\u6587\u9762\u306B\u5DEE\u3057\u66FF\u308F\u3063\u3066\u3044\u307E\u3059":"";if(safeWarning!==""&&safeWarning!==this.lastSafeWarning)log(` \u26A0\uFE0F ${safeWarning}`);this.lastSafeWarning=safeWarning;const serverAi=settings!==null&&Object.keys(settings.ai).length>0?settings.ai:null;const layer=serverAi??
|
|
9
|
+
(this.serverAiApplied?{}:null);const r=reloadAiConfig(config.ai,config.aiSource.inline,config.aiSource.file,config.workspace,layer);if(r.status!=="kept"||layer!==null)this.serverAiApplied=serverAi!==null;const aiWarning=r.warnings.join("\n");if(aiWarning!==""&&aiWarning!==this.lastAiWarning){for(const w of r.warnings)log(` \u26A0\uFE0F ${w}`)}else if(aiWarning===""&&this.lastAiWarning!==""&&r.status!=="skipped"){log("AI \u5272\u5F53\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u3073\u8AAD\u3081\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F")}
|
|
10
|
+
this.lastAiWarning=aiWarning;if(r.status==="updated"){log(r.hashBefore===r.hashAfter?`AI \u5272\u5F53\u306E\u5909\u66F4\u3092\u53CD\u6620\u3057\u307E\u3057\u305F\uFF08AI\u5272\u5F53\u30CF\u30C3\u30B7\u30E5 ${r.hashAfter} \u306F\u4E0D\u5909\uFF1D\u9396\u304B\u30B3\u30E1\u30F3\u30C8\u3060\u3051\u306E\u5909\u66F4\uFF09`:`AI \u5272\u5F53\u306E\u5909\u66F4\u3092\u53CD\u6620\u3057\u307E\u3057\u305F\uFF08AI\u5272\u5F53\u30CF\u30C3\u30B7\u30E5 ${r.hashBefore} \u2192 ${r.hashAfter}\uFF09`)}const fromServer=outcome.
|
|
11
|
+
source==="cached"?"cached":"server";this.applyInterval(settings,fromServer);const inline=config.aiSource.inline;const effectiveServerKeys=serverAi===null?[]:Object.keys(serverAi).filter(k=>!(CHAIN_KEYS.includes(k)&&inline!==void 0&&k in inline));const aiOrigin=effectiveServerKeys.length>0?fromServer:inline!==void 0&&Object.keys(inline).length>0||config.ai.fileLayer!==null?"local":"builtin";const charterOrigin=this.charterOrigin(settings,fromServer);const revision=settings?.revision??0;config.configHash=
|
|
12
|
+
formatConfigHash(config.ai.hash(),revision,aiOrigin,charterOrigin);const serverPromptKeys=Object.keys(config.serverPrompts);const summary=`\u30EB\u30FC\u30D7\u8A2D\u5B9A: ${settings===null?"\u30B5\u30FC\u30D0\u5024\u306A\u3057":`${outcome.source==="cached"?"\u76F4\u524D\u306B\u53D6\u5F97\u3057\u305F\u30B5\u30FC\u30D0\u5024":"\u30B5\u30FC\u30D0"} revision ${revision}`}\uFF08AI\u5272\u5F53=${aiOrigin}${effectiveServerKeys.length>0?`\u30FB\u30B5\u30FC\u30D0 ${effectiveServerKeys.length}\u30AD\u30FC`:
|
|
13
|
+
""} \uFF0F \u61B2\u7AE0=${charterOrigin} \uFF0F \u30B5\u30FC\u30D0\u306E\u6587\u9762=${serverPromptKeys.length>0?serverPromptKeys.join(","):"\u306A\u3057"}\uFF09`;if(summary!==this.lastSummary)log(summary);this.lastSummary=summary}applyInterval(settings,fromServer){const{config,log}=this.deps;if(config.intervalSource==="cli")return;const serverSec=settings?.intervalSec??null;const source=serverSec!==null?fromServer:"default";config.intervalSec=serverSec??DEFAULT_INTERVAL_SEC;config.intervalSource=
|
|
14
|
+
source;const line=`INTERVAL: ${config.intervalSec}s\uFF08\u53D6\u5F97\u5143: ${source}\uFF09`;if(line!==this.lastInterval)log(` ${line}`);this.lastInterval=line}charterOrigin(settings,fromServer){const{config}=this.deps;if(!config.charterEnabled)return"off";if(settings!==null&&settings.prompts.charter!==void 0)return fromServer;const file=config.charterFile;if(file===null||file.trim()==="")return"builtin";const resolved=path.isAbsolute(file)?file:path.resolve(config.workspace,file);try{fs.accessSync(
|
|
15
|
+
resolved,fs.constants.R_OK);return fs.statSync(resolved).isFile()?"local":"builtin"}catch{return"builtin"}}async fetch(){if(isPrivateProjectId(this.deps.config.projectId??""))return{settings:null,source:"none",warning:null};const res=await this.deps.api.request("GET","/settings");const parsed=res.ok?parseServerSettings(res):null;if(parsed!==null){this.last=parsed;return{settings:parsed,source:"server",warning:null}}const transient=res.status===null||res.status>=500||res.ok;const reason=stripTerminalControls(
|
|
16
|
+
res.ok?`\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08\u5148\u982D: ${res.raw.slice(0,120)}\uFF09`:describeError(res));if(transient&&this.last!==null){return{settings:this.last,source:"cached",warning:`\u30EB\u30FC\u30D7\u8A2D\u5B9A\u3092\u30B5\u30FC\u30D0\u304B\u3089\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF08${reason}\uFF09\u3002\u76F4\u524D\u306B\u53D6\u5F97\u3057\u305F revision ${this.last.revision} \u3067\u8D70\u308A\u307E\u3059`}}return{settings:null,source:"none",warning:`\
|
|
17
|
+
\u30EB\u30FC\u30D7\u8A2D\u5B9A\u3092\u30B5\u30FC\u30D0\u304B\u3089\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\uFF08${reason}\uFF09\u3002\u30ED\u30FC\u30AB\u30EB\u8A2D\u5B9A\uFF08ai_config_file / charter_file\uFF09\u3068\u7D44\u307F\u8FBC\u307F\u65E2\u5B9A\u3067\u8D70\u308A\u307E\u3059`}}};export{PROMPT_KEYS,parseServerSettings,formatConfigHash,renderStepBudget,LoopSettingsApplier};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
var LOADERS={agent:async()=>(await import("./agent-LHNDQMT5.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-
|
|
3
|
+
var LOADERS={agent:async()=>(await import("./agent-LHNDQMT5.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-KBQJP5E7.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-IEISLBIH.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-RFO4E4ZS.js")).analysisDomain,announcement:async()=>(await import("./announcement-HQ7CQYFI.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-CRRR4EKL.js")).attendanceDomainWithRecords,
|
|
4
4
|
backlog:async()=>(await import("./backlog-NU5HHXN2.js")).backlogDomain,budget:async()=>(await import("./budget-YQHHSX7Q.js")).budgetDomain,"business-place":async()=>(await import("./sales-master-S3YTUE7J.js")).businessPlaceDomain,company:async()=>(await import("./company-BKULUHIU.js")).companyDomain,contract:async()=>(await import("./contract-376FE7VC.js")).contractDomain,customer:async()=>(await import("./company-BKULUHIU.js")).customerDomain,department:async()=>(await import("./department-YKBPBPU6.js")).
|
|
5
5
|
departmentDomain,deposit:async()=>(await import("./deposit-CY5K3ZTM.js")).depositDomain,estimate:async()=>(await import("./estimate-GPNG6YOJ.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-VRLMQV32.js")).evaluationDomain,expense:async()=>(await import("./expense-3MT6WHTG.js")).expenseDomain,"goal-sheet":async()=>(await import("./evaluation-VRLMQV32.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-YV433Q7V.js")).inquiryDomain,invoice:async()=>(await import("./invoice-OSAO4PIO.js")).
|
|
6
|
-
invoiceDomain,"job-title":async()=>(await import("./job-title-FITZHBR4.js")).jobTitleDomain,leave:async()=>(await import("./leave-MWYAL66X.js")).leaveDomain,media:async()=>(await import("./media-
|
|
6
|
+
invoiceDomain,"job-title":async()=>(await import("./job-title-FITZHBR4.js")).jobTitleDomain,leave:async()=>(await import("./leave-MWYAL66X.js")).leaveDomain,media:async()=>(await import("./media-YVT2ONKI.js")).mediaDomain,meeting:async()=>(await import("./knowledge-YEEAKLQJ.js")).meetingDomain,note:async()=>(await import("./knowledge-YEEAKLQJ.js")).noteDomain,notification:async()=>(await import("./notification-EAEKDN54.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-UBSHXVYS.js")).
|
|
7
7
|
onedriveDomain,outlook:async()=>(await import("./outlook-ODZD27J5.js")).outlookDomain,payee:async()=>(await import("./sales-master-S3YTUE7J.js")).payeeDomain,position:async()=>(await import("./position-ZKYGVAAK.js")).positionDomain,project:async()=>(await import("./project-5MHCPDVC.js")).projectDomain,prospect:async()=>(await import("./prospect-ASQA5QVD.js")).prospectDomain,purchase:async()=>(await import("./purchase-WLJJSMM6.js")).purchaseDomain,qualification:async()=>(await import("./skill-45FBIGC5.js")).
|
|
8
8
|
qualificationDomain,receivable:async()=>(await import("./receivable-FBPROHOV.js")).receivableDomain,report:async()=>(await import("./report-HK2NZXHC.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-M4KUZAM7.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-S3YTUE7J.js")).sealImpressionDomain,shift:async()=>(await import("./attendance-lists-XPCU25OJ.js")).shiftDomain,skill:async()=>(await import("./skill-45FBIGC5.js")).skillDomain,
|
|
9
|
-
storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-MS6YMIT4.js")).supplierPaymentDomain,support:async()=>(await import("./support-VSDMFUTY.js")).supportDomain,task:async()=>(await import("./task-BTYFJRSC.js")).taskDomain,teams:async()=>(await import("./teams-
|
|
9
|
+
storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-MS6YMIT4.js")).supplierPaymentDomain,support:async()=>(await import("./support-VSDMFUTY.js")).supportDomain,task:async()=>(await import("./task-BTYFJRSC.js")).taskDomain,teams:async()=>(await import("./teams-5EXL65HN.js")).teamsDomain,user:async()=>(await import("./user-VFJGLZDR.js")).userDomain,wiki:async()=>(await import("./knowledge-YEEAKLQJ.js")).
|
|
10
10
|
wikiDomain,workchange:async()=>(await import("./attendance-lists-XPCU25OJ.js")).workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-YX2KPVQG.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-OPZYCSDL.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
3
3
|
const require = __twpCreateRequire(import.meta.url);
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-ZVEMJWRR.js";import"./chunk-NAUH75MM.js";import"./chunk-6A2JSS76.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.54.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
|
|
@@ -30,7 +30,8 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
|
|
|
30
30
|
--workspace <\u30D1\u30B9> / --ai-config-file <\u30D1\u30B9>
|
|
31
31
|
/ --no-ai-config-file\uFF08\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u3092\u53C2\u7167\u305B\u305A\u751F\u6210\u3059\u308B\uFF09
|
|
32
32
|
twp task-loop run --project <\u30AD\u30FC|UUID>
|
|
33
|
-
\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u3092\u5B9F\u884C\uFF08--daemon / --interval <\u79D2
|
|
33
|
+
\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u3092\u5B9F\u884C\uFF08--daemon / --interval <\u79D2>\uFF08\u7701\u7565\u6642\u306F
|
|
34
|
+
\u30B5\u30FC\u30D0\u306E\u30EB\u30FC\u30D7\u8A2D\u5B9A\u3001\u7121\u3051\u308C\u3070300\u79D2\uFF09
|
|
34
35
|
/ --max-cycles <n> / --safe / --force-runner / --engine <\u540D\u524D>\uFF09
|
|
35
36
|
twp task-loop status --project <\u30AD\u30FC|UUID>
|
|
36
37
|
\u30E9\u30F3\u30CA\u30FC\u30FB\u30AD\u30E5\u30FC\u30FB\u8A08\u753B\u30ED\u30C3\u30AF\u306E\u73FE\u6CC1\u3092\u8868\u793A\uFF08\u8AAD\u307F\u53D6\u308A\u306E\u307F\uFF09
|
|
@@ -488,6 +489,16 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
|
|
|
488
489
|
\u4E88\u5B9A\u3092\u5909\u3048\u308B\uFF08\u51FA\u5E2D\u8005\u304C\u3044\u308C\u3070\u66F4\u65B0\u304C\u5C4A\u304F\u30FB--yes \u304C\u5FC5\u8981\uFF09
|
|
489
490
|
twp outlook event delete <\u4E88\u5B9AID> --yes
|
|
490
491
|
\u4E88\u5B9A\u3092\u6D88\u3059\uFF08\u51FA\u5E2D\u8005\u304C\u3044\u308C\u3070\u30AD\u30E3\u30F3\u30BB\u30EB\u304C\u5C4A\u304F\u30FB--yes \u304C\u5FC5\u8981\uFF09
|
|
492
|
+
twp teams favorite list [--kind channel|chat]
|
|
493
|
+
\u304A\u6C17\u306B\u5165\u308A\u306E\u30C1\u30E3\u30CD\u30EB\u30FB\u30C1\u30E3\u30C3\u30C8\u3092\u7528\u9014\u306E\u8AAC\u660E\u3064\u304D\u3067\u4E00\u89A7\u3059\u308B\uFF08\u5B9B\u5148\u306B\u8FF7\u3063\u305F\u3089\u6700\u521D\u306B\u898B\u308B\uFF09
|
|
494
|
+
twp teams favorite add (--team <\u540D\u524D|ID> --channel <\u540D\u524D|ID> | --chat <ID>) [--description <\u6587>]
|
|
495
|
+
\u30C1\u30E3\u30CD\u30EB\u304B\u30C1\u30E3\u30C3\u30C8\u3092\u304A\u6C17\u306B\u5165\u308A\u306B\u767B\u9332\u3059\u308B\uFF08\u81EA\u5206\u3060\u3051\u306B\u898B\u3048\u308B\uFF09
|
|
496
|
+
twp teams favorite update <\u7A2E\u5225>/<ID> [--team <\u540D\u524D|ID>] [--description <\u6587>] [--name <\u540D\u524D>]
|
|
497
|
+
\u304A\u6C17\u306B\u5165\u308A\u306E\u8AAC\u660E\u30FB\u8868\u793A\u540D\u3092\u5909\u3048\u308B
|
|
498
|
+
twp teams favorite order <\u7A2E\u5225> <ID>...
|
|
499
|
+
\u304A\u6C17\u306B\u5165\u308A\u306E\u4E26\u3073\u9806\u3092\u5909\u3048\u308B
|
|
500
|
+
twp teams favorite remove <\u7A2E\u5225>/<ID> --yes
|
|
501
|
+
\u304A\u6C17\u306B\u5165\u308A\u304B\u3089\u5916\u3059\uFF08--yes \u304C\u5FC5\u8981\uFF09
|
|
491
502
|
twp teams team list \u53C2\u52A0\u3057\u3066\u3044\u308B Teams \u306E\u30C1\u30FC\u30E0\u3092\u4E00\u89A7\u3059\u308B
|
|
492
503
|
twp teams member list --team <\u540D\u524D|ID>
|
|
493
504
|
\u30C1\u30FC\u30E0\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B
|
|
@@ -1086,14 +1097,14 @@ TUI \u5185:
|
|
|
1086
1097
|
\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
|
|
1087
1098
|
`;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
|
|
1088
1099
|
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-RWWCIR6G.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
|
|
1089
|
-
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-
|
|
1100
|
+
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-O2QCH7GB.js"),import("./config-3CNEQ7KN.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-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-QU6JK65I.js");process.exitCode=
|
|
1090
1101
|
await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
1091
1102
|
`);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
|
|
1092
1103
|
|
|
1093
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){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-
|
|
1094
|
-
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-
|
|
1095
|
-
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-NCAVUXSX.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-
|
|
1096
|
-
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-
|
|
1104
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.js");autoUpdate.registerRunning();if(args.command==="task-loop"){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-7STSWQB3.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
|
|
1105
|
+
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-2WZSR4A4.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
|
|
1106
|
+
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-NCAVUXSX.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-X4Y4V5PP.js");
|
|
1107
|
+
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-VRMKSITP.js");process.exitCode=await runTaskLoop(
|
|
1097
1108
|
{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,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,
|
|
1098
1109
|
skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,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-62DOJWOH.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
|
|
1099
|
-
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-
|
|
1110
|
+
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-6UCOZYOP.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();
|