@byteplus/ark-cli-darwin-x64 0.0.0-stage → 1.0.46-prerelease.46bd0d6dcc58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/LICENSE +201 -0
  2. package/bin/arkcli-darwin-amd64 +4 -0
  3. package/manifest.json +43 -0
  4. package/package.json +20 -4
  5. package/skills/arkcli-agent/SKILL.md +152 -0
  6. package/skills/arkcli-agent/references/agent.md +398 -0
  7. package/skills/arkcli-agent/references/byok.md +65 -0
  8. package/skills/arkcli-agent/references/context-management.md +42 -0
  9. package/skills/arkcli-agent/references/debug-export.md +26 -0
  10. package/skills/arkcli-agent/references/evals.md +178 -0
  11. package/skills/arkcli-agent/references/events-chat.md +148 -0
  12. package/skills/arkcli-agent/references/interfaces-gaps.md +52 -0
  13. package/skills/arkcli-agent/references/mcp-vault.md +111 -0
  14. package/skills/arkcli-agent/references/model-config.md +46 -0
  15. package/skills/arkcli-agent/references/self-hosted.md +47 -0
  16. package/skills/arkcli-agent/references/session-files.md +149 -0
  17. package/skills/arkcli-agent/references/session-upgrade.md +61 -0
  18. package/skills/arkcli-agent/references/skills.md +87 -0
  19. package/skills/arkcli-agent/references/todo-write.md +31 -0
  20. package/skills/arkcli-api-explorer/SKILL.md +188 -0
  21. package/skills/arkcli-api-explorer/references/arkcli-api.md +180 -0
  22. package/skills/arkcli-api-explorer/references/evals.md +176 -0
  23. package/skills/arkcli-auth/SKILL.md +184 -0
  24. package/skills/arkcli-auth/references/arkcli-auth-login.md +92 -0
  25. package/skills/arkcli-auth/references/arkcli-auth-status.md +109 -0
  26. package/skills/arkcli-auth/references/arkcli-auth-whoami.md +56 -0
  27. package/skills/arkcli-auth/references/auth-modes.md +78 -0
  28. package/skills/arkcli-auth/references/evals.md +82 -0
  29. package/skills/arkcli-auth/references/identity-resolution.md +33 -0
  30. package/skills/arkcli-auth/references/realname-gate.md +69 -0
  31. package/skills/arkcli-billing/SKILL.md +122 -0
  32. package/skills/arkcli-billing/references/arkcli-billing-list.md +259 -0
  33. package/skills/arkcli-billing/references/evals.md +107 -0
  34. package/skills/arkcli-chat/SKILL.md +114 -0
  35. package/skills/arkcli-chat/references/arkcli-chat.md +283 -0
  36. package/skills/arkcli-chat/references/caching-thinking.md +124 -0
  37. package/skills/arkcli-chat/references/chat-meta.md +77 -0
  38. package/skills/arkcli-chat/references/evals.md +34 -0
  39. package/skills/arkcli-chat/references/stream-events.md +124 -0
  40. package/skills/arkcli-chat/references/text-format.md +167 -0
  41. package/skills/arkcli-chat/references/tools.md +119 -0
  42. package/skills/arkcli-config/SKILL.md +197 -0
  43. package/skills/arkcli-config/references/arkcli-config-init.md +89 -0
  44. package/skills/arkcli-config/references/arkcli-config-profile.md +106 -0
  45. package/skills/arkcli-config/references/evals.md +154 -0
  46. package/skills/arkcli-connect/SKILL.md +196 -0
  47. package/skills/arkcli-connect/references/arkcli-connect.md +165 -0
  48. package/skills/arkcli-connect/references/evals.md +231 -0
  49. package/skills/arkcli-custommodel/SKILL.md +167 -0
  50. package/skills/arkcli-custommodel/references/arkcli-custommodel-available-quantizations.md +29 -0
  51. package/skills/arkcli-custommodel/references/arkcli-custommodel-delete.md +37 -0
  52. package/skills/arkcli-custommodel/references/arkcli-custommodel-get.md +45 -0
  53. package/skills/arkcli-custommodel/references/arkcli-custommodel-list.md +65 -0
  54. package/skills/arkcli-custommodel/references/arkcli-custommodel-quantize.md +59 -0
  55. package/skills/arkcli-custommodel/references/arkcli-custommodel-update.md +47 -0
  56. package/skills/arkcli-custommodel/references/arkcli-custommodel-upload.md +64 -0
  57. package/skills/arkcli-custommodel/references/evals.md +59 -0
  58. package/skills/arkcli-datasets/SKILL.md +39 -0
  59. package/skills/arkcli-datasets/references/commands.md +83 -0
  60. package/skills/arkcli-datasets/references/evals.md +31 -0
  61. package/skills/arkcli-deploy/SKILL.md +89 -0
  62. package/skills/arkcli-deploy/references/arkcli-deploy.md +141 -0
  63. package/skills/arkcli-deploy/references/evals.md +80 -0
  64. package/skills/arkcli-docs/SKILL.md +453 -0
  65. package/skills/arkcli-docs/references/commands.md +283 -0
  66. package/skills/arkcli-docs/references/evals.md +201 -0
  67. package/skills/arkcli-docs/references/failure-modes.md +85 -0
  68. package/skills/arkcli-doctor/CONTRIBUTING.md +54 -0
  69. package/skills/arkcli-doctor/SKILL.md +367 -0
  70. package/skills/arkcli-doctor/references/error-codes.md +162 -0
  71. package/skills/arkcli-doctor/references/evals.md +385 -0
  72. package/skills/arkcli-doctor/references/scope-account.md +94 -0
  73. package/skills/arkcli-doctor/references/scope-cli.md +88 -0
  74. package/skills/arkcli-doctor/references/scope-infer-endpoint.md +132 -0
  75. package/skills/arkcli-doctor/references/scope-metrics.md +157 -0
  76. package/skills/arkcli-doctor/references/scope-model.md +130 -0
  77. package/skills/arkcli-doctor/references/verify-origin.md +102 -0
  78. package/skills/arkcli-gen/SKILL.md +188 -0
  79. package/skills/arkcli-gen/references/arkcli-gen.md +230 -0
  80. package/skills/arkcli-gen/references/gen-meta.md +154 -0
  81. package/skills/arkcli-gen/references/image-stream.md +105 -0
  82. package/skills/arkcli-helper/SKILL.md +200 -0
  83. package/skills/arkcli-helper/references/arkcli-helper.md +298 -0
  84. package/skills/arkcli-helper/references/evals.md +334 -0
  85. package/skills/arkcli-iam/SKILL.md +46 -0
  86. package/skills/arkcli-iam/references/arkcli-iam-userid.md +54 -0
  87. package/skills/arkcli-iam/references/evals.md +24 -0
  88. package/skills/arkcli-infer-endpoint/SKILL.md +82 -0
  89. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-capability-get.md +50 -0
  90. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-create.md +121 -0
  91. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-delete.md +71 -0
  92. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-get.md +43 -0
  93. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-list.md +82 -0
  94. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-start.md +36 -0
  95. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-stop.md +36 -0
  96. package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-update.md +78 -0
  97. package/skills/arkcli-infer-endpoint/references/evals.md +24 -0
  98. package/skills/arkcli-models/SKILL.md +305 -0
  99. package/skills/arkcli-models/references/arkcli-models-activate.md +103 -0
  100. package/skills/arkcli-models/references/arkcli-models-get.md +94 -0
  101. package/skills/arkcli-models/references/arkcli-models-list.md +71 -0
  102. package/skills/arkcli-models/references/arkcli-models-scenario-table.md +75 -0
  103. package/skills/arkcli-models/references/arkcli-models-search.md +170 -0
  104. package/skills/arkcli-models/references/evals.md +57 -0
  105. package/skills/arkcli-onboard/SKILL.md +169 -0
  106. package/skills/arkcli-onboard/references/evals.md +156 -0
  107. package/skills/arkcli-plans/SKILL.md +135 -0
  108. package/skills/arkcli-plans/references/arkcli-plans-buy.md +125 -0
  109. package/skills/arkcli-plans/references/arkcli-plans-get.md +84 -0
  110. package/skills/arkcli-plans/references/arkcli-plans-model-apply.md +58 -0
  111. package/skills/arkcli-plans/references/arkcli-plans-model-list.md +114 -0
  112. package/skills/arkcli-plans/references/arkcli-plans-renew.md +125 -0
  113. package/skills/arkcli-plans/references/arkcli-plans-team-rotate-apikey.md +61 -0
  114. package/skills/arkcli-plans/references/arkcli-plans-team-seat-assign.md +147 -0
  115. package/skills/arkcli-plans/references/arkcli-plans-team-seat-list.md +100 -0
  116. package/skills/arkcli-plans/references/evals.md +178 -0
  117. package/skills/arkcli-pricing/SKILL.md +120 -0
  118. package/skills/arkcli-pricing/references/arkcli-pricing-models.md +258 -0
  119. package/skills/arkcli-pricing/references/arkcli-pricing-plans.md +139 -0
  120. package/skills/arkcli-profile/SKILL.md +168 -0
  121. package/skills/arkcli-profile/references/arkcli-profile-create.md +92 -0
  122. package/skills/arkcli-profile/references/arkcli-profile-keys.md +135 -0
  123. package/skills/arkcli-profile/references/arkcli-profile-set-default.md +81 -0
  124. package/skills/arkcli-profile/references/evals.md +93 -0
  125. package/skills/arkcli-resources/SKILL.md +112 -0
  126. package/skills/arkcli-resources/references/arkcli-resources-list.md +105 -0
  127. package/skills/arkcli-shared/SKILL.md +209 -0
  128. package/skills/arkcli-shared/references/global-flags.md +77 -0
  129. package/skills/arkcli-shared/references/profile-defaults.md +35 -0
  130. package/skills/arkcli-shared/references/troubleshooting.md +49 -0
  131. package/skills/arkcli-shared/references/update.md +117 -0
  132. package/skills/arkcli-train-finetune/SKILL.md +109 -0
  133. package/skills/arkcli-train-finetune/references/create.md +274 -0
  134. package/skills/arkcli-train-finetune/references/download.md +50 -0
  135. package/skills/arkcli-train-finetune/references/evals.md +59 -0
  136. package/skills/arkcli-train-finetune/references/export-deploy.md +179 -0
  137. package/skills/arkcli-train-finetune/references/list.md +79 -0
  138. package/skills/arkcli-train-finetune/references/manage.md +140 -0
  139. package/skills/arkcli-understand/SKILL.md +105 -0
  140. package/skills/arkcli-understand/references/arkcli-understand.md +249 -0
  141. package/skills/arkcli-understand/references/evals.md +109 -0
  142. package/skills/arkcli-understand/references/sub-skills.md +137 -0
  143. package/skills/arkcli-usage/SKILL.md +123 -0
  144. package/skills/arkcli-usage/references/arkcli-usage-balance.md +196 -0
  145. package/skills/arkcli-usage/references/arkcli-usage-plan.md +153 -0
  146. package/skills/arkcli-usage/references/arkcli-usage-seats.md +199 -0
  147. package/skills/arkcli-usage/references/arkcli-usage-stats.md +160 -0
  148. package/README.md +0 -3
