@kosuke-ai/kosuke 1.0.32 → 1.0.34

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.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.34
4
+
5
+ - `kosuke workspaces sandbox-limit get` also returns `sandboxLimit` and `occupants`: every sandbox that holds a slot, with its kind (task, Preview, Deploy, a pool Kosuke is warming), its project and whether it can be stopped. In a Personal space, `--session-id` (a Todo task about to start) or `--project-id` (a new one) leaves out that project's pool sandboxes still warming when the task will run on one of them.
6
+ - `kosuke sensei sessions assess` takes `--stage`, `--remaining-minutes` and `--estimate-basis`, for where a not-done task's work is and the working time it has left.
7
+ - Add `kosuke providers help-request create` to ask workspace owners and admins to restore provider Credentials.
8
+ - `kosuke sensei cards list --ids` reads the named cards in any state, with the usual counts.
9
+
10
+ ## 1.0.33
11
+
12
+ - `user profile get` no longer returns `replyStyle` or `plainLanguage`: the Agent replies preference is gone, and Sensei now fits its explanations to the member by itself.
13
+ - `kosuke projects merge-agent get` takes `--live false` to read Kosuke's own data only, without waiting for GitHub: each waiting pull request's head and review decision and the merge queue are then null.
14
+ - `kosuke sensei cards set` says a reply's text is written without the Sign as Sensei marker, which Kosuke adds at send when the member has it on.
15
+
3
16
  ## 1.0.32
4
17
 
5
18
  - `kosuke sensei cards set --sign-in` names the site, Chrome profile ID, Mac and wall URL of a sign-in card on the member's Mac, so its Approve allows exactly one tapped `kosuke mac browser login`. A card keyed `mac-sign-in:` without it is refused.
@@ -160,174 +160,175 @@ import { operation as o158 } from './providers/grok-get.js';
160
160
  import { operation as o159 } from './providers/grok-get--personal.js';
161
161
  import { operation as o160 } from './providers/grok-update.js';
162
162
  import { operation as o161 } from './providers/grok-update--personal.js';
