@kosuke-ai/kosuke 1.0.2 → 1.0.4

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,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.4
4
+
5
+ - Include released Grok in account and workspace commands and the agent summary, with SuperGrok usage.
6
+
7
+ ## 1.0.3
8
+
9
+ - Create and edit Personal tasks with the shared task commands, and move them into a workspace with tasks move.
10
+ - The README's Factory Skill marker example no longer passes the retired `--no-review` switch to `kosuke:ship`, which always runs its review.
11
+
3
12
  ## 1.0.2
4
13
 
5
14
  - Add `sessions go-ahead set|clear`, which records a pull request's go-ahead on its head in Kosuke instead of a `kosuke: merge` label, and `projects batch-merging add-member`, which a running Batch calls before it closes a task pull request. `sessions all` returns `goAheadSha`, `goAheadMerges` and `mergeRule` in place of `goAhead`. Label commands no longer report a GitHub label sync, and `crons runs-diagnostics` accepts Sensei's token.
package/README.md CHANGED
@@ -34,7 +34,7 @@ deployment.
34
34
  The main chat agent records Factory Skill boundaries with these commands:
35
35
 
36
36
  ```sh
37
- kosuke sessions skill-runs start kosuke:ship --no-review
37
+ kosuke sessions skill-runs start kosuke:ship
38
38
  kosuke sessions skill-runs end kosuke:ship --result ready
39
39
  ```
40
40
 
@@ -132,6 +132,7 @@ const SUBSCRIPTIONS = {
132
132
  deepseek: { label: 'Your DeepSeek API key', usage: 'deepseek_api' },
133
133
  meta: { label: 'Your Muse Code subscription', usage: 'muse_code' },
134
134
  google: { label: 'Your Antigravity subscription', usage: 'antigravity' },
135
+ xai: { label: 'Your SuperGrok subscription', usage: 'grok' },
135
136
  };
