@tocca-systems/twp-cli 0.23.0 → 0.25.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 +14 -0
- package/README.md +240 -6
- package/command-model/department.json +1 -1
- package/dist/agent-loop-ZP47LTUE.js +75 -0
- package/dist/{api-command-CLARDKAL.js → api-command-VWJXBUCJ.js} +3 -3
- package/dist/{app-X3IKIAKB.js → app-3JIU5OUX.js} +49 -48
- package/dist/attendance-42XLURM7.js +21 -0
- package/dist/{auto-update-FBZGOQFI.js → auto-update-CV2MM32C.js} +1 -1
- package/dist/{auto-update-worker-SI7TVSCN.js → auto-update-worker-OBFGN6FY.js} +2 -2
- package/dist/{backlog-X2MQTA6F.js → backlog-KSMQIC2R.js} +2 -2
- package/dist/charter-command-ULFOEZWE.js +26 -0
- package/dist/{chunk-APYYF7H6.js → chunk-5Q2CH4E7.js} +1 -1
- package/dist/{chunk-M3GWY6NT.js → chunk-7WSNIXTQ.js} +2 -1
- package/dist/chunk-BKZGBJWT.js +15 -0
- package/dist/chunk-DDKZ5IPT.js +11 -0
- package/dist/chunk-FTYJZFEK.js +10 -0
- package/dist/{chunk-2VISRLWS.js → chunk-G4OO4M44.js} +9 -9
- package/dist/{chunk-E4H22AO5.js → chunk-GDM2QUBL.js} +1 -1
- package/dist/{chunk-X4RS5VBH.js → chunk-GMBJTG6A.js} +1 -1
- package/dist/{chunk-QVXZEUKN.js → chunk-HGTG5XQ7.js} +1 -1
- package/dist/{chunk-DSDVIU6A.js → chunk-ILKQDXI5.js} +1 -1
- package/dist/{chunk-O52CUEDO.js → chunk-IOGVQVGD.js} +1 -1
- package/dist/chunk-IRAZ27WL.js +38 -0
- package/dist/{chunk-7PRQ7JW2.js → chunk-KEP5QSS4.js} +40 -15
- package/dist/chunk-KUIFIN7P.js +57 -0
- package/dist/{chunk-JB27KNCX.js → chunk-NIAOX77K.js} +29 -25
- package/dist/chunk-P4AEFKLM.js +13 -0
- package/dist/{chunk-SJRK4AVE.js → chunk-PK6CUUAQ.js} +1 -1
- package/dist/chunk-SP27PYHC.js +3 -0
- package/dist/chunk-UDPJ2IGK.js +7 -0
- package/dist/chunk-VCZVITWG.js +13 -0
- package/dist/{chunk-XLE4HW6B.js → chunk-VGMWPPGD.js} +12 -10
- package/dist/{chunk-UG2I6VRD.js → chunk-VYDEUFGU.js} +1 -1
- package/dist/{chunk-Y2QAP6SU.js → chunk-WQ66EYZS.js} +1 -1
- package/dist/chunk-X45SJNT2.js +62 -0
- package/dist/{chunk-EQWW2F5V.js → chunk-YVAN3H5W.js} +4 -4
- package/dist/chunk-YWGYRISN.js +34 -0
- package/dist/{chunk-WOUKWOAR.js → chunk-Z2MNO3FT.js} +10 -9
- package/dist/chunk-ZN5EFDH7.js +5 -0
- package/dist/chunk-ZWVYVS2A.js +4 -0
- package/dist/cli.js +100 -8
- package/dist/{commands-BE67IDNQ.js → commands-OFLBUP6O.js} +8 -8
- package/dist/{commands-JNG5TZ77.js → commands-RG7M6E5K.js} +79 -84
- package/dist/department-GH475WCF.js +33 -0
- package/dist/job-title-FC2GWDE7.js +8 -0
- package/dist/{logout-guard-CMZZBRUL.js → logout-guard-3PB3VMGP.js} +1 -1
- package/dist/media-TD7D4TXF.js +64 -0
- package/dist/{oneshot-NA756EBO.js → oneshot-QQOOZZDT.js} +5 -5
- package/dist/position-4RHTV3IK.js +8 -0
- package/dist/{project-2LJZW747.js → project-DBNWB47J.js} +1 -1
- package/dist/query-EEALMOSO.js +3 -0
- package/dist/{render-ICZOK3HV.js → render-K45EOLHX.js} +1 -1
- package/dist/{run-XCAJDHFU.js → run-VNHAQO24.js} +2 -2
- package/dist/{schedule-command-GKXKNMLG.js → schedule-command-FJU7JFNR.js} +1 -1
- package/dist/{server-settings-CG3EM7R7.js → server-settings-YL6KALXG.js} +1 -1
- package/dist/{setup-UI6V2Q3V.js → setup-BJKIHANC.js} +1 -1
- package/dist/skill-command-V26WGVXU.js +61 -0
- package/dist/storage-ANKKJJJO.js +3 -0
- package/dist/{task-GKNM3G4K.js → task-7VOYCG26.js} +7 -63
- package/dist/{update-TVVBJNN7.js → update-RLKK6N7U.js} +1 -1
- package/dist/user-UU2SLVC4.js +336 -0
- package/package.json +1 -1
- package/dist/charter-command-UPKTVL7H.js +0 -36
- package/dist/chunk-7LTTKKQA.js +0 -56
- package/dist/chunk-GFC2ASHE.js +0 -6
- package/dist/chunk-JKSXUBND.js +0 -9
- package/dist/chunk-LD3AKGH6.js +0 -30
- package/dist/chunk-ODLJ2LNQ.js +0 -13
- package/dist/chunk-PEGUHUTD.js +0 -3
- package/dist/query-NJMVSQR6.js +0 -3
- package/dist/user-EU7Z3DAO.js +0 -24
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{parseArgv}from"./chunk-
|
|
4
|
+
import{parseArgv}from"./chunk-YWGYRISN.js";import"./chunk-NAUH75MM.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-TAN5I2DP.js";import"./chunk-SP27PYHC.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.25.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
|
|
@@ -46,6 +46,13 @@ import{parseArgv}from"./chunk-LD3AKGH6.js";import"./chunk-NAUH75MM.js";import{GL
|
|
|
46
46
|
twp task-loop charter pull --project <\u30AD\u30FC|UUID> [--out <\u30D1\u30B9>]
|
|
47
47
|
\u30B5\u30FC\u30D0\u306E\u61B2\u7AE0\u3092\u30D5\u30A1\u30A4\u30EB\u3078\u5C55\u958B\uFF08\u65E2\u5B9A CONSTITUTION.md\uFF09\u3002
|
|
48
48
|
\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u3068\u9055\u3046\u3068\u304D\u306F\u5DEE\u5206\u3092\u8868\u793A\u3057\u3001--yes \u3067\u4E0A\u66F8\u304D
|
|
49
|
+
twp task-loop skill push --project <\u30AD\u30FC|UUID> <\u540D\u524D|--all> [--dir <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA>]
|
|
50
|
+
\u30B9\u30AD\u30EB\u5B9A\u7FA9\u3092 <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA>/<\u540D\u524D>.md\uFF08\u65E2\u5B9A .claude/commands\uFF09\u304B\u3089
|
|
51
|
+
\u30B5\u30FC\u30D0\u3078\u767B\u9332\u3002\u5DEE\u5206\u3068 revision \u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001\u6848\u5185\u3055\u308C\u308B
|
|
52
|
+
--yes --revision <N>\uFF08--all \u306F \u540D\u524D=N,...\uFF09\u3067\u78BA\u5B9A
|
|
53
|
+
twp task-loop skill pull --project <\u30AD\u30FC|UUID> <\u540D\u524D|--all> [--dir <\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA>]
|
|
54
|
+
\u30B5\u30FC\u30D0\u306E\u30B9\u30AD\u30EB\u5B9A\u7FA9\u3092\u30D5\u30A1\u30A4\u30EB\u3078\u5C55\u958B\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u3068\u9055\u3046\u3068\u304D\u306F
|
|
55
|
+
\u5DEE\u5206\u3092\u8868\u793A\u3057\u3001--yes \u3067\u4E0A\u66F8\u304D\uFF08\u624B\u5143\u306B\u3060\u3051\u3042\u308B\u30D5\u30A1\u30A4\u30EB\u306F\u6D88\u3055\u306A\u3044\uFF09
|
|
49
56
|
twp --mode <id> \u8D77\u52D5\u6642\u306E\u30E2\u30FC\u30C9\u3092\u6307\u5B9A\uFF08dev | biz | plan\uFF09
|
|
50
57
|
twp --permission-mode <v>
|
|
51
58
|
\u30C4\u30FC\u30EB\u5B9F\u884C\u306E\u65E2\u5B9A\u3092\u4E0A\u66F8\u304D\uFF08plan | acceptEdits | denyAll\uFF09\u3002
|
|
@@ -69,6 +76,18 @@ import{parseArgv}from"./chunk-LD3AKGH6.js";import"./chunk-NAUH75MM.js";import{GL
|
|
|
69
76
|
twp --help \u3053\u306E\u30D8\u30EB\u30D7
|
|
70
77
|
|
|
71
78
|
\u30C9\u30E1\u30A4\u30F3\u30B3\u30DE\u30F3\u30C9\uFF08TWP \u306E\u30C7\u30FC\u30BF\u3092\u64CD\u4F5C\u3059\u308B\uFF09:
|
|
79
|
+
twp agent-loop list \u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30EB\u30FC\u30D7\u306E\u30AD\u30E5\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08--status \u3067\u7D5E\u308A\u8FBC\u3080\uFF09
|
|
80
|
+
twp agent-loop get <\u30A2\u30A4\u30C6\u30E0ID>
|
|
81
|
+
\u30AD\u30E5\u30FC\u306E\u30A2\u30A4\u30C6\u30E01\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
82
|
+
twp agent-loop create \u30AD\u30E5\u30FC\u306B\u30A2\u30A4\u30C6\u30E0\u3092\u6295\u5165\u3059\u308B\uFF08--prompt "/twp-<\u30B9\u30AD\u30EB> <\u5F15\u6570>"\uFF09
|
|
83
|
+
twp agent-loop update <\u30A2\u30A4\u30C6\u30E0ID>
|
|
84
|
+
\u30A2\u30A4\u30C6\u30E0\u306E\u30E9\u30D9\u30EB\u30FB\u30D7\u30ED\u30F3\u30D7\u30C8\u30FBAI \u6307\u5B9A\u3092\u66F4\u65B0\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
85
|
+
twp agent-loop move <\u30A2\u30A4\u30C6\u30E0ID>
|
|
86
|
+
\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u306E\u5148\u982D\u3078\u79FB\u3059\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
87
|
+
twp agent-loop delete <\u30A2\u30A4\u30C6\u30E0ID>
|
|
88
|
+
\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
89
|
+
twp agent-loop history list
|
|
90
|
+
\u671F\u9593\u3092\u6307\u5B9A\u3057\u3066\u5B9F\u884C\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--since \u304C\u8981\u308B\uFF09
|
|
72
91
|
twp project list \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B
|
|
73
92
|
twp project get <\u53C2\u7167> \u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
74
93
|
twp project members \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B
|
|
@@ -98,6 +117,31 @@ import{parseArgv}from"./chunk-LD3AKGH6.js";import"./chunk-NAUH75MM.js";import{GL
|
|
|
98
117
|
twp task category list \u30BF\u30B9\u30AF\u306E\u30AB\u30C6\u30B4\u30EA\u3092\u4E00\u89A7\u3059\u308B
|
|
99
118
|
twp task milestone list \u30BF\u30B9\u30AF\u306E\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3\u3092\u4E00\u89A7\u3059\u308B
|
|
100
119
|
twp task label list \u30BF\u30B9\u30AF\u306E\u30E9\u30D9\u30EB\u3092\u4E00\u89A7\u3059\u308B
|
|
120
|
+
twp media list \u30E1\u30C7\u30A3\u30A2\u30E9\u30A4\u30D6\u30E9\u30EA\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB\uFF09
|
|
121
|
+
twp media upload \u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\uFF08--file \u5FC5\u9808\u30FB3\u5F80\u5FA9\u30921\u30B3\u30DE\u30F3\u30C9\u3067\uFF09
|
|
122
|
+
twp media download <\u30D5\u30A1\u30A4\u30EBID>
|
|
123
|
+
\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3059\uFF08--out \u5FC5\u9808\uFF09
|
|
124
|
+
twp media delete <\u30D5\u30A1\u30A4\u30EBID>
|
|
125
|
+
\u30D5\u30A1\u30A4\u30EB\u3092\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\uFF08--yes \u304C\u8981\u308B\uFF09
|
|
126
|
+
twp media bulk-publish <\u30D5\u30A1\u30A4\u30EBID>...
|
|
127
|
+
\u8907\u6570\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u516C\u958B\u3059\u308B
|
|
128
|
+
twp media bulk-unpublish <\u30D5\u30A1\u30A4\u30EBID>...
|
|
129
|
+
\u8907\u6570\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u975E\u516C\u958B\u306B\u3059\u308B
|
|
130
|
+
twp media bulk-archive <\u30D5\u30A1\u30A4\u30EBID>...
|
|
131
|
+
\u8907\u6570\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B
|
|
132
|
+
twp media bulk-restore <\u30D5\u30A1\u30A4\u30EBID>...
|
|
133
|
+
\u30B4\u30DF\u7BB1\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5FA9\u5143\u3059\u308B
|
|
134
|
+
twp media bulk-move <\u30D5\u30A1\u30A4\u30EBID>...
|
|
135
|
+
\u5225\u306E\u30D5\u30A9\u30EB\u30C0\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u79FB\u3059\uFF08--folder / --project\uFF09
|
|
136
|
+
twp media bulk-delete <\u30D5\u30A1\u30A4\u30EBID>...
|
|
137
|
+
\u30B4\u30DF\u7BB1\u3078\u79FB\u3059\uFF08--yes \u304C\u8981\u308B\u30FB--permanent \u3067\u30B4\u30DF\u7BB1\u304B\u3089\u5B8C\u5168\u524A\u9664\uFF09
|
|
138
|
+
twp media bulk-download <\u30D5\u30A1\u30A4\u30EBID>...
|
|
139
|
+
ZIP \u306B\u307E\u3068\u3081\u3066\u66F8\u304D\u51FA\u3059\uFF08--out \u5FC5\u9808\u30FB50\u4EF6\u307E\u3067\uFF09
|
|
140
|
+
twp storage get \u30C6\u30CA\u30F3\u30C8\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u4F7F\u7528\u91CF\u30FB\u4E0A\u9650\u30FB\u6B8B\u91CF\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
141
|
+
twp attendance status \u3044\u307E\u306E\u6253\u523B\u72B6\u614B\u3068\u3001\u6B21\u306B\u6253\u3066\u308B\u6253\u523B\u3092\u8868\u793A\u3059\u308B
|
|
142
|
+
twp attendance list \u6253\u523B\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--month / --date\uFF09
|
|
143
|
+
twp attendance timesheet
|
|
144
|
+
\u6708\u306E\u52E4\u6020\u8868\uFF08\u65E5\u5225\u3068\u6708\u306E\u5408\u8A08\u30FB--month\uFF09
|
|
101
145
|
twp backlog space list \u9023\u643A\u6E08\u307F\u306E Backlog \u30B9\u30DA\u30FC\u30B9\u3092\u4E00\u89A7\u3059\u308B
|
|
102
146
|
twp backlog project list
|
|
103
147
|
Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B
|
|
@@ -120,6 +164,54 @@ import{parseArgv}from"./chunk-LD3AKGH6.js";import"./chunk-NAUH75MM.js";import{GL
|
|
|
120
164
|
twp user get <\u30E6\u30FC\u30B6\u30FC> \u30E6\u30FC\u30B6\u30FC1\u4EBA\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
121
165
|
twp user assignment list <\u30E6\u30FC\u30B6\u30FC>
|
|
122
166
|
\u30E6\u30FC\u30B6\u30FC\u306E\u6240\u5C5E\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--current \u3067\u73FE\u5728\u306E\u307F\uFF09
|
|
167
|
+
twp user assignment move <\u30E6\u30FC\u30B6\u30FC>
|
|
168
|
+
\u6240\u5C5E\u3092\u4ED8\u3051\u66FF\u3048\u308B\uFF08\u73FE\u5728\u306E\u4E3B\u6240\u5C5E\u3092\u7570\u52D5\u65E5\u306E\u524D\u65E5\u3067\u7D42\u3048\u3001\u65B0\u3057\u3044\u4E3B\u6240\u5C5E\u3092\u4F5C\u308B\uFF09
|
|
169
|
+
twp user assignment create <\u30E6\u30FC\u30B6\u30FC>
|
|
170
|
+
\u6240\u5C5E\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
171
|
+
twp user assignment update <\u6240\u5C5EID>
|
|
172
|
+
\u6240\u5C5E\u3092\u66F4\u65B0\u3059\u308B\uFF08--user \u304C\u8981\u308B\uFF09
|
|
173
|
+
twp user assignment end <\u6240\u5C5EID>
|
|
174
|
+
\u6240\u5C5E\u3092\u7D42\u4E86\u3059\u308B\uFF08--user \u3068 --end-date \u304C\u8981\u308B\uFF09
|
|
175
|
+
twp user assignment delete <\u6240\u5C5EID>
|
|
176
|
+
\u6240\u5C5E\u3092\u524A\u9664\u3059\u308B\uFF08--user \u3068 --yes \u304C\u8981\u308B\uFF09
|
|
177
|
+
twp user create \u30E6\u30FC\u30B6\u30FC\u3092\u4F5C\u6210\u3059\u308B\uFF08\u30D1\u30B9\u30EF\u30FC\u30C9\u306F --password-file\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
178
|
+
twp user update <\u30E6\u30FC\u30B6\u30FC>
|
|
179
|
+
\u30E6\u30FC\u30B6\u30FC\u3092\u66F4\u65B0\u3059\u308B\uFF08--auth-type disabled \u3067\u5931\u52B9\uFF1D\u9000\u793E\uFF09
|
|
180
|
+
twp user export [--file <\u53F0\u5E33CSV>]
|
|
181
|
+
\u5728\u7C4D\u8005\u3092\u68DA\u5378\u3059\u308B\uFF08--file \u3067\u4EBA\u4E8B\u53F0\u5E33\u3068\u306E\u5DEE\u5206\u30FB\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
182
|
+
twp user invite create 1\u4EBA\u3092\u62DB\u5F85\u3059\u308B
|
|
183
|
+
twp user invite bulk CSV\uFF08\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9, \u6A29\u9650\uFF09\u306E\u5168\u54E1\u3092\u62DB\u5F85\u3059\u308B
|
|
184
|
+
twp user invite list \u62DB\u5F85\u3092\u4E00\u89A7\u3059\u308B
|
|
185
|
+
twp user invite resend <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>
|
|
186
|
+
\u62DB\u5F85\u30E1\u30FC\u30EB\u3092\u518D\u9001\u3059\u308B
|
|
187
|
+
twp user invite delete <\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9>
|
|
188
|
+
\u62DB\u5F85\u3092\u53D6\u308A\u6D88\u3059\uFF08--yes \u304C\u8981\u308B\uFF09
|
|
189
|
+
twp department list \u90E8\u7F72\u3092\u4E00\u89A7\u3059\u308B
|
|
190
|
+
twp department tree \u90E8\u7F72\u30C4\u30EA\u30FC\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u5728\u6709\u52B9\u306A\u90E8\u7F72\u3060\u3051\uFF09
|
|
191
|
+
twp department members <\u90E8\u7F72>
|
|
192
|
+
\u90E8\u7F72\u306E\u6240\u5C5E\u3092\u4E00\u89A7\u3059\u308B\uFF08--include-past \u3067\u7D42\u4E86\u30FB\u958B\u59CB\u524D\u306E\u6240\u5C5E\u3082\uFF09
|
|
193
|
+
twp department get <\u90E8\u7F72>
|
|
194
|
+
\u90E8\u7F721\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
195
|
+
twp department create \u90E8\u7F72\u3092\u4F5C\u6210\u3059\u308B\uFF08--parent \u306F\u540D\u524D\u3067\u6307\u5B9A\u3067\u304D\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
196
|
+
twp department update <\u90E8\u7F72>
|
|
197
|
+
\u90E8\u7F72\u3092\u66F4\u65B0\u3059\u308B\uFF08--valid-to \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
198
|
+
twp department delete <\u90E8\u7F72>
|
|
199
|
+
\u90E8\u7F72\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
200
|
+
twp position list \u5F79\u8077\u3092\u4E00\u89A7\u3059\u308B
|
|
201
|
+
twp position get <\u5F79\u8077> \u5F79\u80771\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
202
|
+
twp position create \u5F79\u8077\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
203
|
+
twp position update <\u5F79\u8077>
|
|
204
|
+
\u5F79\u8077\u3092\u66F4\u65B0\u3059\u308B\uFF08--status inactive \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
205
|
+
twp position delete <\u5F79\u8077>
|
|
206
|
+
\u5F79\u8077\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
207
|
+
twp job-title list \u8077\u4F4D\u3092\u4E00\u89A7\u3059\u308B
|
|
208
|
+
twp job-title get <\u8077\u4F4D>
|
|
209
|
+
\u8077\u4F4D1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
|
|
210
|
+
twp job-title create \u8077\u4F4D\u3092\u4F5C\u6210\u3059\u308B\uFF08\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
211
|
+
twp job-title update <\u8077\u4F4D>
|
|
212
|
+
\u8077\u4F4D\u3092\u66F4\u65B0\u3059\u308B\uFF08--status inactive \u3067\u7121\u52B9\u5316\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
213
|
+
twp job-title delete <\u8077\u4F4D>
|
|
214
|
+
\u8077\u4F4D\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
|
|
123
215
|
twp <\u30C9\u30E1\u30A4\u30F3> help \u305D\u306E\u30C9\u30E1\u30A4\u30F3\u306E\u30D8\u30EB\u30D7
|
|
124
216
|
twp <\u30C9\u30E1\u30A4\u30F3> <\u64CD\u4F5C> help
|
|
125
217
|
\u305D\u306E\u64CD\u4F5C\u306E\u30D8\u30EB\u30D7
|
|
@@ -155,13 +247,13 @@ TUI \u5185:
|
|
|
155
247
|
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
|
|
156
248
|
\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
|
|
157
249
|
`;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
|
|
158
|
-
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-
|
|
250
|
+
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-OBFGN6FY.js");await runAutoUpdateWorker().catch(()=>void 0);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
159
251
|
`);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(" ")}
|
|
160
252
|
|
|
161
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-
|
|
162
|
-
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-
|
|
163
|
-
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-
|
|
164
|
-
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-
|
|
253
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-CV2MM32C.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-VNHAQO24.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
|
|
254
|
+
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-VWJXBUCJ.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
|
|
255
|
+
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-RLKK6N7U.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-OFLBUP6O.js");
|
|
256
|
+
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-RG7M6E5K.js");process.exitCode=await runTaskLoop(
|
|
165
257
|
{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,
|
|
166
|
-
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-
|
|
167
|
-
{},...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}const{startTui}=await import("./app-
|
|
258
|
+
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-QQOOZZDT.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
|
|
259
|
+
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-3JIU5OUX.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();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{PromptAbortedError,promptHidden,promptText}from"./chunk-L37NS5L2.js";import{
|
|
4
|
-
import"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{EXIT_USAGE,UsageError}from"./chunk-
|
|
3
|
+
import{PromptAbortedError,promptHidden,promptText}from"./chunk-L37NS5L2.js";import{system32}from"./chunk-N2UVRM3Z.js";import{ApiError,TwpApiClient,errorListMessages}from"./chunk-FTYJZFEK.js";import{AuthSession,NotLoggedInError,SessionExpiredError,deleteCredentials,loadCredentials,maskToken,saveCredentials}from"./chunk-XNLIEUAW.js";import{isWindowsDriveAbsolute}from"./chunk-PMOUHEJQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,resolveProfile}from"./chunk-NERYSBA4.js";
|
|
4
|
+
import"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{EXIT_USAGE,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-VSJBJXZO.js";import os from"os";import{createHash,randomBytes}from"crypto";function generatePkcePair(){const verifier=randomBytes(32).toString("base64url");return{verifier,challenge:computeChallenge(verifier),method:"S256"}}function computeChallenge(verifier){return createHash("sha256").update(verifier,"ascii").digest("base64url")}function generateState(){return randomBytes(16).toString("base64url")}import http from"http";import crypto from"crypto";function safeEqual(a,b){const x=Buffer.from(a,"utf8");const y=Buffer.from(b,"utf8");const len=Math.max(x.length,y.length,1);const px=Buffer.alloc(len);const py=Buffer.alloc(len);x.copy(px);y.copy(py);return crypto.timingSafeEqual(px,py)&&x.length===y.length}var LoginTimeoutError=class extends Error{constructor(timeoutMs){super(`\u30D6\u30E9\u30A6\u30B6\u3067\u306E\u627F\u8A8D\u3092 ${Math.round(timeoutMs/1e3)} \u79D2\u5F85\u3061\u307E\u3057\u305F\u304C\u5B8C\u4E86\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002twp login \u3092\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\
|
|
5
5
|
\u3044\u3002`)}};var SUCCESS_HTML=`<!doctype html><html lang="ja"><head><meta charset="utf-8"><title>TWP CLI \u30ED\u30B0\u30A4\u30F3\u5B8C\u4E86</title></head>
|
|
6
6
|
<body style="font-family: sans-serif; text-align: center; padding-top: 4rem; background:#f7f9fc; color:#1b2559">
|
|
7
7
|
<h1 style="font-size:1.4rem">\u2705 \u30ED\u30B0\u30A4\u30F3\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F</h1>
|
|
@@ -19,10 +19,10 @@ return}const port=address.port;resolveListener({port,redirectUri:`http://127.0.0
|
|
|
19
19
|
function browserCandidates(url,env=process.env,platform=process.platform,wsl=isWsl(env)){const candidates=[];if(env.BROWSER&&env.BROWSER.trim()!==""){const browser=env.BROWSER.trim();if(platform!=="win32"||isWindowsDriveAbsolute(browser)){candidates.push({cmd:browser,args:[url]})}}if(platform==="darwin"){candidates.push({cmd:"open",args:[url]})}else if(platform==="win32"){const cmdExe=system32(env,"cmd.exe");if(cmdExe!==null){candidates.push({cmd:cmdExe,args:["/c","start",'""',escapeForCmd(url)]})}
|
|
20
20
|
const powershellExe=system32(env,"WindowsPowerShell","v1.0","powershell.exe");if(powershellExe!==null){candidates.push({cmd:powershellExe,args:["-NoProfile","-NonInteractive","-Command",`Start-Process '${url.replace(/'/g,"''")}'`]})}}else{candidates.push({cmd:"xdg-open",args:[url]});if(wsl){candidates.push({cmd:"wslview",args:[url]});candidates.push({cmd:"cmd.exe",args:["/c","start",'""',escapeForCmd(url)]});candidates.push({cmd:"powershell.exe",args:["-NoProfile","-NonInteractive","-Command",`S\
|
|
21
21
|
tart-Process '${url.replace(/'/g,"''")}'`]})}}return candidates}function tryCandidate(candidate,settleMs){return new Promise(resolve=>{let child;try{child=spawn(candidate.cmd,candidate.args,{stdio:"ignore",detached:process.platform!=="win32",shell:false})}catch{resolve(false);return}const timer=setTimeout(()=>{child.unref();resolve(true)},settleMs);child.once("error",()=>{clearTimeout(timer);resolve(false)});child.once("exit",code=>{clearTimeout(timer);resolve(code===0)})})}async function openBrowser(url,env=process.
|
|
22
|
-
env,platform=process.platform,settleMs=1500){for(const candidate of browserCandidates(url,env,platform)){if(await tryCandidate(candidate,settleMs))return true}return false}var LoginError=class extends Error{};var OOB_REDIRECT_URI="urn:ietf:wg:oauth:2.0:oob";var defaultIo=cliVersion=>({out:text=>process.stdout.write(stripTerminalControls(text)),fetchImpl:httpFetch,cliVersion});function defaultDeviceName(){let user="unknown";try{user=os.userInfo().username}catch{}return`${user}@${os.hostname()} (${process.platform})`.slice(0,100)}async function parseJson(res){try{return await res.json()}catch{return null}}function describeHttpError(status,body){const pick=()=>{
|
|
23
|
-
error_description)return body.error_description;if(body?.errors){const first=Object.values(body.errors).flat()[0];if(first)return first}if(body?.message)return body.message;return`HTTP ${status}`};return stripTerminalControls(pick())}function toStoredCredentials(body,method,profile){if(typeof body.token!=="string"||body.token===""){throw new LoginError("\u30B5\u30FC\u30D0\u5FDC\u7B54\u306B\u30C8\u30FC\u30AF\u30F3\u304C\
|
|
24
|
-
return{token:body.token,token_expires_at:body.token_expires_at??null,refresh_token:body.refresh_token??null,refresh_token_expires_at:body.refresh_token_expires_at??null,api_url:profile.apiUrl,frontend_url:profile.frontendUrl,relay_url:profile.relayUrl,tenant_code:user?.tenant_code??null,user:user?{id:user.id,name:user.name,email:user.email}:null,method,saved_at:new Date().toISOString()}}function reportLoggedIn(io,profile,creds){
|
|
25
|
-
|
|
22
|
+
env,platform=process.platform,settleMs=1500){for(const candidate of browserCandidates(url,env,platform)){if(await tryCandidate(candidate,settleMs))return true}return false}var LoginError=class extends Error{};var OOB_REDIRECT_URI="urn:ietf:wg:oauth:2.0:oob";var defaultIo=cliVersion=>({out:text=>process.stdout.write(stripTerminalControls(text)),fetchImpl:httpFetch,cliVersion});function defaultDeviceName(){let user="unknown";try{user=os.userInfo().username}catch{}return`${user}@${os.hostname()} (${process.platform})`.slice(0,100)}async function parseJson(res){try{return await res.json()}catch{return null}}function describeHttpError(status,body){const pick=()=>{const detail=errorListMessages(
|
|
23
|
+
body?.error_list)[0];if(body?.error_description&&detail)return`${body.error_description} ${detail}`;if(body?.error_description)return body.error_description;if(detail)return detail;if(body?.errors){const first=Object.values(body.errors).flat()[0];if(first)return first}if(body?.message)return body.message;return`HTTP ${status}`};return stripTerminalControls(pick())}function toStoredCredentials(body,method,profile){if(typeof body.token!=="string"||body.token===""){throw new LoginError("\u30B5\u30FC\u30D0\u5FDC\u7B54\u306B\u30C8\u30FC\u30AF\u30F3\u304C\
|
|
24
|
+
\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002")}const user=body.user;return{token:body.token,token_expires_at:body.token_expires_at??null,refresh_token:body.refresh_token??null,refresh_token_expires_at:body.refresh_token_expires_at??null,api_url:profile.apiUrl,frontend_url:profile.frontendUrl,relay_url:profile.relayUrl,tenant_code:user?.tenant_code??null,user:user?{id:user.id,name:user.name,email:user.email}:null,method,saved_at:new Date().toISOString()}}function reportLoggedIn(io,profile,creds){
|
|
25
|
+
const safe=value=>stripTerminalControls(value??"");const who=creds.user?`${safe(creds.user.name)}\uFF08${safe(creds.user.email)}\uFF09`:"(\u30E6\u30FC\u30B6\u30FC\u60C5\u5831\u306A\u3057)";const tenant=creds.tenant_code?` / \u30C6\u30CA\u30F3\u30C8: ${safe(creds.tenant_code)}`:"";io.out(`
|
|
26
26
|
\u2705 \u30ED\u30B0\u30A4\u30F3\u3057\u307E\u3057\u305F: ${who}${tenant}
|
|
27
27
|
`);io.out(` \u30D7\u30ED\u30D5\u30A1\u30A4\u30EB: ${profile.name} \u2192 ${profile.apiUrl}
|
|
28
28
|
`);if(!creds.refresh_token){io.out(" \u26A0 refresh token \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C8\u30FC\u30AF\u30F3\u5931\u52B9\u6642\u306F\u518D\u30ED\u30B0\u30A4\u30F3\u304C\u5FC5\u8981\u3067\u3059\u3002\n")}}function consentUrl(profile,io,challenge,redirectUri,state){const params=new URLSearchParams({code_challenge:challenge,redirect_uri:redirectUri,device:defaultDeviceName(),cli_version:io.cliVersion});if(state)params.set("state",state);return`${profile.frontendUrl}/auth/cli?${params.
|
|
@@ -50,12 +50,12 @@ ${err.hint?`${err.hint}
|
|
|
50
50
|
`);return 1}writeErr(`\u30A8\u30E9\u30FC: ${err.message}
|
|
51
51
|
`);return 1}}async function runLogin(options){return run(async()=>{const profile=resolveProfile(options.profile);const io=makeIo(options.cliVersion);if(options.method==="password"){await passwordLogin(profile,{tenantCode:options.tenant??void 0},process.env,io)}else if(options.method==="token"){await tokenLogin(profile,process.env,io)}else{await browserLogin(profile,process.env,io,{noBrowser:options.noBrowser})}})}async function runLogout(options){return run(async()=>{const profile=resolveProfile(
|
|
52
52
|
options.profile);const creds=loadCredentials(profile.name);if(!creds){writeOut(`\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u300C${profile.name}\u300D\u306F\u30ED\u30B0\u30A4\u30F3\u3057\u3066\u3044\u307E\u305B\u3093\u3002
|
|
53
|
-
`);return}const{describeLogoutImpact,findLoopsUsingProfile}=await import("./logout-guard-
|
|
53
|
+
`);return}const{describeLogoutImpact,findLoopsUsingProfile}=await import("./logout-guard-3PB3VMGP.js");const found=findLoopsUsingProfile(profile.name,options.logoutGuard);if(found.users.length>0||found.undetermined.length>0){writeErr(describeLogoutImpact(profile.name,found,options.force===true));if(options.force!==true)throw new LogoutRefusedError}const apiUrl=effectiveApiUrl(profile,creds.api_url);const revoked=await httpFetch(`${apiUrl}/api/v2/auth/logout`,{method:"POST",headers:{Accept:"applic\
|
|
54
54
|
ation/json",Authorization:`Bearer ${creds.token}`}}).then(res=>res.ok,()=>false);await deleteCredentials(profile.name);writeOut(`\u2705 \u30ED\u30B0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\uFF08\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB: ${profile.name} / \u30C8\u30FC\u30AF\u30F3: ${maskToken(creds.token)}\uFF09
|
|
55
55
|
`);if(!revoked){writeOut("\u26A0 \u30B5\u30FC\u30D0\u5074\u306E\u30C8\u30FC\u30AF\u30F3\u5931\u52B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AA\u30D5\u30E9\u30A4\u30F3\u7B49\uFF09\u3002TWP \u306E\u300C\u8A2D\u5B9A > CLI\u7AEF\u672B\u300D\u304B\u3089\u3082\u5931\u52B9\u3067\u304D\u307E\u3059\u3002\n")}})}async function runWhoami(options){return run(async()=>{const profile=resolveProfile(options.profile);const structured=options.output!==void 0||options.query!==void 0;let format=null;if(structured){
|
|
56
56
|
const{resolveOutputFormat,OUTPUT_FORMATS}=await import("./format-NMW6Y2E5.js");format=resolveOutputFormat({...options.output!==void 0?{flag:options.output}:{},isTty:process.stdout.isTTY===true});if(format===null){throw new UsageError(`--output \u306B\u300C${options.output??""}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${OUTPUT_FORMATS.join(" / ")} \u3067\u3059`)}}const stored=loadCredentials(profile.name);const apiUrl=effectiveApiUrl(
|
|
57
57
|
profile,stored?.api_url);const session=new AuthSession(profile.name,apiUrl);const client=new TwpApiClient(apiUrl,session,httpFetch,options.cliVersion);const me=await client.get("/api/v2/user");const user=me.user;const creds=loadCredentials(profile.name);if(format!==null){const value={id:user?.id??null,name:user?.name??null,email:user?.email??null,tenant_code:user?.tenant_code??null,role:user?.role??null,is_admin:user?.is_admin??null,profile:profile.name,api_url:apiUrl,expires_at:creds?.token_expires_at??
|
|
58
|
-
null};const{evaluateQuery}=await import("./query-
|
|
58
|
+
null};const{evaluateQuery}=await import("./query-EEALMOSO.js");const{renderOutput}=await import("./render-K45EOLHX.js");const selected=options.query===void 0?value:await evaluateQuery(options.query,value);const text=renderOutput(selected,format);process.stdout.write(text.endsWith("\n")?text:`${text}
|
|
59
59
|
`);return}writeOut(`\u30E6\u30FC\u30B6\u30FC: ${user?.name??"?"}\uFF08${user?.email??"?"}\uFF09
|
|
60
60
|
`);writeOut(`ID: ${user?.id??"?"}
|
|
61
61
|
`);writeOut(`\u30C6\u30CA\u30F3\u30C8: ${user?.tenant_code??"?"}
|