163
- import { operation as o162 } from './providers/keys-set--personal.js';
164
- import { operation as o163 } from './providers/logins-cancel--personal-provider-antigravity.js';
165
- import { operation as o164 } from './providers/logins-cancel--provider-antigravity.js';
166
- import { operation as o165 } from './providers/logins-complete--personal-provider-antigravity.js';
167
- import { operation as o166 } from './providers/logins-complete--personal-provider-claude-code.js';
168
- import { operation as o167 } from './providers/logins-complete--personal-provider-codex.js';
169
- import { operation as o168 } from './providers/logins-complete--personal-provider-muse-code.js';
170
- import { operation as o169 } from './providers/logins-complete--provider-antigravity.js';
171
- import { operation as o170 } from './providers/logins-complete--provider-claude-code.js';
172
- import { operation as o171 } from './providers/logins-complete--provider-codex.js';
173
- import { operation as o172 } from './providers/logins-complete--provider-muse-code.js';
174
- import { operation as o173 } from './providers/logins-delete--personal.js';
175
- import { operation as o174 } from './providers/logins-recheck.js';
176
- import { operation as o175 } from './providers/logins-recheck--personal.js';
177
- import { operation as o176 } from './providers/logins-start--personal-provider-antigravity.js';
178
- import { operation as o177 } from './providers/logins-start--personal-provider-claude-code.js';
179
- import { operation as o178 } from './providers/logins-start--personal-provider-codex.js';
180
- import { operation as o179 } from './providers/logins-start--personal-provider-muse-code.js';
181
- import { operation as o180 } from './providers/logins-start--provider-antigravity.js';
182
- import { operation as o181 } from './providers/logins-start--provider-claude-code.js';
183
- import { operation as o182 } from './providers/logins-start--provider-codex.js';
184
- import { operation as o183 } from './providers/logins-start--provider-muse-code.js';
185
- import { operation as o184 } from './providers/set.js';
186
- import { operation as o185 } from './providers/token-usage-get.js';
187
- import { operation as o186 } from './providers/token-usage-get--personal.js';
188
- import { operation as o187 } from './providers/usage-get--personal.js';
189
- import { operation as o188 } from './providers/usage-get--provider-antigravity.js';
190
- import { operation as o189 } from './providers/usage-get--provider-claude-code.js';
191
- import { operation as o190 } from './providers/usage-get--provider-codex.js';
192
- import { operation as o191 } from './providers/usage-get--provider-coding-plan.js';
193
- import { operation as o192 } from './providers/usage-get--provider-deepseek-api.js';
194
- import { operation as o193 } from './providers/usage-get--provider-grok.js';
195
- import { operation as o194 } from './providers/usage-get--provider-kimi-code.js';
196
- import { operation as o195 } from './providers/usage-get--provider-muse-code.js';
197
- import { operation as o196 } from './sensei/calls-transcript-get.js';
198
- import { operation as o197 } from './sensei/cards-close.js';
199
- import { operation as o198 } from './sensei/cards-list.js';
200
- import { operation as o199 } from './sensei/cards-mark-read.js';
201
- import { operation as o200 } from './sensei/cards-reply.js';
202
- import { operation as o201 } from './sensei/cards-set.js';
203
- import { operation as o202 } from './sensei/chat-get.js';
204
- import { operation as o203 } from './sensei/connect-buttons-create.js';
205
- import { operation as o204 } from './sensei/delegates-get.js';
206
- import { operation as o205 } from './sensei/delegates-list.js';
207
- import { operation as o206 } from './sensei/delegates-notes-create.js';
208
- import { operation as o207 } from './sensei/delegates-start.js';
209
- import { operation as o208 } from './sensei/delegates-stop.js';
210
- import { operation as o209 } from './sensei/describe-cards-create.js';
211
- import { operation as o210 } from './sensei/device-requests-list.js';
212
- import { operation as o211 } from './sensei/device-requests-update.js';
213
- import { operation as o212 } from './sensei/fyi-move.js';
214
- import { operation as o213 } from './sensei/memory-get.js';
215
- import { operation as o214 } from './sensei/memory-set.js';
216
- import { operation as o215 } from './sensei/merge-rule-set.js';
217
- import { operation as o216 } from './sensei/messages-move.js';
218
- import { operation as o217 } from './sensei/messages-reply.js';
219
- import { operation as o218 } from './sensei/messages-send.js';
220
- import { operation as o219 } from './sensei/notifications-mark-read.js';
221
- import { operation as o220 } from './sensei/reels-activity-list.js';
222
- import { operation as o221 } from './sensei/repository-cards-create.js';
223
- import { operation as o222 } from './sensei/sessions-assessments-create.js';
224
- import { operation as o223 } from './sensei/sessions-facts-get.js';
225
- import { operation as o224 } from './sensei/suggestions-create.js';
226
- import { operation as o225 } from './sensei/threads-close.js';
227
- import { operation as o226 } from './sensei/threads-get.js';
228
- import { operation as o227 } from './sensei/threads-list.js';
229
- import { operation as o228 } from './sensei/threads-move.js';
230
- import { operation as o229 } from './sensei/threads-split.js';
231
- import { operation as o230 } from './sensei/tickets-merge.js';
232
- import { operation as o231 } from './sensei/watch-reads-finish.js';
233
- import { operation as o232 } from './sensei/widgets-get.js';
234
- import { operation as o233 } from './sessions/app-stack-start.js';
235
- import { operation as o234 } from './sessions/artifacts-create.js';
236
- import { operation as o235 } from './sessions/artifacts-get.js';
237
- import { operation as o236 } from './sessions/artifacts-list.js';
238
- import { operation as o237 } from './sessions/create.js';
239
- import { operation as o238 } from './sessions/delete.js';
240
- import { operation as o239 } from './sessions/desktop-control-set.js';
241
- import { operation as o240 } from './sessions/desktop-get.js';
242
- import { operation as o241 } from './sessions/desktop-start.js';
243
- import { operation as o242 } from './sessions/diff-comments-create.js';
244
- import { operation as o243 } from './sessions/diff-comments-delete.js';
245
- import { operation as o244 } from './sessions/diff-comments-list.js';
246
- import { operation as o245 } from './sessions/diff-comments-update.js';
247
- import { operation as o246 } from './sessions/diff-commits-list.js';
248
- import { operation as o247 } from './sessions/diff-files-list.js';
249
- import { operation as o248 } from './sessions/diff-patch-get.js';
250
- import { operation as o249 } from './sessions/files-get.js';
251
- import { operation as o250 } from './sessions/files-list.js';
252
- import { operation as o251 } from './sessions/files-set.js';
253
- import { operation as o252 } from './sessions/get.js';
254
- import { operation as o253 } from './sessions/git-state-get.js';
255
- import { operation as o254 } from './sessions/go-ahead-delete.js';
256
- import { operation as o255 } from './sessions/go-ahead-set.js';
257
- import { operation as o256 } from './sessions/jobs-cancel.js';
258
- import { operation as o257 } from './sessions/jobs-get.js';
259
- import { operation as o258 } from './sessions/jobs-list.js';
260
- import { operation as o259 } from './sessions/labels-set.js';
261
- import { operation as o260 } from './sessions/labels-update.js';
262
- import { operation as o261 } from './sessions/list.js';
263
- import { operation as o262 } from './sessions/list--all.js';
264
- import { operation as o263 } from './sessions/mark-read.js';
265
- import { operation as o264 } from './sessions/messages-get.js';
266
- import { operation as o265 } from './sessions/messages-list.js';
267
- import { operation as o266 } from './sessions/prompt-update.js';
268
- import { operation as o267 } from './sessions/qa-runs-finish.js';
269
- import { operation as o268 } from './sessions/qa-runs-fixes-create.js';
270
- import { operation as o269 } from './sessions/qa-runs-get.js';
271
- import { operation as o270 } from './sessions/qa-runs-results-create.js';
272
- import { operation as o271 } from './sessions/qa-runs-start.js';
273
- import { operation as o272 } from './sessions/qa-runs-stop.js';
274
- import { operation as o273 } from './sessions/qa-set.js';
275
- import { operation as o274 } from './sessions/queue-delete.js';
276
- import { operation as o275 } from './sessions/queue-list.js';
277
- import { operation as o276 } from './sessions/queue-move.js';
278
- import { operation as o277 } from './sessions/queue-resume.js';
279
- import { operation as o278 } from './sessions/queue-send.js';
280
- import { operation as o279 } from './sessions/queue-steer.js';
281
- import { operation as o280 } from './sessions/queue-update.js';
282
- import { operation as o281 } from './sessions/review-set.js';
283
- import { operation as o282 } from './sessions/runtime-commands-run.js';
284
- import { operation as o283 } from './sessions/search.js';
285
- import { operation as o284 } from './sessions/send.js';
286
- import { operation as o285 } from './sessions/start.js';
287
- import { operation as o286 } from './sessions/steer.js';
288
- import { operation as o287 } from './sessions/update.js';
289
- import { operation as o288 } from './skills/create.js';
290
- import { operation as o289 } from './skills/create--personal.js';
291
- import { operation as o290 } from './skills/delete.js';
292
- import { operation as o291 } from './skills/delete--personal.js';
293
- import { operation as o292 } from './skills/get.js';
294
- import { operation as o293 } from './skills/get--personal.js';
295
- import { operation as o294 } from './skills/list.js';
296
- import { operation as o295 } from './skills/list--personal.js';
297
- import { operation as o296 } from './skills/update.js';
298
- import { operation as o297 } from './skills/update--personal.js';
299
- import { operation as o298 } from './tasks/create.js';
300
- import { operation as o299 } from './tasks/create--personal.js';
301
- import { operation as o300 } from './tasks/delete.js';
302
- import { operation as o301 } from './tasks/delete--personal.js';
303
- import { operation as o302 } from './tasks/get.js';
304
- import { operation as o303 } from './tasks/get--personal.js';
305
- import { operation as o304 } from './tasks/labels-list.js';
306
- import { operation as o305 } from './tasks/list.js';
307
- import { operation as o306 } from './tasks/list--all.js';
308
- import { operation as o307 } from './tasks/list--personal.js';
309
- import { operation as o308 } from './tasks/move.js';
310
- import { operation as o309 } from './tasks/move--personal.js';
311
- import { operation as o310 } from './tasks/start.js';
312
- import { operation as o311 } from './tasks/start--personal.js';
313
- import { operation as o312 } from './tasks/update.js';
314
- import { operation as o313 } from './tasks/update--personal.js';
315
- import { operation as o314 } from './user/api-keys-delete.js';
316
- import { operation as o315 } from './user/profile-get.js';
317
- import { operation as o316 } from './user/push-devices-create.js';
318
- import { operation as o317 } from './user/push-devices-delete.js';
319
- import { operation as o318 } from './user/usage-get.js';
320
- import { operation as o319 } from './workspaces/artifacts-search.js';
321
- import { operation as o320 } from './workspaces/credits-get.js';
322
- import { operation as o321 } from './workspaces/get.js';
323
- import { operation as o322 } from './workspaces/list.js';
324
- import { operation as o323 } from './workspaces/members-list.js';
325
- import { operation as o324 } from './workspaces/members-list--all.js';
326
- import { operation as o325 } from './workspaces/sandbox-limit-get.js';
327
- import { operation as o326 } from './workspaces/sandboxes-stop.js';
328
- import { operation as o327 } from './workspaces/timezone-set.js';
329
- import { operation as o328 } from './workspaces/usage-breakdown-get.js';
330
- import { operation as o329 } from './workspaces/usage-get.js';
163
+ import { operation as o162 } from './providers/help-request-create.js';
164
+ import { operation as o163 } from './providers/keys-set--personal.js';
165
+ import { operation as o164 } from './providers/logins-cancel--personal-provider-antigravity.js';
166
+ import { operation as o165 } from './providers/logins-cancel--provider-antigravity.js';
167
+ import { operation as o166 } from './providers/logins-complete--personal-provider-antigravity.js';
168
+ import { operation as o167 } from './providers/logins-complete--personal-provider-claude-code.js';
169
+ import { operation as o168 } from './providers/logins-complete--personal-provider-codex.js';
170
+ import { operation as o169 } from './providers/logins-complete--personal-provider-muse-code.js';
171
+ import { operation as o170 } from './providers/logins-complete--provider-antigravity.js';
172
+ import { operation as o171 } from './providers/logins-complete--provider-claude-code.js';
173
+ import { operation as o172 } from './providers/logins-complete--provider-codex.js';
174
+ import { operation as o173 } from './providers/logins-complete--provider-muse-code.js';
175
+ import { operation as o174 } from './providers/logins-delete--personal.js';
176
+ import { operation as o175 } from './providers/logins-recheck.js';
177
+ import { operation as o176 } from './providers/logins-recheck--personal.js';
178
+ import { operation as o177 } from './providers/logins-start--personal-provider-antigravity.js';
179
+ import { operation as o178 } from './providers/logins-start--personal-provider-claude-code.js';
180
+ import { operation as o179 } from './providers/logins-start--personal-provider-codex.js';
181
+ import { operation as o180 } from './providers/logins-start--personal-provider-muse-code.js';
182
+ import { operation as o181 } from './providers/logins-start--provider-antigravity.js';
183
+ import { operation as o182 } from './providers/logins-start--provider-claude-code.js';
184
+ import { operation as o183 } from './providers/logins-start--provider-codex.js';
185
+ import { operation as o184 } from './providers/logins-start--provider-muse-code.js';
186
+ import { operation as o185 } from './providers/set.js';
187
+ import { operation as o186 } from './providers/token-usage-get.js';
188
+ import { operation as o187 } from './providers/token-usage-get--personal.js';
189
+ import { operation as o188 } from './providers/usage-get--personal.js';
190
+ import { operation as o189 } from './providers/usage-get--provider-antigravity.js';
191
+ import { operation as o190 } from './providers/usage-get--provider-claude-code.js';
192
+ import { operation as o191 } from './providers/usage-get--provider-codex.js';
193
+ import { operation as o192 } from './providers/usage-get--provider-coding-plan.js';
194
+ import { operation as o193 } from './providers/usage-get--provider-deepseek-api.js';
195
+ import { operation as o194 } from './providers/usage-get--provider-grok.js';
196
+ import { operation as o195 } from './providers/usage-get--provider-kimi-code.js';
197
+ import { operation as o196 } from './providers/usage-get--provider-muse-code.js';
198
+ import { operation as o197 } from './sensei/calls-transcript-get.js';
199
+ import { operation as o198 } from './sensei/cards-close.js';
200
+ import { operation as o199 } from './sensei/cards-list.js';
201
+ import { operation as o200 } from './sensei/cards-mark-read.js';
202
+ import { operation as o201 } from './sensei/cards-reply.js';
203
+ import { operation as o202 } from './sensei/cards-set.js';
204
+ import { operation as o203 } from './sensei/chat-get.js';
205
+ import { operation as o204 } from './sensei/connect-buttons-create.js';
206
+ import { operation as o205 } from './sensei/delegates-get.js';
207
+ import { operation as o206 } from './sensei/delegates-list.js';
208
+ import { operation as o207 } from './sensei/delegates-notes-create.js';
209
+ import { operation as o208 } from './sensei/delegates-start.js';
210
+ import { operation as o209 } from './sensei/delegates-stop.js';
211
+ import { operation as o210 } from './sensei/describe-cards-create.js';
212
+ import { operation as o211 } from './sensei/device-requests-list.js';
213
+ import { operation as o212 } from './sensei/device-requests-update.js';
214
+ import { operation as o213 } from './sensei/fyi-move.js';
215
+ import { operation as o214 } from './sensei/memory-get.js';
216
+ import { operation as o215 } from './sensei/memory-set.js';
217
+ import { operation as o216 } from './sensei/merge-rule-set.js';
218
+ import { operation as o217 } from './sensei/messages-move.js';
219
+ import { operation as o218 } from './sensei/messages-reply.js';
220
+ import { operation as o219 } from './sensei/messages-send.js';
221
+ import { operation as o220 } from './sensei/notifications-mark-read.js';
222
+ import { operation as o221 } from './sensei/reels-activity-list.js';
223
+ import { operation as o222 } from './sensei/repository-cards-create.js';
224
+ import { operation as o223 } from './sensei/sessions-assessments-create.js';
225
+ import { operation as o224 } from './sensei/sessions-facts-get.js';
226
+ import { operation as o225 } from './sensei/suggestions-create.js';
227
+ import { operation as o226 } from './sensei/threads-close.js';
228
+ import { operation as o227 } from './sensei/threads-get.js';
229
+ import { operation as o228 } from './sensei/threads-list.js';
230
+ import { operation as o229 } from './sensei/threads-move.js';
231
+ import { operation as o230 } from './sensei/threads-split.js';
232
+ import { operation as o231 } from './sensei/tickets-merge.js';
233
+ import { operation as o232 } from './sensei/watch-reads-finish.js';
234
+ import { operation as o233 } from './sensei/widgets-get.js';
235
+ import { operation as o234 } from './sessions/app-stack-start.js';
236
+ import { operation as o235 } from './sessions/artifacts-create.js';
237
+ import { operation as o236 } from './sessions/artifacts-get.js';
238
+ import { operation as o237 } from './sessions/artifacts-list.js';
239
+ import { operation as o238 } from './sessions/create.js';
240
+ import { operation as o239 } from './sessions/delete.js';
241
+ import { operation as o240 } from './sessions/desktop-control-set.js';
242
+ import { operation as o241 } from './sessions/desktop-get.js';
243
+ import { operation as o242 } from './sessions/desktop-start.js';
244
+ import { operation as o243 } from './sessions/diff-comments-create.js';
245
+ import { operation as o244 } from './sessions/diff-comments-delete.js';
246
+ import { operation as o245 } from './sessions/diff-comments-list.js';
247
+ import { operation as o246 } from './sessions/diff-comments-update.js';
248
+ import { operation as o247 } from './sessions/diff-commits-list.js';
249
+ import { operation as o248 } from './sessions/diff-files-list.js';
250
+ import { operation as o249 } from './sessions/diff-patch-get.js';
251
+ import { operation as o250 } from './sessions/files-get.js';
252
+ import { operation as o251 } from './sessions/files-list.js';
253
+ import { operation as o252 } from './sessions/files-set.js';
254
+ import { operation as o253 } from './sessions/get.js';
255
+ import { operation as o254 } from './sessions/git-state-get.js';
256
+ import { operation as o255 } from './sessions/go-ahead-delete.js';
257
+ import { operation as o256 } from './sessions/go-ahead-set.js';
258
+ import { operation as o257 } from './sessions/jobs-cancel.js';
259
+ import { operation as o258 } from './sessions/jobs-get.js';
260
+ import { operation as o259 } from './sessions/jobs-list.js';
261
+ import { operation as o260 } from './sessions/labels-set.js';
262
+ import { operation as o261 } from './sessions/labels-update.js';
263
+ import { operation as o262 } from './sessions/list.js';
264
+ import { operation as o263 } from './sessions/list--all.js';
265
+ import { operation as o264 } from './sessions/mark-read.js';
266
+ import { operation as o265 } from './sessions/messages-get.js';
267
+ import { operation as o266 } from './sessions/messages-list.js';
268
+ import { operation as o267 } from './sessions/prompt-update.js';
269
+ import { operation as o268 } from './sessions/qa-runs-finish.js';
270
+ import { operation as o269 } from './sessions/qa-runs-fixes-create.js';
271
+ import { operation as o270 } from './sessions/qa-runs-get.js';
272
+ import { operation as o271 } from './sessions/qa-runs-results-create.js';
273
+ import { operation as o272 } from './sessions/qa-runs-start.js';
274
+ import { operation as o273 } from './sessions/qa-runs-stop.js';
275
+ import { operation as o274 } from './sessions/qa-set.js';
276
+ import { operation as o275 } from './sessions/queue-delete.js';
277
+ import { operation as o276 } from './sessions/queue-list.js';
278
+ import { operation as o277 } from './sessions/queue-move.js';
279
+ import { operation as o278 } from './sessions/queue-resume.js';
280
+ import { operation as o279 } from './sessions/queue-send.js';
281
+ import { operation as o280 } from './sessions/queue-steer.js';
282
+ import { operation as o281 } from './sessions/queue-update.js';
283
+ import { operation as o282 } from './sessions/review-set.js';
284
+ import { operation as o283 } from './sessions/runtime-commands-run.js';
285
+ import { operation as o284 } from './sessions/search.js';
286
+ import { operation as o285 } from './sessions/send.js';
287
+ import { operation as o286 } from './sessions/start.js';
288
+ import { operation as o287 } from './sessions/steer.js';
289
+ import { operation as o288 } from './sessions/update.js';
290
+ import { operation as o289 } from './skills/create.js';
291
+ import { operation as o290 } from './skills/create--personal.js';
292
+ import { operation as o291 } from './skills/delete.js';
293
+ import { operation as o292 } from './skills/delete--personal.js';
294
+ import { operation as o293 } from './skills/get.js';
295
+ import { operation as o294 } from './skills/get--personal.js';
296
+ import { operation as o295 } from './skills/list.js';
297
+ import { operation as o296 } from './skills/list--personal.js';
298
+ import { operation as o297 } from './skills/update.js';
299
+ import { operation as o298 } from './skills/update--personal.js';
300
+ import { operation as o299 } from './tasks/create.js';
301
+ import { operation as o300 } from './tasks/create--personal.js';
302
+ import { operation as o301 } from './tasks/delete.js';
303
+ import { operation as o302 } from './tasks/delete--personal.js';
304
+ import { operation as o303 } from './tasks/get.js';
305
+ import { operation as o304 } from './tasks/get--personal.js';
306
+ import { operation as o305 } from './tasks/labels-list.js';
307
+ import { operation as o306 } from './tasks/list.js';
308
+ import { operation as o307 } from './tasks/list--all.js';
309
+ import { operation as o308 } from './tasks/list--personal.js';
310
+ import { operation as o309 } from './tasks/move.js';
311
+ import { operation as o310 } from './tasks/move--personal.js';
312
+ import { operation as o311 } from './tasks/start.js';
313
+ import { operation as o312 } from './tasks/start--personal.js';
314
+ import { operation as o313 } from './tasks/update.js';
315
+ import { operation as o314 } from './tasks/update--personal.js';
316
+ import { operation as o315 } from './user/api-keys-delete.js';
317
+ import { operation as o316 } from './user/profile-get.js';
318
+ import { operation as o317 } from './user/push-devices-create.js';
319
+ import { operation as o318 } from './user/push-devices-delete.js';
320
+ import { operation as o319 } from './user/usage-get.js';
321
+ import { operation as o320 } from './workspaces/artifacts-search.js';
322
+ import { operation as o321 } from './workspaces/credits-get.js';
323
+ import { operation as o322 } from './workspaces/get.js';
324
+ import { operation as o323 } from './workspaces/list.js';
325
+ import { operation as o324 } from './workspaces/members-list.js';
326
+ import { operation as o325 } from './workspaces/members-list--all.js';
327
+ import { operation as o326 } from './workspaces/sandbox-limit-get.js';
328
+ import { operation as o327 } from './workspaces/sandboxes-stop.js';
329
+ import { operation as o328 } from './workspaces/timezone-set.js';
330
+ import { operation as o329 } from './workspaces/usage-breakdown-get.js';
331
+ import { operation as o330 } from './workspaces/usage-get.js';
331
332
  export const operations = [
332
333
  o0,
333
334
  o1,
@@ -659,4 +660,5 @@ export const operations = [
659
660
  o327,
660
661
  o328,
661
662
  o329,
663
+ o330,
662
664
  ];
@@ -6,11 +6,22 @@ export const operation = {
6
6
  "merge-agent",
7
7
  "get"
8
8
  ],
9
- "summary": "Read the project's Merge agent: its mode (train or batch), the base and whether it has GitHub's merge queue, the go-ahead pull requests waiting with their QA and GitHub's review decision now, and the open run and earlier runs.",
9
+ "summary": "Read the project's Merge agent: its mode (train or batch), the base and whether it has GitHub's merge queue, the go-ahead pull requests waiting with their QA and GitHub's review decision now, and the open run and earlier runs. --live false reads Kosuke's own data only: no GitHub call, and GitHub's facts (each pull request's head and review decision, the merge queue) are null.",
10
10
  "pathParams": [
11
11
  "projectId"
12
12
  ],
13
- "query": [],
13
+ "query": [
14
+ {
15
+ "name": "live",
16
+ "flag": "live",
17
+ "kind": "string",
18
+ "required": false,
19
+ "choices": [
20
+ "true",
21
+ "false"
22
+ ]
23
+ }
24
+ ],
14
25
  "body": null,
15
26
  "multipart": null,
16
27
  "attachments": false,
@@ -0,0 +1,51 @@
1
+ export const operation = {
2
+ "method": "post",
3
+ "path": "/api/organizations/{workspaceId}/ai-provider/help-request",
4
+ "command": [
5
+ "providers",
6
+ "help-request",
7
+ "create"
8
+ ],
9
+ "summary": "Ask the workspace owners and admins to fix a provider. Repeated requests within one hour notify them once.",
10
+ "pathParams": [
11
+ "workspaceId"
12
+ ],
13
+ "query": [],
14
+ "body": {
15
+ "fields": [
16
+ {
17
+ "name": "provider",
18
+ "flag": "provider",
19
+ "kind": "string",
20
+ "required": true,
21
+ "choices": [
22
+ "anthropic",
23
+ "openai",
24
+ "zai",
25
+ "moonshot",
26
+ "deepseek",
27
+ "meta",
28
+ "xai",
29
+ "google"
30
+ ]
31
+ },
32
+ {
33
+ "name": "kind",
34
+ "flag": "kind",
35
+ "kind": "string",
36
+ "required": true,
37
+ "choices": [
38
+ "all",
39
+ "reauth",
40
+ "none",
41
+ "limit"
42
+ ]
43
+ }
44
+ ],
45
+ "required": true
46
+ },
47
+ "multipart": null,
48
+ "attachments": false,
49
+ "anonymous": false,
50
+ "agents": "all"
51
+ };
@@ -9,6 +9,13 @@ export const operation = {
9
9
  "summary": "List your open cards and workspace counts. With --thread, include every decided card for members, or those closed in the last 7 days for Sensei's token. --since narrows decided cards by their time in the thread.",
10
10
  "pathParams": [],
11
11
  "query": [
12
+ {
13
+ "name": "ids",
14
+ "flag": "ids",
15
+ "kind": "string",
16
+ "required": false,
17
+ "description": "Read 1 to 100 comma-separated card UUIDs in any state, with the usual open-card counts. Cannot be combined with thread or since."
18
+ },
12
19
  {
13
20
  "name": "workspace",
14
21
  "flag": "workspace",
@@ -7,7 +7,7 @@ export const operation = {
7
7
  "assessments",
8
8
  "create"
9
9
  ],
10
- "summary": "Record Sensei’s done or not-done decision from fresh session facts, with its reason. Only a running Sensei Turn in its authorized following thread may decide. Does not send work, archive or complete the session, or write to GitHub.",
10
+ "summary": "Record Sensei’s done or not-done decision from fresh session facts, with its reason. While not done it also records the stage the work is in and, when Sensei can tell, the working minutes left to Ready; done sets the stage to ready. Only a running Sensei Turn in its authorized following thread may decide. Does not send work, archive or complete the session, or write to GitHub.",
11
11
  "pathParams": [],
12
12
  "query": [],
13
13
  "body": {
@@ -59,6 +59,33 @@ export const operation = {
59
59
  "flag": "reason",
60
60
  "kind": "string",
61
61
  "required": true
62
+ },
63
+ {
64
+ "name": "stage",
65
+ "flag": "stage",
66
+ "kind": "string",
67
+ "required": false,
68
+ "description": "Where the work is while not done: build, review, qa or checks. Without it the stored stage stays; a done decision sets ready.",
69
+ "choices": [
70
+ "build",
71
+ "review",
72
+ "qa",
73
+ "checks"
74
+ ]
75
+ },
76
+ {
77
+ "name": "remainingMinutes",
78
+ "flag": "remaining-minutes",
79
+ "kind": "integer",
80
+ "required": false,
81
+ "description": "The working minutes left to Ready, when you can tell. Not with done."
82
+ },
83
+ {
84
+ "name": "estimateBasis",
85
+ "flag": "estimate-basis",
86
+ "kind": "string",
87
+ "required": false,
88
+ "description": "One short line of what the remaining minutes rest on. Only with remaining minutes."
62
89
  }
63
90
  ],
64
91
  "required": true
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "profile",
7
7
  "get"
8
8
  ],
9
- "summary": "Read your account: id, email, name, onboarding state, default model, Reply Style and FYI digest interval.",
9
+ "summary": "Read your account: id, email, name, onboarding state, default model and FYI digest interval.",
10
10
  "pathParams": [],
11
11
  "query": [],
12
12
  "body": null,
@@ -6,11 +6,26 @@ export const operation = {
6
6
  "sandbox-limit",
7
7
  "get"
8
8
  ],
9
- "summary": "Read how many sandboxes may run at once and which sessions are running now.",
9
+ "summary": "Read how many sandboxes may run at once, which sessions are running now, and every sandbox that holds a slot.",
10
10
  "pathParams": [
11
11
  "workspaceId"
12
12
  ],
13
- "query": [],
13
+ "query": [
14
+ {
15
+ "name": "projectId",
16
+ "flag": "project-id",
17
+ "kind": "string",
18
+ "required": false,
19
+ "description": "The project a new Todo task would start in. In a Personal space, that project's pool sandboxes still warming are left out: the task runs on one of them."
20
+ },
21
+ {
22
+ "name": "sessionId",
23
+ "flag": "session-id",
24
+ "kind": "string",
25
+ "required": false,
26
+ "description": "The Todo task about to start, instead of projectId. Its project's warming pool sandboxes are left out only when the task will run on one: it has no sandbox yet and runs at its project's size."
27
+ }
28
+ ],
14
29
  "body": null,
15
30
  "multipart": null,
16
31
  "attachments": false,
package/openapi.json CHANGED
@@ -4065,6 +4065,97 @@
4065
4065
  }
4066
4066
  }
4067
4067
  },