136
137
  const AUTH_METHOD_NAMES = {
137
138
  api_key: 'API key',
@@ -144,6 +145,8 @@ const AUTH_METHOD_NAMES = {
144
145
  muse_code: 'Muse Code',
145
146
  antigravity: 'Antigravity',
146
147
  gemini_api: 'Gemini API',
148
+ grok: 'SuperGrok',
149
+ xai_api: 'xAI API key',
147
150
  };
148
151
  const WORKSPACE_USAGE = {
149
152
  claude_code: '/api/organizations/{workspaceId}/ai-provider/claude-usage',
@@ -153,6 +156,7 @@ const WORKSPACE_USAGE = {
153
156
  deepseek_api: '/api/organizations/{workspaceId}/ai-provider/deepseek-usage',
154
157
  muse_code: '/api/organizations/{workspaceId}/ai-provider/muse-usage',
155
158
  antigravity: '/api/organizations/{workspaceId}/ai-provider/google/usage',
159
+ grok: '/api/organizations/{workspaceId}/ai-provider/grok-usage',
156
160
  };
157
161
  function usagePlan(method) {
158
162
  return Object.hasOwn(WORKSPACE_USAGE, method) ? method : null;
@@ -218,113 +218,114 @@ import { operation as o216 } from './tasks/delete.js';
218
218
  import { operation as o217 } from './tasks/get.js';
219
219
  import { operation as o218 } from './tasks/labels.js';
220
220
  import { operation as o219 } from './tasks/list.js';
221
- import { operation as o220 } from './tasks/start.js';
222
- import { operation as o221 } from './tasks/update.js';
223
- import { operation as o222 } from './user/auth-token-revoke.js';
224
- import { operation as o223 } from './user/crons-artifacts-list.js';
225
- import { operation as o224 } from './user/crons-create.js';
226
- import { operation as o225 } from './user/crons-get.js';
227
- import { operation as o226 } from './user/crons-list.js';
228
- import { operation as o227 } from './user/crons-run.js';
229
- import { operation as o228 } from './user/crons-runs-artifacts-get.js';
230
- import { operation as o229 } from './user/crons-runs-artifacts-list.js';
231
- import { operation as o230 } from './user/crons-runs-get.js';
232
- import { operation as o231 } from './user/crons-runs-list.js';
233
- import { operation as o232 } from './user/crons-update.js';
234
- import { operation as o233 } from './user/files-delete.js';
235
- import { operation as o234 } from './user/files-get.js';
236
- import { operation as o235 } from './user/files-list.js';
237
- import { operation as o236 } from './user/files-mkdir.js';
238
- import { operation as o237 } from './user/files-move.js';
239
- import { operation as o238 } from './user/files-put.js';
240
- import { operation as o239 } from './user/integrations-linkedin-connect.js';
241
- import { operation as o240 } from './user/integrations-linkedin-list.js';
242
- import { operation as o241 } from './user/integrations-linkedin-reconnect.js';
243
- import { operation as o242 } from './user/integrations-list.js';
244
- import { operation as o243 } from './user/integrations-remove.js';
245
- import { operation as o244 } from './user/integrations-x-connect.js';
246
- import { operation as o245 } from './user/integrations-x-list.js';
247
- import { operation as o246 } from './user/integrations-x-reconnect.js';
248
- import { operation as o247 } from './user/memory-list.js';
249
- import { operation as o248 } from './user/memory-put.js';
250
- import { operation as o249 } from './user/plugins-list.js';
251
- import { operation as o250 } from './user/plugins-update.js';
252
- import { operation as o251 } from './user/profile.js';
253
- import { operation as o252 } from './user/push-devices-register.js';
254
- import { operation as o253 } from './user/push-devices-remove.js';
255
- import { operation as o254 } from './user/skills-create.js';
256
- import { operation as o255 } from './user/skills-delete.js';
257
- import { operation as o256 } from './user/skills-get.js';
258
- import { operation as o257 } from './user/skills-list.js';
259
- import { operation as o258 } from './user/skills-update.js';
260
- import { operation as o259 } from './user/subscriptions-delete.js';
261
- import { operation as o260 } from './user/subscriptions-get.js';
262
- import { operation as o261 } from './user/subscriptions-grok-change.js';
263
- import { operation as o262 } from './user/subscriptions-grok-get.js';
264
- import { operation as o263 } from './user/subscriptions-login-antigravity-cancel.js';
265
- import { operation as o264 } from './user/subscriptions-login-antigravity-complete.js';
266
- import { operation as o265 } from './user/subscriptions-login-antigravity-start.js';
267
- import { operation as o266 } from './user/subscriptions-login-claude-complete.js';
268
- import { operation as o267 } from './user/subscriptions-login-claude-start.js';
269
- import { operation as o268 } from './user/subscriptions-login-codex-complete.js';
270
- import { operation as o269 } from './user/subscriptions-login-codex-start.js';
271
- import { operation as o270 } from './user/subscriptions-login-muse-complete.js';
272
- import { operation as o271 } from './user/subscriptions-login-muse-start.js';
273
- import { operation as o272 } from './user/subscriptions-logins-delete.js';
274
- import { operation as o273 } from './user/subscriptions-logins-recheck.js';
275
- import { operation as o274 } from './user/subscriptions-set-default-model.js';
276
- import { operation as o275 } from './user/subscriptions-set-key.js';
277
- import { operation as o276 } from './user/subscriptions-token-usage.js';
278
- import { operation as o277 } from './user/subscriptions-usage.js';
279
- import { operation as o278 } from './workspaces/access-status.js';
280
- import { operation as o279 } from './workspaces/ai-provider-get.js';
281
- import { operation as o280 } from './workspaces/ai-provider-google-delete-method.js';
282
- import { operation as o281 } from './workspaces/ai-provider-google-get.js';
283
- import { operation as o282 } from './workspaces/ai-provider-google-remove.js';
284
- import { operation as o283 } from './workspaces/ai-provider-google-save.js';
285
- import { operation as o284 } from './workspaces/ai-provider-google-select-method.js';
286
- import { operation as o285 } from './workspaces/ai-provider-google-usage.js';
287
- import { operation as o286 } from './workspaces/ai-provider-login-antigravity-cancel.js';
288
- import { operation as o287 } from './workspaces/ai-provider-login-antigravity-complete.js';
289
- import { operation as o288 } from './workspaces/ai-provider-login-antigravity-start.js';
290
- import { operation as o289 } from './workspaces/ai-provider-logins-recheck.js';
291
- import { operation as o290 } from './workspaces/ai-provider-remove.js';
292
- import { operation as o291 } from './workspaces/ai-provider-set.js';
293
- import { operation as o292 } from './workspaces/ai-provider-token-usage.js';
294
- import { operation as o293 } from './workspaces/ai-provider-usage-claude.js';
295
- import { operation as o294 } from './workspaces/ai-provider-usage-codex.js';
296
- import { operation as o295 } from './workspaces/ai-provider-usage-coding-plan.js';
297
- import { operation as o296 } from './workspaces/ai-provider-usage-deepseek.js';
298
- import { operation as o297 } from './workspaces/ai-provider-usage-grok.js';
299
- import { operation as o298 } from './workspaces/ai-provider-usage-kimi-code.js';
300
- import { operation as o299 } from './workspaces/ai-provider-usage-muse.js';
301
- import { operation as o300 } from './workspaces/artifacts.js';
302
- import { operation as o301 } from './workspaces/credits.js';
303
- import { operation as o302 } from './workspaces/get.js';
304
- import { operation as o303 } from './workspaces/grok-change.js';
305
- import { operation as o304 } from './workspaces/grok-get.js';
306
- import { operation as o305 } from './workspaces/integrations-get.js';
307
- import { operation as o306 } from './workspaces/integrations-list.js';
308
- import { operation as o307 } from './workspaces/integrations-remove.js';
309
- import { operation as o308 } from './workspaces/list.js';
310
- import { operation as o309 } from './workspaces/members.js';
311
- import { operation as o310 } from './workspaces/plugins-list.js';
312
- import { operation as o311 } from './workspaces/plugins-update.js';
313
- import { operation as o312 } from './workspaces/provider-login-claude-complete.js';
314
- import { operation as o313 } from './workspaces/provider-login-claude-start.js';
315
- import { operation as o314 } from './workspaces/provider-login-codex-complete.js';
316
- import { operation as o315 } from './workspaces/provider-login-codex-start.js';
317
- import { operation as o316 } from './workspaces/provider-login-muse-complete.js';
318
- import { operation as o317 } from './workspaces/provider-login-muse-start.js';
319
- import { operation as o318 } from './workspaces/sandbox-limit.js';
320
- import { operation as o319 } from './workspaces/skills-create.js';
321
- import { operation as o320 } from './workspaces/skills-delete.js';
322
- import { operation as o321 } from './workspaces/skills-get.js';
323
- import { operation as o322 } from './workspaces/skills-list.js';
324
- import { operation as o323 } from './workspaces/skills-update.js';
325
- import { operation as o324 } from './workspaces/stop-sandboxes.js';
326
- import { operation as o325 } from './workspaces/timezone-set.js';
327
- import { operation as o326 } from './workspaces/usage.js';
221
+ import { operation as o220 } from './tasks/move.js';
222
+ import { operation as o221 } from './tasks/start.js';
223
+ import { operation as o222 } from './tasks/update.js';
224
+ import { operation as o223 } from './user/auth-token-revoke.js';
225
+ import { operation as o224 } from './user/crons-artifacts-list.js';
226
+ import { operation as o225 } from './user/crons-create.js';
227
+ import { operation as o226 } from './user/crons-get.js';
228
+ import { operation as o227 } from './user/crons-list.js';
229
+ import { operation as o228 } from './user/crons-run.js';
230
+ import { operation as o229 } from './user/crons-runs-artifacts-get.js';
231
+ import { operation as o230 } from './user/crons-runs-artifacts-list.js';
232
+ import { operation as o231 } from './user/crons-runs-get.js';
233
+ import { operation as o232 } from './user/crons-runs-list.js';
234
+ import { operation as o233 } from './user/crons-update.js';
235
+ import { operation as o234 } from './user/files-delete.js';
236
+ import { operation as o235 } from './user/files-get.js';
237
+ import { operation as o236 } from './user/files-list.js';
238
+ import { operation as o237 } from './user/files-mkdir.js';
239
+ import { operation as o238 } from './user/files-move.js';
240
+ import { operation as o239 } from './user/files-put.js';
241
+ import { operation as o240 } from './user/integrations-linkedin-connect.js';
242
+ import { operation as o241 } from './user/integrations-linkedin-list.js';
243
+ import { operation as o242 } from './user/integrations-linkedin-reconnect.js';
244
+ import { operation as o243 } from './user/integrations-list.js';
245
+ import { operation as o244 } from './user/integrations-remove.js';
246
+ import { operation as o245 } from './user/integrations-x-connect.js';
247
+ import { operation as o246 } from './user/integrations-x-list.js';
248
+ import { operation as o247 } from './user/integrations-x-reconnect.js';
249
+ import { operation as o248 } from './user/memory-list.js';
250
+ import { operation as o249 } from './user/memory-put.js';
251
+ import { operation as o250 } from './user/plugins-list.js';
252
+ import { operation as o251 } from './user/plugins-update.js';
253
+ import { operation as o252 } from './user/profile.js';
254
+ import { operation as o253 } from './user/push-devices-register.js';
255
+ import { operation as o254 } from './user/push-devices-remove.js';
256
+ import { operation as o255 } from './user/skills-create.js';
257
+ import { operation as o256 } from './user/skills-delete.js';
258
+ import { operation as o257 } from './user/skills-get.js';
259
+ import { operation as o258 } from './user/skills-list.js';
260
+ import { operation as o259 } from './user/skills-update.js';
261
+ import { operation as o260 } from './user/subscriptions-delete.js';
262
+ import { operation as o261 } from './user/subscriptions-get.js';
263
+ import { operation as o262 } from './user/subscriptions-grok-change.js';
264
+ import { operation as o263 } from './user/subscriptions-grok-get.js';
265
+ import { operation as o264 } from './user/subscriptions-login-antigravity-cancel.js';
266
+ import { operation as o265 } from './user/subscriptions-login-antigravity-complete.js';
267
+ import { operation as o266 } from './user/subscriptions-login-antigravity-start.js';
268
+ import { operation as o267 } from './user/subscriptions-login-claude-complete.js';
269
+ import { operation as o268 } from './user/subscriptions-login-claude-start.js';
270
+ import { operation as o269 } from './user/subscriptions-login-codex-complete.js';
271
+ import { operation as o270 } from './user/subscriptions-login-codex-start.js';
272
+ import { operation as o271 } from './user/subscriptions-login-muse-complete.js';
273
+ import { operation as o272 } from './user/subscriptions-login-muse-start.js';
274
+ import { operation as o273 } from './user/subscriptions-logins-delete.js';
275
+ import { operation as o274 } from './user/subscriptions-logins-recheck.js';
276
+ import { operation as o275 } from './user/subscriptions-set-default-model.js';
277
+ import { operation as o276 } from './user/subscriptions-set-key.js';
278
+ import { operation as o277 } from './user/subscriptions-token-usage.js';
279
+ import { operation as o278 } from './user/subscriptions-usage.js';
280
+ import { operation as o279 } from './workspaces/access-status.js';
281
+ import { operation as o280 } from './workspaces/ai-provider-get.js';
282
+ import { operation as o281 } from './workspaces/ai-provider-google-delete-method.js';
283
+ import { operation as o282 } from './workspaces/ai-provider-google-get.js';
284
+ import { operation as o283 } from './workspaces/ai-provider-google-remove.js';
285
+ import { operation as o284 } from './workspaces/ai-provider-google-save.js';
286
+ import { operation as o285 } from './workspaces/ai-provider-google-select-method.js';
287
+ import { operation as o286 } from './workspaces/ai-provider-google-usage.js';
288
+ import { operation as o287 } from './workspaces/ai-provider-login-antigravity-cancel.js';
289
+ import { operation as o288 } from './workspaces/ai-provider-login-antigravity-complete.js';
290
+ import { operation as o289 } from './workspaces/ai-provider-login-antigravity-start.js';
291
+ import { operation as o290 } from './workspaces/ai-provider-logins-recheck.js';
292
+ import { operation as o291 } from './workspaces/ai-provider-remove.js';
293
+ import { operation as o292 } from './workspaces/ai-provider-set.js';
294
+ import { operation as o293 } from './workspaces/ai-provider-token-usage.js';
295
+ import { operation as o294 } from './workspaces/ai-provider-usage-claude.js';
296
+ import { operation as o295 } from './workspaces/ai-provider-usage-codex.js';
297
+ import { operation as o296 } from './workspaces/ai-provider-usage-coding-plan.js';
298
+ import { operation as o297 } from './workspaces/ai-provider-usage-deepseek.js';
299
+ import { operation as o298 } from './workspaces/ai-provider-usage-grok.js';
300
+ import { operation as o299 } from './workspaces/ai-provider-usage-kimi-code.js';
301
+ import { operation as o300 } from './workspaces/ai-provider-usage-muse.js';
302
+ import { operation as o301 } from './workspaces/artifacts.js';
303
+ import { operation as o302 } from './workspaces/credits.js';
304
+ import { operation as o303 } from './workspaces/get.js';
305
+ import { operation as o304 } from './workspaces/grok-change.js';
306
+ import { operation as o305 } from './workspaces/grok-get.js';
307
+ import { operation as o306 } from './workspaces/integrations-get.js';
308
+ import { operation as o307 } from './workspaces/integrations-list.js';
309
+ import { operation as o308 } from './workspaces/integrations-remove.js';
310
+ import { operation as o309 } from './workspaces/list.js';
311
+ import { operation as o310 } from './workspaces/members.js';
312
+ import { operation as o311 } from './workspaces/plugins-list.js';
313
+ import { operation as o312 } from './workspaces/plugins-update.js';
314
+ import { operation as o313 } from './workspaces/provider-login-claude-complete.js';
315
+ import { operation as o314 } from './workspaces/provider-login-claude-start.js';
316
+ import { operation as o315 } from './workspaces/provider-login-codex-complete.js';
317
+ import { operation as o316 } from './workspaces/provider-login-codex-start.js';
318
+ import { operation as o317 } from './workspaces/provider-login-muse-complete.js';
319
+ import { operation as o318 } from './workspaces/provider-login-muse-start.js';
320
+ import { operation as o319 } from './workspaces/sandbox-limit.js';
321
+ import { operation as o320 } from './workspaces/skills-create.js';
322
+ import { operation as o321 } from './workspaces/skills-delete.js';
323
+ import { operation as o322 } from './workspaces/skills-get.js';
324
+ import { operation as o323 } from './workspaces/skills-list.js';
325
+ import { operation as o324 } from './workspaces/skills-update.js';
326
+ import { operation as o325 } from './workspaces/stop-sandboxes.js';
327
+ import { operation as o326 } from './workspaces/timezone-set.js';
328
+ import { operation as o327 } from './workspaces/usage.js';
328
329
  export const operations = [
329
330
  o0,
330
331
  o1,
@@ -653,4 +654,5 @@ export const operations = [
653
654
  o324,
654
655
  o325,
655
656
  o326,
657
+ o327,
656
658
  ];
@@ -113,6 +113,29 @@ export const operation = {
113
113
  "flag": "hint-project",
114
114
  "kind": "string",
115
115
  "required": false
116
+ },
117
+ {
118
+ "name": "status",
119
+ "flag": "status",
120
+ "kind": "string",
121
+ "required": false,
122
+ "choices": [
123
+ "todo",
124
+ "in_progress",
125
+ "done"
126
+ ]
127
+ },
128
+ {
129
+ "name": "dueOn",
130
+ "flag": "due-on",
131
+ "kind": "string",
132
+ "required": false
133
+ },
134
+ {
135
+ "name": "threadId",
136
+ "flag": "thread-id",
137
+ "kind": "string",
138
+ "required": false
116
139
  }
117
140
  ],
118
141
  "required": true
@@ -219,6 +242,29 @@ export const operation = {
219
242
  "flag": "hint-project",
220
243
  "kind": "string",
221
244
  "required": false
245
+ },
246
+ {
247
+ "name": "status",
248
+ "flag": "status",
249
+ "kind": "string",
250
+ "required": false,
251
+ "choices": [
252
+ "todo",
253
+ "in_progress",
254
+ "done"
255
+ ]
256
+ },
257
+ {
258
+ "name": "dueOn",
259
+ "flag": "due-on",
260
+ "kind": "string",
261
+ "required": false
262
+ },
263
+ {
264
+ "name": "threadId",
265
+ "flag": "thread-id",
266
+ "kind": "string",
267
+ "required": false
222
268
  }
223
269
  ],
224
270
  "attachments": {
@@ -0,0 +1,32 @@
1
+ export const operation = {
2
+ "method": "post",
3
+ "path": "/api/organizations/{workspaceId}/tasks/{taskId}/move",
4
+ "command": [
5
+ "tasks",
6
+ "move"
7
+ ],
8
+ "summary": "Move a Todo or In progress Personal task into a workspace. Members and Sensei only.",
9
+ "pathParams": [
10
+ "workspaceId",
11
+ "taskId"
12
+ ],
13
+ "query": [],
14
+ "body": {
15
+ "fields": [
16
+ {
17
+ "name": "orgId",
18
+ "flag": "org-id",
19
+ "kind": "string",
20
+ "required": true,
21
+ "description": "The target workspace you belong to."
22
+ }
23
+ ],
24
+ "required": true
25
+ },
26
+ "multipart": null,
27
+ "attachments": false,
28
+ "anonymous": false,
29
+ "agents": [
30
+ "senseiToken"
31
+ ]
32
+ };
@@ -103,10 +103,23 @@ export const operation = {
103
103
  "required": false,
104
104
  "choices": [
105
105
  "todo",
106
+ "in_progress",
106
107
  "done",
107
108
  "archived"
108
109
  ]
109
110
  },
111
+ {
112
+ "name": "dueOn",
113
+ "flag": "due-on",
114
+ "kind": "string",
115
+ "required": false
116
+ },
117
+ {
118
+ "name": "threadId",
119
+ "flag": "thread-id",
120
+ "kind": "string",
121
+ "required": false
122
+ },
110
123
  {
111
124
  "name": "description",
112
125
  "flag": "description",
@@ -7,7 +7,7 @@ export const operation = {
7
7
  "grok",
8
8
  "get"
9
9
  ],
10
- "summary": "Read your saved Grok connection labels. Grok is not offered in model pickers yet.",
10
+ "summary": "Read your saved Grok connection labels.",
11
11
  "pathParams": [],
12
12
  "query": [],
13
13
  "body": null,
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "grok",
7
7
  "change"
8
8
  ],
9
- "summary": "Connect, select, poll, cancel or remove workspace Grok access. Owners and admins only. Grok is not offered in model pickers yet.",
9
+ "summary": "Connect, select, poll, cancel or remove workspace Grok access. Owners and admins only.",
10
10
  "pathParams": [
11
11
  "workspaceId"
12
12
  ],
@@ -24,6 +24,10 @@ export const providers = [
24
24
  "key": "meta",
25
25
  "name": "Meta"
26
26
  },
27
+ {
28
+ "key": "xai",
29
+ "name": "xAI"
30
+ },
27
31
  {
28
32
  "key": "google",
29
33
  "name": "Google"
package/openapi.json CHANGED
@@ -6259,7 +6259,7 @@
6259
6259
  },
6260
6260
  "post": {
6261
6261
  "operationId": "workspacesGrokChange",
6262
- "summary": "Connect, select, poll, cancel or remove workspace Grok access. Owners and admins only. Grok is not offered in model pickers yet.",
6262
+ "summary": "Connect, select, poll, cancel or remove workspace Grok access. Owners and admins only.",
6263
6263
  "tags": ["workspaces"],
6264
6264
  "x-kosuke-command": ["workspaces", "grok", "change"],
6265
6265
  "parameters": [
@@ -8051,6 +8051,20 @@
8051
8051
  "type": "string",
8052
8052
  "format": "uuid",
8053
8053
  "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)$"
8054
+ },
8055
+ "status": {
8056
+ "type": "string",
8057
+ "enum": ["todo", "in_progress", "done"]
8058
+ },
8059
+ "dueOn": {
8060
+ "type": "string",
8061
+ "format": "date",
8062
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
8063
+ },
8064
+ "threadId": {
8065
+ "type": "string",
8066
+ "format": "uuid",
8067
+ "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)$"
8054
8068
  }
8055
8069
  },
8056
8070
  "required": ["title", "description"]
@@ -8118,6 +8132,20 @@
8118
8132
  "type": "string",
8119
8133
  "format": "uuid",
8120
8134
  "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)$"
8135
+ },
8136
+ "status": {
8137
+ "type": "string",
8138
+ "enum": ["todo", "in_progress", "done"]
8139
+ },
8140
+ "dueOn": {
8141
+ "type": "string",
8142
+ "format": "date",
8143
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
8144
+ },
8145
+ "threadId": {
8146
+ "type": "string",
8147
+ "format": "uuid",
8148
+ "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)$"
8121
8149
  }
8122
8150
  },
8123
8151
  "required": ["title", "description"]
@@ -8359,7 +8387,31 @@
8359
8387
  },