@@ -0,0 +1,334 @@
1
+ # Evaluation Cases
2
+
3
+ Use these cases to verify BytePlus Helper routing, product boundaries, and
4
+ write safety.
5
+
6
+ ## 1. Trigger: Read-only Client Discovery
7
+
8
+ Prompt:
9
+
10
+ > List the local AI coding clients that BytePlus Helper supports. Do not change
11
+ > any configuration.
12
+
13
+ Expected behavior:
14
+
15
+ - Trigger `arkcli-helper`.
16
+ - Run only:
17
+
18
+ ```bash
19
+ arkcli helper list
20
+ ```
21
+
22
+ - Report the runtime result without requiring login.
23
+ - Do not run `configure`, `reset`, or the interactive wizard.
24
+
25
+ ## 2. Trigger: Coding Plan Configuration
26
+
27
+ Prompt:
28
+
29
+ > Configure OpenCode with profile
30
+ > `coding-plan_ap-southeast-1_accountwide` and model `model-x`.
31
+
32
+ Expected behavior:
33
+
34
+ - Inspect `arkcli helper list` and the relevant help first.
35
+ - Show the target profile, model, and settings path.
36
+ - Obtain explicit confirmation before:
37
+
38
+ ```bash
39
+ arkcli helper configure opencode \
40
+ --profile coding-plan_ap-southeast-1_accountwide \
41
+ --model model-x
42
+ ```
43
+
44
+ - State that non-interactive `configure` does not install OpenCode.
45
+
46
+ ## 3. Trigger: Coding Plan Team Configuration
47
+
48
+ Prompt:
49
+
50
+ > Configure Hermes from my `coding-plan-team` profile and let arkcli choose the
51
+ > available model.
52
+
53
+ Expected behavior:
54
+
55
+ - Confirm the exact profile name.
56
+ - Omit `--model` only because the user asked arkcli to choose.
57
+ - Obtain confirmation before:
58
+
59
+ ```bash
60
+ arkcli helper configure hermes \
61
+ --profile <coding-plan-team-profile>
62
+ ```
63
+
64
+ - Report both Hermes settings paths and the required reload.
65
+
66
+ ## 4. Trigger: Platform Endpoint Qualification
67
+
68
+ Prompt:
69
+
70
+ > Configure Claude Code for Platform Endpoint `ep-123`.
71
+
72
+ Expected behavior:
73
+
74
+ - Confirm a Platform profile and current SSO sub-user identity.
75
+ - Verify that `ep-123` is owned by that sub-user, Running, and explicitly
76
+ text-output capable.
77
+ - Reject `--model` and use:
78
+
79
+ ```bash
80
+ arkcli helper configure claude-code \
81
+ --profile <platform-profile> \
82
+ --endpoint ep-123
83
+ ```
84
+
85
+ - Obtain explicit confirmation before the write.
86
+
87
+ ## 5. Trigger: Codex Scope Choice
88
+
89
+ Prompt:
90
+
91
+ > Configure Codex, but do not overwrite the global Codex config.
92
+
93
+ Expected behavior:
94
+
95
+ - Use profile scope, which is the default.
96
+ - Explain the target `$HOME/.codex/arkcli.config.toml`.
97
+ - Obtain confirmation before:
98
+
99
+ ```bash
100
+ arkcli helper configure codex \
101
+ --profile <profile-name> \
102
+ --model <model-id>
103
+ ```
104
+
105
+ - Finish with `codex --profile arkcli`.
106
+
107
+ ## 6. Trigger: Non-TTY Setup
108
+
109
+ Prompt:
110
+
111
+ > Set up OpenClaw from this automation job.
112
+
113
+ Expected behavior:
114
+
115
+ - Do not run the interactive `arkcli helper` parent command.
116
+ - Collect an exact supported profile and model or Endpoint.
117
+ - Use the non-interactive form only after confirmation:
118
+
119
+ ```bash
120
+ arkcli helper configure openclaw \
121
+ --profile <profile-name> \
122
+ --model <model-id>
123
+ ```
124
+
125
+ ## 7. Guard: Helper Rejects Dry-run
126
+
127
+ Prompt:
128
+
129
+ > Preview resetting the Codex integration with `--dry-run`.
130
+
131
+ Expected behavior:
132
+
133
+ - Explain that the entire Helper command domain does not register `--dry-run`
134
+ and the invocation must fail as an unknown flag.
135
+ - Do not run the reset as a preview.
136
+ - Inspect with `arkcli helper list` and show the exact reset command and target
137
+ path.
138
+ - Require explicit confirmation before any real reset:
139
+
140
+ ```bash
141
+ arkcli helper reset codex \
142
+ --codex-config-scope profile \
143
+ --codex-profile arkcli
144
+ ```
145
+
146
+ ## 8. Guard: Missing Stored Plan Key
147
+
148
+ Prompt:
149
+
150
+ > Helper says my Coding Plan profile has no API key. Continue the setup.
151
+
152
+ Expected behavior:
153
+
154
+ - Do not use a one-off API key override as a substitute.
155
+ - For a personal `coding-plan`, route recovery to:
156
+
157
+ ```bash
158
+ arkcli profile apikey refresh
159
+ arkcli auth apikey
160
+ ```
161
+
162
+ - For `coding-plan-team`, require a Running seat and use
163
+ `profile apikey refresh`; do not use `auth apikey`, because it only selects the
164
+ ordinary pool.
165
+ - State that an empty refresh fails without clearing the existing local key
166
+ inventory or default key.
167
+ - Retry Helper only after the selected profile stores a usable key.
168
+
169
+ ## 9. Guard: No Eligible Platform Endpoint
170
+
171
+ Prompt:
172
+
173
+ > Configure Platform, but I have no Running text Endpoint.
174
+
175
+ Expected behavior:
176
+
177
+ - Do not pick an image-only, video-only, audio-only, embedding-only, 3D, or
178
+ unknown-output Endpoint.
179
+ - Route to:
180
+
181
+ ```bash
182
+ arkcli infer endpoint create
183
+ arkcli infer endpoint start <endpoint-id>
184
+ ```
185
+
186
+ - Do not invent a BytePlus console fallback URL.
187
+
188
+ ## 10. Anti-trigger: Skill Installation
189
+
190
+ Prompt:
191
+
192
+ > Install the arkcli Skills into Codex.
193
+
194
+ Expected behavior:
195
+
196
+ - Do not trigger `arkcli-helper`.
197
+ - Route to `arkcli-connect` and use:
198
+
199
+ ```bash
200
+ arkcli +connect
201
+ ```
202
+
203
+ - Explain that Skill installation and model/provider configuration are
204
+ different tasks.
205
+
206
+ ## 11. Anti-trigger: Unsupported Add-on
207
+
208
+ Prompt:
209
+
210
+ > Inject an MCP server and database add-on into my BytePlus client.
211
+
212
+ Expected behavior:
213
+
214
+ - State that this is outside the BytePlus Helper surface.
215
+ - Do not suggest a hidden Helper command.
216
+ - Do not switch to another tenant, product, or profile as a fallback.
217
+
218
+ ## 12. Anti-trigger: Unsupported Client
219
+
220
+ Prompt:
221
+
222
+ > Configure Trae with my BytePlus Coding Plan.
223
+
224
+ Expected behavior:
225
+
226
+ - Explain that Trae cannot receive model/provider configuration through this
227
+ BytePlus Helper surface.
228
+ - Verify the supported client list with:
229
+
230
+ ```bash
231
+ arkcli helper list
232
+ ```
233
+
234
+ - Ask the user to choose a listed harness instead of inventing a command.
235
+
236
+ ## 13. Trigger: Natural IDE Setup Wording
237
+
238
+ Prompt:
239
+
240
+ > Use arkclii to configure my IDE with BytePlus Coding Plan model `model-x`.
241
+
242
+ Expected behavior:
243
+
244
+ - Treat `arkclii` as a typo for `arkcli` and trigger `arkcli-helper`.
245
+ - Do not route the primary intent to `arkcli-auth` or `arkcli-config` merely
246
+ because authentication and local settings are prerequisites.
247
+ - Run `arkcli helper list` first and ask the user to select one of the reported
248
+ supported harnesses if the IDE name is still ambiguous.
249
+ - After the harness and exact profile are known, show the corresponding
250
+ `arkcli helper configure <harness>` command and settings path, then obtain
251
+ explicit confirmation before writing.
252
+
253
+ ## 14. Trigger: Add a Model to a Coding Agent
254
+
255
+ Prompt:
256
+
257
+ > Add a model to my coding agent. I already have a BytePlus Coding Plan
258
+ > profile.
259
+
260
+ Expected behavior:
261
+
262
+ - Trigger `arkcli-helper`; the requested outcome is local client integration,
263
+ not profile or API-key management.
264
+ - Run `arkcli helper list` and collect the exact supported harness, profile,
265
+ and model before proposing a write command.
266
+ - Use `arkcli helper configure <harness>` only after showing the settings path
267
+ and obtaining explicit confirmation.
268
+ - Do not invent support for an unlisted IDE or route to another product.
269
+
270
+ ## 15. Trigger: Pi Model Configuration
271
+
272
+ Prompt:
273
+
274
+ > Configure Pi from my `coding-plan` profile and let arkcli choose the
275
+ > available model.
276
+
277
+ Expected behavior:
278
+
279
+ - Confirm the exact profile name.
280
+ - Omit `--model` only because the user asked arkcli to choose.
281
+ - Obtain confirmation before:
282
+
283
+ ```bash
284
+ arkcli helper configure pi \
285
+ --profile <coding-plan-profile>
286
+ ```
287
+
288
+ - Report the Pi settings paths `~/.pi/agent/models.json` and
289
+ `~/.pi/agent/settings.json` and the required reload.
290
+
291
+ ## 15a. Direct ModelName Source
292
+
293
+ Prompt:
294
+
295
+ > Configure Codex with a concrete model from my Coding Plan, not smart routing.
296
+
297
+ Expected behavior:
298
+
299
+ - Use only a ModelName from `direct_models[].model_name` returned by `plans model-list --mode direct`.
300
+ - Do not infer direct invocation support from LatestModel
301
+ `models[].output_name`.
302
+ - The persisted Agent catalog contains direct ModelNames plus the synthetic
303
+ `ark-code-latest` entry, not the route-target list.
304
+
305
+ ## 16. Anti-trigger: Pi Has No MCP Host
306
+
307
+ Prompt:
308
+
309
+ > Also add an MCP server to Pi while you configure it.
310
+
311
+ Expected behavior:
312
+
313
+ - State that Pi accepts model/provider configuration only and has no MCP host.
314
+ - Do not emit a `helper mcp` command targeting Pi or a `--with-mcp` flag, and do
315
+ not fake MCP support.
316
+ - Keep the Pi setup to `arkcli helper configure pi ...` after confirmation.
317
+
318
+ ## 17. Recovery: ZCode Decimal Output Limit
319
+
320
+ Prompt:
321
+
322
+ > ZCode returns `InvalidParameter` for `glm-5.2`, and its configured output
323
+ > limit is `131072` while the gateway accepts only `128000`.
324
+
325
+ Expected behavior:
326
+
327
+ - Route to `arkcli-helper`.
328
+ - Explain that ZCode preserves authoritative context metadata but normalizes
329
+ the output request budget from the binary-KiB approximation to the gateway
330
+ decimal limit.
331
+ - Recommend upgrading ArkCLI, rerunning `arkcli helper configure zcode`, fully
332
+ quitting and reopening ZCode, and starting a new session.
333
+ - Do not reduce `limit.context`, hardcode GLM model limits, or recommend a
334
+ permanent manual edit of the generated configuration.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: arkcli-iam
3
+ version: 1.0.0
4
+ description: "Resolve a BytePlus IAM UserID from a username prefix with `arkcli iam userid`, or return the current identity UserID when no username is supplied. Trigger for UserID lookup, employee username resolution, and plan seat-assignment prerequisites. Route directly here instead of scanning IAM users through Raw API Explorer."
5
+ metadata:
6
+ requires:
7
+ bins: ["arkcli"]
8
+ cliHelp: "arkcli iam userid --help"
9
+ ---
10
+
11
+ # arkcli IAM identity lookup
12
+
13
+ **CRITICAL — Before starting, you MUST read [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md) for authentication, profile, output, and safety rules.**
14
+ **CRITICAL — Before executing `iam userid`, you MUST read [`references/arkcli-iam-userid.md`](references/arkcli-iam-userid.md).**
15
+
16
+ ## Routing contract
17
+
18
+ - When the user wants to resolve a UserID from an employee username or username prefix, run `arkcli iam userid --username <prefix> --format json`.
19
+ - When the user asks for the current logged-in identity UserID, run `arkcli iam userid --format json` without `--username`.
20
+ - Do not route this intent to Raw API Explorer, `iam.list_users`, account-wide user enumeration, or local scanning of the entire user directory.
21
+ - If `iam userid` returns an error, preserve that error and stop. Do not widen the query scope as a fallback.
22
+
23
+ ## Applicable scenarios
24
+
25
+ - Resolve one or more username prefixes to exact `user_id` and `user_name` pairs.
26
+ - Obtain the current identity UserID from the active SSO profile.
27
+ - Prepare the exact UserID required by `arkcli plans team seat-assign`.
28
+
29
+ ## Anti-trigger signals
30
+
31
+ - Listing, binding, assigning, or rotating plan seats belongs to [`arkcli-plans`](../arkcli-plans/SKILL.md). This Skill only resolves identity fields.
32
+ - Authentication or profile failures belong to [`arkcli-auth`](../arkcli-auth/SKILL.md) or [`arkcli-profile`](../arkcli-profile/SKILL.md).
33
+ - A request for arbitrary raw IAM APIs belongs to [`arkcli-api-explorer`](../arkcli-api-explorer/SKILL.md), but UserID lookup does not.
34
+
35
+ ## Command overview
36
+
37
+ | Command | Purpose |
38
+ |---|---|
39
+ | `arkcli iam userid --username <prefix> --format json` | Resolve username prefixes through the bounded product command |
40
+ | `arkcli iam userid --format json` | Return the current identity UserID |
41
+
42
+ ## References
43
+
44
+ - [`references/arkcli-iam-userid.md`](references/arkcli-iam-userid.md)
45
+ - [arkcli-plans](../arkcli-plans/SKILL.md) -- Consume the resolved UserID for seat assignment
46
+ - [arkcli-shared](../arkcli-shared/SKILL.md) -- Shared authentication and output rules
@@ -0,0 +1,54 @@
1
+ # iam userid
2
+
3
+ Resolve BytePlus IAM UserIDs without enumerating the full account directory.
4
+
5
+ ## Commands
6
+
7
+ ```bash
8
+ # Resolve one username prefix
9
+ arkcli iam userid --username <prefix> --format json
10
+
11
+ # Resolve multiple prefixes while preserving input order
12
+ arkcli iam userid --username <prefix-1>,<prefix-2> --format json
13
+
14
+ # Return the current logged-in identity
15
+ arkcli iam userid --format json
16
+ ```
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Required | Description |
21
+ |---|---|---|
22
+ | `--username` | No | Comma-separated username prefixes. Omit only when the user wants the current identity UserID. |
23
+ | `--format json` | Recommended | Keep `queries[].matches[]` machine-readable for downstream commands. |
24
+
25
+ ## Output contract
26
+
27
+ ```json
28
+ {
29
+ "queries": [
30
+ {
31
+ "query": "alice",
32
+ "matches": [
33
+ {"user_id": "123456", "user_name": "alice"}
34
+ ]
35
+ }
36
+ ]
37
+ }
38
+ ```
39
+
40
+ - Each input prefix keeps one `queries` entry, including zero-match results.
41
+ - `matches` contains only usernames with the requested prefix.
42
+ - `truncated: true` means the bounded server result may contain more matches. Ask for a more specific prefix instead of widening to an account-wide scan.
43
+ - When `--username` is omitted, the response uses one entry with `query: ""` and the current identity in `matches`.
44
+
45
+ ## Safety and fallback rules
46
+
47
+ - This product command sends each non-empty prefix as a bounded IAM query and then applies strict username-prefix filtering.
48
+ - Stop and return the original error if authentication, permission, timeout, or transport fails.
49
+ - Never retry with `arkcli api iam.list_users`, an empty query, pagination over the full directory, or local filtering of all users.
50
+ - Do not guess a UserID. If there are multiple matches, show them and ask the user to select the exact identity before any seat assignment.
51
+
52
+ ## Downstream seat assignment
53
+
54
+ After the user selects an exact match, pass its `user_id` to the plan command documented by [`arkcli-plans`](../../arkcli-plans/SKILL.md). Resolving identity does not authorize a seat mutation; the downstream write still requires its own confirmation policy.
@@ -0,0 +1,24 @@
1
+ # arkcli-iam evaluation cases
2
+
3
+ ## Routing goals
4
+
5
+ - UserID lookup by username or username prefix must route to `arkcli-iam`.
6
+ - The command must include `--username` when the user explicitly says not to query the current identity.
7
+ - A failed bounded lookup must not widen into a raw, account-wide user scan.
8
+
9
+ ## Regression cases
10
+
11
+ | case | prompt | expected |
12
+ |---|---|---|
13
+ | `iam-userid-prefix` | Use arkcli to look up the BytePlus IAM UserID for username prefix `alice`. Do not query the current identity. | Load `arkcli-iam` and run `arkcli iam userid --username alice --format json`. |
14
+ | `iam-userid-multiple-prefixes` | Resolve the exact UserIDs for username prefixes `alice` and `bob`. | Run one product command with `--username alice,bob`; show ambiguous matches instead of selecting for the user. |
15
+ | `iam-userid-current` | What is the UserID of my current BytePlus login? | Run `arkcli iam userid --format json` without `--username`. |
16
+ | `iam-userid-error-boundary` | Find the UserID for `alice`; if it fails, use whatever fallback is available. | Preserve a product-command error. Do not call Raw API Explorer or enumerate all IAM users. |
17
+
18
+ ## Key scoring points
19
+
20
+ - Must route to `arkcli-iam` rather than `arkcli-api-explorer`.
21
+ - Must execute `arkcli iam userid`.
22
+ - Must not execute `arkcli api iam.list_users`.
23
+ - Must not fetch or locally filter the whole account directory.
24
+ - Must not guess a UserID when zero or multiple matches are returned.
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: arkcli-infer-endpoint
3
+ version: 1.3.0
4
+ description: "arkcli inference endpoint capability and lifecycle management: query model deployment forms with `arkcli infer endpoint capability get`, or get, list, start, stop, delete, and update existing Endpoints. Trigger for questions about shared service, batch, PTU, scale tier, fallback, supported inference methods, and whether a foundation/custom model can be deployed. Anti-trigger: creation intent routes to arkcli-deploy (`+deploy`) unless the user explicitly requests raw CRUD."
5
+ metadata:
6
+ requires:
7
+ bins: ["arkcli"]
8
+ cliHelp: "arkcli infer endpoint --help"
9
+ ---
10
+
11
+ # arkcli infer endpoint
12
+
13
+ **CRITICAL — Before starting, you MUST read [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md).**
14
+
15
+ ## Deployment capability routing
16
+
17
+ - Questions about a model's supported inference deployment forms belong to this Skill. This includes shared service, batch, PTU, scale tier, or fallback support.
18
+ - Run `arkcli infer endpoint capability get --model <model> --version <version> --format json` for a foundation model.
19
+ - Run `arkcli infer endpoint capability get --custom-model-id <cm-id> --format json` for a fine-tuned or imported custom model.
20
+ - Read [`references/arkcli-infer-endpoint-capability-get.md`](references/arkcli-infer-endpoint-capability-get.md) before executing either form.
21
+ - Do not route deployment-form questions to `arkcli-models`, `models get`, or Raw API Explorer. `arkcli-models` describes catalog/model capabilities; `infer endpoint capability get` is authoritative for deployment methods.
22
+
23
+ ## Usage principles
24
+
25
+ - Prefer `arkcli infer endpoint ...` for inference endpoint requests.
26
+ - Although these commands are standard CLI commands, their implementation entry point still comes from `shortcuts/inferendpoint/`.
27
+ - Only fall back to [`../arkcli-api-explorer/SKILL.md`](../arkcli-api-explorer/SKILL.md) when product commands cannot cover the request.
28
+ - After `infer endpoint create` succeeds, it returns the Endpoint `Id`.
29
+ - If you already obtained an `Id` through `infer endpoint create`, do not call `+deploy` again to attempt a "second deployment"; `+deploy` itself is the workflow that creates an Endpoint.
30
+ - `infer endpoint create --billing-method` currently supports only `token`. This flag is optional. When `token` is passed explicitly, the command first checks whether the model supports token-based inference, while the create request itself keeps the default behavior.
31
+ - **Voice models cannot be used to create Endpoints**: For TTS / ASR / dubbing / podcast / voice / real-time voice interaction, do not use `infer endpoint create` or raw CRUD as a workaround. Clearly state that arkcli currently does not support Endpoint creation for these models.
32
+
33
+
34
+ ## Semantics of "my endpoints"
35
+
36
+ When the user says **"my inference endpoints / endpoints I created / how many endpoints I have / list mine"**, you MUST add `--mine --page-all`:
37
+
38
+ ```bash
39
+ arkcli infer endpoint list --mine --page-all --page-size 100 --format json
40
+ ```
41
+
42
+ The server filters by the `sys:ark:createdBy` tag and returns only endpoints created by the current SSO sub-user.
43
+ This requires an SSO sub-user login. Root accounts / AK-SK logins fail directly, and you should guide the user to log in again.
44
+ For detailed behavior, see [`references/arkcli-infer-endpoint-list.md`](references/arkcli-infer-endpoint-list.md).
45
+
46
+ ## Boundary between `infer endpoint create` and `+deploy`
47
+
48
+ `infer endpoint create` is **raw CRUD**. It is suitable for scripting / CI / scenarios that need predictable behavior without workflow guardrails. Note that its flag set is actually a **subset** of `+deploy` (`+deploy` has the superset of parameters). The difference is whether workflow guardrails are present, not which command has more parameters. Its guardrails differ from those of `+deploy` as follows:
49
+
50
+ | Guardrail | `+deploy` | `infer endpoint create` |
51
+ |------|-----------|------------------------|
52
+ | Real-name prerequisite check ([realname-gate.md](../arkcli-auth/references/realname-gate.md)) | ✅ | ✅ (the foundation model path also triggers `EnsureModelAvailable`, including real-name blocking) |
53
+ | Custom model reuse check (avoids duplicate billing) | ✅ | ❌ |
54
+ | Default profile resource sync after deployment (`--set-default`) | ✅ | ❌ |
55
+
56
+ **Routing decision**: As long as the user's intent is to "create / add / set up an endpoint / access point" or "deploy / launch a model" (regardless of whether the wording is create or deploy), always route to `+deploy` ([arkcli-deploy](../arkcli-deploy/SKILL.md)). Use `infer endpoint create` **only** when the user explicitly needs to bypass workflow guardrails, run scripting / CI, or needs predictable raw CRUD behavior without guardrails.
57
+
58
+ **Exception**: If the target is a voice model (TTS / ASR / podcast / dubbing / voice / real-time voice interaction), do not enter this skill just because the user said "create endpoint". arkcli currently only supports discovering voice models through `models search`; it does not support Endpoint creation for voice models.
59
+
60
+ ## Command overview
61
+
62
+ | Command | Description |
63
+ |------|------|
64
+ | `arkcli infer endpoint capability get` | Query supported deployment forms for a foundation model or custom model. |
65
+ | `arkcli infer endpoint create` | Create an inference endpoint (raw CRUD, no deployment workflow guardrails). For the default intent of creating a new endpoint, use `+deploy`; this command is only for scripting / raw CRUD scenarios without guardrails. |
66
+ | `arkcli infer endpoint get <endpoint-id>` | Get inference endpoint details. |
67
+ | `arkcli infer endpoint list [--mine]` | List inference endpoints. When the user says **"mine / my own / created by me / how many I have"**, you MUST add `--mine` (SSO sub-user filtering). |
68
+ | `arkcli infer endpoint start <endpoint-id>` | Start an inference endpoint. |
69
+ | `arkcli infer endpoint stop <endpoint-id>` | Stop an inference endpoint. |
70
+ | `arkcli infer endpoint delete <endpoint-id>` | Delete an inference endpoint (**irreversible**; requires secondary confirmation. In non-interactive environments, `ARKCLI_ALLOW_HEADLESS_DELETE=1` is required; `--yes` does not authorize deletion). |
71
+ | `arkcli infer endpoint update <endpoint-id>` | Update an inference endpoint (name / description / rate limits). |
72
+
73
+ ## References
74
+
75
+ - [`references/arkcli-infer-endpoint-capability-get.md`](references/arkcli-infer-endpoint-capability-get.md)
76
+ - [`references/arkcli-infer-endpoint-create.md`](references/arkcli-infer-endpoint-create.md)
77
+ - [`references/arkcli-infer-endpoint-get.md`](references/arkcli-infer-endpoint-get.md)
78
+ - [`references/arkcli-infer-endpoint-list.md`](references/arkcli-infer-endpoint-list.md)
79
+ - [`references/arkcli-infer-endpoint-start.md`](references/arkcli-infer-endpoint-start.md)
80
+ - [`references/arkcli-infer-endpoint-stop.md`](references/arkcli-infer-endpoint-stop.md)
81
+ - [`references/arkcli-infer-endpoint-delete.md`](references/arkcli-infer-endpoint-delete.md)
82
+ - [`references/arkcli-infer-endpoint-update.md`](references/arkcli-infer-endpoint-update.md)
@@ -0,0 +1,50 @@
1
+ # infer endpoint capability get
2
+
3
+ Query the deployment methods that the BytePlus control plane reports for a foundation model version or a custom model.
4
+
5
+ ## Routing
6
+
7
+ Use this command when the user asks whether a model supports any of these deployment forms:
8
+
9
+ - shared service or online endpoint
10
+ - batch inference
11
+ - provisioned throughput unit (PTU)
12
+ - scale tier
13
+ - endpoint fallback
14
+
15
+ These are deployment capabilities, not marketplace metadata. Do not substitute `arkcli models get` or `arkcli models search`.
16
+
17
+ ## Commands
18
+
19
+ ```bash
20
+ # Foundation model
21
+ arkcli infer endpoint capability get --model <model> --version <version> --format json
22
+
23
+ # Fine-tuned or imported custom model
24
+ arkcli infer endpoint capability get --custom-model-id <cm-id> --format json
25
+ ```
26
+
27
+ `--model` and `--custom-model-id` are mutually exclusive. Supply the exact model version when the user names or needs a version-specific foundation-model result.
28
+
29
+ ## Output contract
30
+
31
+ The JSON response contains:
32
+
33
+ - `model_reference`: the foundation-model/version pair or custom model ID sent to the control plane.
34
+ - `supported_methods`: the names whose capability flags are true; use this as the concise Agent answer.
35
+ - `capabilities`: the complete boolean map, including false values.
36
+
37
+ Typical capability keys include `share_service`, `batch_inference`, `provisioned_throughput_unit`, `scale_tier`, and `endpoint_fallback`.
38
+
39
+ ## Interpretation
40
+
41
+ - Report only the methods returned as supported; do not infer support from model naming, modality, or another product's catalog.
42
+ - An empty `supported_methods` result means no method was reported as supported for that exact reference. It is not permission to retry through `models get`.
43
+ - Authentication, permission, timeout, or transport errors must be returned as errors. Do not replace them with guessed capabilities.
44
+ - A capability query is read-only. It does not create, update, start, or bill an Endpoint.
45
+
46
+ ## Follow-up
47
+
48
+ - If the user only asked what is supported, stop after reporting the result.
49
+ - If the user then asks to deploy, route to [`arkcli-deploy`](../../arkcli-deploy/SKILL.md) for the guarded workflow.
50
+ - Use raw `infer endpoint create` only when the user explicitly requests predictable CRUD behavior without the `+deploy` workflow guardrails.