4068
+ "/api/organizations/{workspaceId}/ai-provider/help-request": {
4069
+ "post": {
4070
+ "operationId": "providersHelpRequestCreate",
4071
+ "summary": "Ask the workspace owners and admins to fix a provider. Repeated requests within one hour notify them once.",
4072
+ "tags": ["providers"],
4073
+ "x-kosuke-command": ["providers", "help-request", "create"],
4074
+ "x-kosuke-sandbox-token": true,
4075
+ "x-kosuke-cron-token": true,
4076
+ "x-kosuke-sensei-token": true,
4077
+ "parameters": [
4078
+ {
4079
+ "name": "workspaceId",
4080
+ "in": "path",
4081
+ "required": true,
4082
+ "schema": {
4083
+ "type": "string",
4084
+ "minLength": 1
4085
+ }
4086
+ }
4087
+ ],
4088
+ "requestBody": {
4089
+ "required": true,
4090
+ "content": {
4091
+ "application/json": {
4092
+ "schema": {
4093
+ "type": "object",
4094
+ "properties": {
4095
+ "provider": {
4096
+ "anyOf": [
4097
+ {
4098
+ "type": "string",
4099
+ "enum": [
4100
+ "anthropic",
4101
+ "openai",
4102
+ "zai",
4103
+ "moonshot",
4104
+ "deepseek",
4105
+ "meta",
4106
+ "xai",
4107
+ "google"
4108
+ ]
4109
+ },
4110
+ {
4111
+ "type": "null"
4112
+ }
4113
+ ]
4114
+ },
4115
+ "kind": {
4116
+ "type": "string",
4117
+ "enum": ["all", "reauth", "none", "limit"]
4118
+ }
4119
+ },
4120
+ "required": ["provider", "kind"]
4121
+ }
4122
+ }
4123
+ }
4124
+ },
4125
+ "responses": {
4126
+ "2XX": {
4127
+ "description": "Success envelope",
4128
+ "content": {
4129
+ "application/json": {
4130
+ "schema": {
4131
+ "$ref": "#/components/schemas/ApiSuccess"
4132
+ }
4133
+ }
4134
+ }
4135
+ },
4136
+ "4XX": {
4137
+ "description": "Error envelope",
4138
+ "content": {
4139
+ "application/json": {
4140
+ "schema": {
4141
+ "$ref": "#/components/schemas/ApiError"
4142
+ }
4143
+ }
4144
+ }
4145
+ },
4146
+ "5XX": {
4147
+ "description": "Error envelope",
4148
+ "content": {
4149
+ "application/json": {
4150
+ "schema": {
4151
+ "$ref": "#/components/schemas/ApiError"
4152
+ }
4153
+ }
4154
+ }
4155
+ }
4156
+ }
4157
+ }
4158
+ },
4068
4159
  "/api/organizations/{workspaceId}/ai-provider/kimi-code-usage": {
4069
4160
  "get": {
4070
4161
  "operationId": "providersUsageGetProviderKimiCode",
@@ -7530,7 +7621,7 @@
7530
7621
  "/api/organizations/{workspaceId}/sandbox-limit": {
7531
7622
  "get": {
7532
7623
  "operationId": "workspacesSandboxLimitGet",
7533
- "summary": "Read how many sandboxes may run at once and which sessions are running now.",
7624
+ "summary": "Read how many sandboxes may run at once, which sessions are running now, and every sandbox that holds a slot.",
7534
7625
  "tags": ["workspaces"],
7535
7626
  "x-kosuke-command": ["workspaces", "sandbox-limit", "get"],
7536
7627
  "x-kosuke-sandbox-token": true,
@@ -7545,6 +7636,30 @@
7545
7636
  "type": "string",
7546
7637
  "minLength": 1
7547
7638
  }
7639
+ },
7640
+ {
7641
+ "name": "projectId",
7642
+ "in": "query",
7643
+ "required": false,
7644
+ "description": "The project a new Todo task would start in. In a Personal space, that project's pool sandboxes still warming are left out: the task runs on one of them.",
7645
+ "schema": {
7646
+ "description": "The project a new Todo task would start in. In a Personal space, that project's pool sandboxes still warming are left out: the task runs on one of them.",
7647
+ "type": "string",
7648
+ "minLength": 1,
7649
+ "maxLength": 128
7650
+ }
7651
+ },
7652
+ {
7653
+ "name": "sessionId",
7654
+ "in": "query",
7655
+ "required": false,
7656
+ "description": "The Todo task about to start, instead of projectId. Its project's warming pool sandboxes are left out only when the task will run on one: it has no sandbox yet and runs at its project's size.",
7657
+ "schema": {
7658
+ "description": "The Todo task about to start, instead of projectId. Its project's warming pool sandboxes are left out only when the task will run on one: it has no sandbox yet and runs at its project's size.",
7659
+ "type": "string",
7660
+ "minLength": 1,
7661
+ "maxLength": 128
7662
+ }
7548
7663
  }
7549
7664
  ],
7550
7665
  "responses": {
@@ -17046,7 +17161,7 @@
17046
17161
  "/api/projects/{projectId}/merge-agent": {
17047
17162
  "get": {
17048
17163
  "operationId": "projectsMergeAgentGet",
17049
- "summary": "Read the project's Merge agent: its mode (train or batch), the base and whether it has GitHub's merge queue, the go-ahead pull requests waiting with their QA and GitHub's review decision now, and the open run and earlier runs.",
17164
+ "summary": "Read the project's Merge agent: its mode (train or batch), the base and whether it has GitHub's merge queue, the go-ahead pull requests waiting with their QA and GitHub's review decision now, and the open run and earlier runs. --live false reads Kosuke's own data only: no GitHub call, and GitHub's facts (each pull request's head and review decision, the merge queue) are null.",
17050
17165
  "tags": ["projects"],
17051
17166
  "x-kosuke-command": ["projects", "merge-agent", "get"],
17052
17167
  "x-kosuke-sandbox-token": true,
@@ -17062,6 +17177,15 @@
17062
17177
  "format": "uuid",
17063
17178
  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
17064
17179
  }
17180
+ },
17181
+ {
17182
+ "name": "live",
17183
+ "in": "query",
17184
+ "required": false,
17185
+ "schema": {
17186
+ "type": "string",
17187
+ "enum": ["true", "false"]
17188
+ }
17065
17189
  }
17066
17190
  ],
17067
17191
  "responses": {
@@ -20247,6 +20371,16 @@
20247
20371
  "x-kosuke-cron-token": true,
20248
20372
  "x-kosuke-sensei-token": true,
20249
20373
  "parameters": [
20374
+ {
20375
+ "name": "ids",
20376
+ "in": "query",
20377
+ "required": false,
20378
+ "description": "Read 1 to 100 comma-separated card UUIDs in any state, with the usual open-card counts. Cannot be combined with thread or since.",
20379
+ "schema": {
20380
+ "description": "Read 1 to 100 comma-separated card UUIDs in any state, with the usual open-card counts. Cannot be combined with thread or since.",
20381
+ "type": "string"
20382
+ }
20383
+ },
20250
20384
  {
20251
20385
  "name": "workspace",
20252
20386
  "in": "query",
@@ -21868,7 +22002,8 @@
21868
22002
  "text": {
21869
22003
  "type": "string",
21870
22004
  "minLength": 1,
21871
- "maxLength": 4000
22005
+ "maxLength": 4000,
22006
+ "description": "The reply as written, without the Sign as Sensei marker: Kosuke adds it at send when the member has it on."
21872
22007
  }
21873
22008
  },
21874
22009
  "required": ["type", "connection", "conversation", "messageId", "text"],
@@ -23313,7 +23448,7 @@
23313
23448
  "/api/sensei/sessions/assess": {
23314
23449
  "post": {
23315
23450
  "operationId": "senseiSessionsAssessmentsCreate",
23316
- "summary": "Record Sensei’s done or not-done decision from fresh session facts, with its reason. Only a running Sensei Turn in its authorized following thread may decide. Does not send work, archive or complete the session, or write to GitHub.",
23451
+ "summary": "Record Sensei’s done or not-done decision from fresh session facts, with its reason. While not done it also records the stage the work is in and, when Sensei can tell, the working minutes left to Ready; done sets the stage to ready. Only a running Sensei Turn in its authorized following thread may decide. Does not send work, archive or complete the session, or write to GitHub.",
23317
23452
  "tags": ["sensei"],
23318
23453
  "x-kosuke-command": ["sensei", "sessions", "assessments", "create"],
23319
23454
  "x-kosuke-sandbox-token": true,
@@ -23377,6 +23512,23 @@
23377
23512
  "type": "string",
23378
23513
  "minLength": 1,
23379
23514
  "maxLength": 8000
23515
+ },
23516
+ "stage": {
23517
+ "description": "Where the work is while not done: build, review, qa or checks. Without it the stored stage stays; a done decision sets ready.",
23518
+ "type": "string",
23519
+ "enum": ["build", "review", "qa", "checks"]
23520
+ },
23521
+ "remainingMinutes": {
23522
+ "description": "The working minutes left to Ready, when you can tell. Not with done.",
23523
+ "type": "integer",
23524
+ "minimum": 1,
23525
+ "maximum": 10080
23526
+ },
23527
+ "estimateBasis": {
23528
+ "description": "One short line of what the remaining minutes rest on. Only with remaining minutes.",
23529
+ "type": "string",
23530
+ "minLength": 1,
23531
+ "maxLength": 160
23380
23532
  }
23381
23533
  },
23382
23534
  "required": [
@@ -26692,7 +26844,7 @@
26692
26844
  "/api/user/profile": {
26693
26845
  "get": {
26694
26846
  "operationId": "userProfileGet",
26695
- "summary": "Read your account: id, email, name, onboarding state, default model, Reply Style and FYI digest interval.",
26847
+ "summary": "Read your account: id, email, name, onboarding state, default model and FYI digest interval.",
26696
26848
  "tags": ["user"],
26697
26849
  "x-kosuke-command": ["user", "profile", "get"],
26698
26850
  "x-kosuke-sandbox-token": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kosuke-ai/kosuke",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "description": "Kosuke platform CLI. The client customers install to drive app.kosuke.ai from their own machine.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,12 +40,13 @@
40
40
  "vitest": "^4.1.12"
41
41
  },
42
42
  "kosukeRelease": {
43
- "sourceCommit": "aa8175d2ca41ef9a22b6aeae6b97daf4d8501a1b",
44
- "sourceIdentity": "37922cc0775af3b10d63236b4faa175b09da2e67301e46b3cb832be8b919e776",
43
+ "sourceCommit": "86278ec09a864dcde0bb3e16ed23afadae40c911",
44
+ "sourceIdentity": "a0c9733331bfa8195d4ef9f64e65b845ca52ab4b327aaf5faf71ae2d19979401",
45
45
  "fragments": [
46
- "mac-sign-in-card-fdhupk.json",
47
- "fyi-digest-row-conversation-r7k2pd.json",
48
- "cron-runs-as-root-m55m3m.json"
46
+ "sandbox-limit-occupants-7r2k9p.json",
47
+ "sensei-assess-stage-estimate-shn9cu.json",
48
+ "provider-help-request-slice-a.json",
49
+ "sensei-cards-ids-19r4bu.json"
49
50
  ]
50
51
  }
51
52
  }