8360
8388
  "status": {
8361
8389
  "type": "string",
8362
- "enum": ["todo", "done", "archived"]
8390
+ "enum": ["todo", "in_progress", "done", "archived"]
8391
+ },
8392
+ "dueOn": {
8393
+ "anyOf": [
8394
+ {
8395
+ "type": "string",
8396
+ "format": "date",
8397
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
8398
+ },
8399
+ {
8400
+ "type": "null"
8401
+ }
8402
+ ]
8403
+ },
8404
+ "threadId": {
8405
+ "anyOf": [
8406
+ {
8407
+ "type": "string",
8408
+ "format": "uuid",
8409
+ "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)$"
8410
+ },
8411
+ {
8412
+ "type": "null"
8413
+ }
8414
+ ]
8363
8415
  },
8364
8416
  "description": {
8365
8417
  "type": "string"
@@ -8472,6 +8524,86 @@
8472
8524
  }
8473
8525
  }
8474
8526
  },
8527
+ "/api/organizations/{workspaceId}/tasks/{taskId}/move": {
8528
+ "post": {
8529
+ "operationId": "tasksMove",
8530
+ "summary": "Move a Todo or In progress Personal task into a workspace. Members and Sensei only.",
8531
+ "tags": ["tasks"],
8532
+ "x-kosuke-command": ["tasks", "move"],
8533
+ "x-kosuke-sensei-token": true,
8534
+ "parameters": [
8535
+ {
8536
+ "name": "workspaceId",
8537
+ "in": "path",
8538
+ "required": true,
8539
+ "schema": {
8540
+ "type": "string",
8541
+ "minLength": 1
8542
+ }
8543
+ },
8544
+ {
8545
+ "name": "taskId",
8546
+ "in": "path",
8547
+ "required": true,
8548
+ "schema": {
8549
+ "type": "string",
8550
+ "format": "uuid",
8551
+ "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)$"
8552
+ }
8553
+ }
8554
+ ],
8555
+ "requestBody": {
8556
+ "required": true,
8557
+ "content": {
8558
+ "application/json": {
8559
+ "schema": {
8560
+ "type": "object",
8561
+ "properties": {
8562
+ "orgId": {
8563
+ "type": "string",
8564
+ "minLength": 1,
8565
+ "description": "The target workspace you belong to."
8566
+ }
8567
+ },
8568
+ "required": ["orgId"]
8569
+ }
8570
+ }
8571
+ }
8572
+ },
8573
+ "responses": {
8574
+ "2XX": {
8575
+ "description": "Success envelope",
8576
+ "content": {
8577
+ "application/json": {
8578
+ "schema": {
8579
+ "$ref": "#/components/schemas/ApiSuccess"
8580
+ }
8581
+ }
8582
+ }
8583
+ },
8584
+ "4XX": {
8585
+ "description": "Error envelope",
8586
+ "content": {
8587
+ "application/json": {
8588
+ "schema": {
8589
+ "$ref": "#/components/schemas/ApiError"
8590
+ }
8591
+ }
8592
+ }
8593
+ },
8594
+ "5XX": {
8595
+ "description": "Error envelope",
8596
+ "content": {
8597
+ "application/json": {
8598
+ "schema": {
8599
+ "$ref": "#/components/schemas/ApiError"
8600
+ }
8601
+ }
8602
+ }
8603
+ }
8604
+ }
8605
+ }
8606
+ },
8475
8607
  "/api/organizations/{workspaceId}/tasks/{taskId}/start": {
8476
8608
  "post": {
8477
8609
  "operationId": "tasksStart",
@@ -26103,7 +26235,7 @@
26103
26235
  "/api/user/subscriptions/xai/access": {
26104
26236
  "get": {
26105
26237
  "operationId": "userSubscriptionsGrokGet",
26106
- "summary": "Read your saved Grok connection labels. Grok is not offered in model pickers yet.",
26238
+ "summary": "Read your saved Grok connection labels.",
26107
26239
  "tags": ["user"],
26108
26240
  "x-kosuke-command": ["user", "subscriptions", "grok", "get"],
26109
26241
  "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.2",
3
+ "version": "1.0.4",
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,10 +40,10 @@
40
40
  "vitest": "^4.1.12"
41
41
  },
42
42
  "kosukeRelease": {
43
- "sourceCommit": "a401caae6a48d69fd2acd7e04db48dc4ce06b9eb",
44
- "sourceIdentity": "eb93b14c93ce5a92af2942da6bc275726c8ed17380897aa8b69c2145b6d02582",
43
+ "sourceCommit": "09cb90dec7a4d57a7d87051c969a29b773190355",
44
+ "sourceIdentity": "00e4bf5cdd141f8be79ff2bd5ad93b0c87433acdca484cdbe6842afa63abff3f",
45
45
  "fragments": [
46
- "go-ahead-review-batch-members-r5n2kx.json"
46
+ "grok-release-picker-contract.json"
47
47
  ]
48
48
  }
49
49
  }