@kosuke-ai/kosuke 1.0.1 → 1.0.2

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,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.2
4
+
5
+ - 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.
6
+
3
7
  ## 1.0.1
4
8
 
5
9
  - Allocate package versions when publishing and collect changes from separate PR fragments.
@@ -16,5 +16,8 @@ export const operation = {
16
16
  "body": null,
17
17
  "multipart": null,
18
18
  "attachments": false,
19
- "anonymous": false
19
+ "anonymous": false,
20
+ "agents": [
21
+ "senseiToken"
22
+ ]
20
23
  };
@@ -82,246 +82,249 @@ import { operation as o80 } from './projects/backlog-items-delete.js';
82
82
  import { operation as o81 } from './projects/backlog-items-list.js';
83
83
  import { operation as o82 } from './projects/backlog-items-send.js';
84
84
  import { operation as o83 } from './projects/backlog-items-update.js';
85
- import { operation as o84 } from './projects/batch-merging-eject.js';
86
- import { operation as o85 } from './projects/batch-merging-finish.js';
87
- import { operation as o86 } from './projects/batch-merging-get.js';
88
- import { operation as o87 } from './projects/batch-merging-set.js';
89
- import { operation as o88 } from './projects/branches.js';
90
- import { operation as o89 } from './projects/create.js';
91
- import { operation as o90 } from './projects/delete.js';
92
- import { operation as o91 } from './projects/env-vars-add.js';
93
- import { operation as o92 } from './projects/env-vars-remove.js';
94
- import { operation as o93 } from './projects/get.js';
95
- import { operation as o94 } from './projects/labels.js';
96
- import { operation as o95 } from './projects/labels-color.js';
97
- import { operation as o96 } from './projects/labels-delete.js';
98
- import { operation as o97 } from './projects/labels-usage.js';
99
- import { operation as o98 } from './projects/list.js';
100
- import { operation as o99 } from './projects/live-logs.js';
101
- import { operation as o100 } from './projects/live-query.js';
102
- import { operation as o101 } from './projects/live-traffic.js';
103
- import { operation as o102 } from './projects/live-write.js';
104
- import { operation as o103 } from './projects/live-write-status.js';
105
- import { operation as o104 } from './projects/qa-guide-get.js';
106
- import { operation as o105 } from './projects/qa-guide-set.js';
107
- import { operation as o106 } from './projects/releases.js';
108
- import { operation as o107 } from './projects/services-add.js';
109
- import { operation as o108 } from './projects/services-list.js';
110
- import { operation as o109 } from './projects/services-remove.js';
111
- import { operation as o110 } from './projects/services-update.js';
112
- import { operation as o111 } from './projects/settings-get.js';
113
- import { operation as o112 } from './projects/settings-import.js';
114
- import { operation as o113 } from './projects/settings-update.js';
115
- import { operation as o114 } from './projects/skills.js';
116
- import { operation as o115 } from './projects/switch-workflow.js';
117
- import { operation as o116 } from './projects/update.js';
118
- import { operation as o117 } from './projects/versions.js';
119
- import { operation as o118 } from './sensei/cards.js';
120
- import { operation as o119 } from './sensei/cards-close.js';
121
- import { operation as o120 } from './sensei/cards-mark-read.js';
122
- import { operation as o121 } from './sensei/cards-put.js';
123
- import { operation as o122 } from './sensei/cards-send-reply.js';
124
- import { operation as o123 } from './sensei/chat.js';
125
- import { operation as o124 } from './sensei/connect.js';
126
- import { operation as o125 } from './sensei/delegates-get.js';
127
- import { operation as o126 } from './sensei/delegates-note.js';
128
- import { operation as o127 } from './sensei/delegates-start.js';
129
- import { operation as o128 } from './sensei/delegates-stop.js';
130
- import { operation as o129 } from './sensei/describe.js';
131
- import { operation as o130 } from './sensei/device-requests-decide.js';
132
- import { operation as o131 } from './sensei/device-requests-list.js';
133
- import { operation as o132 } from './sensei/memory-get.js';
134
- import { operation as o133 } from './sensei/memory-put.js';
135
- import { operation as o134 } from './sensei/merge.js';
136
- import { operation as o135 } from './sensei/merge-rule.js';
137
- import { operation as o136 } from './sensei/messages-reply.js';
138
- import { operation as o137 } from './sensei/messages-reroute.js';
139
- import { operation as o138 } from './sensei/messages-send.js';
140
- import { operation as o139 } from './sensei/notifications-open.js';
141
- import { operation as o140 } from './sensei/reels-activity.js';
142
- import { operation as o141 } from './sensei/reels-proposals.js';
143
- import { operation as o142 } from './sensei/reels-ranks.js';
144
- import { operation as o143 } from './sensei/reels-skips.js';
145
- import { operation as o144 } from './sensei/repository.js';
146
- import { operation as o145 } from './sensei/review-approve.js';
147
- import { operation as o146 } from './sensei/review-ask.js';
148
- import { operation as o147 } from './sensei/review-context.js';
149
- import { operation as o148 } from './sensei/sessions-assess.js';
150
- import { operation as o149 } from './sensei/sessions-facts.js';
151
- import { operation as o150 } from './sensei/suggest.js';
152
- import { operation as o151 } from './sensei/thread-done.js';
153
- import { operation as o152 } from './sensei/thread-move.js';
154
- import { operation as o153 } from './sensei/thread-read.js';
155
- import { operation as o154 } from './sensei/thread-split.js';
156
- import { operation as o155 } from './sensei/threads.js';
157
- import { operation as o156 } from './sensei/tickets-merge.js';
158
- import { operation as o157 } from './sensei/widgets.js';
159
- import { operation as o158 } from './sessions/activate.js';
160
- import { operation as o159 } from './sessions/all.js';
161
- import { operation as o160 } from './sessions/app-stack-start.js';
162
- import { operation as o161 } from './sessions/artifacts-attach.js';
163
- import { operation as o162 } from './sessions/artifacts-get.js';
164
- import { operation as o163 } from './sessions/artifacts-list.js';
165
- import { operation as o164 } from './sessions/create.js';
166
- import { operation as o165 } from './sessions/delete.js';
167
- import { operation as o166 } from './sessions/desktop.js';
168
- import { operation as o167 } from './sessions/desktop-control.js';
169
- import { operation as o168 } from './sessions/desktop-start.js';
170
- import { operation as o169 } from './sessions/diff-comments-add.js';
171
- import { operation as o170 } from './sessions/diff-comments-delete.js';
172
- import { operation as o171 } from './sessions/diff-comments-list.js';
173
- import { operation as o172 } from './sessions/diff-comments-update.js';
174
- import { operation as o173 } from './sessions/diff-commits.js';
175
- import { operation as o174 } from './sessions/diff-files.js';
176
- import { operation as o175 } from './sessions/diff-patch.js';
177
- import { operation as o176 } from './sessions/edit-prompt.js';
178
- import { operation as o177 } from './sessions/files-get.js';
179
- import { operation as o178 } from './sessions/files-list.js';
180
- import { operation as o179 } from './sessions/files-write.js';
181
- import { operation as o180 } from './sessions/get.js';
182
- import { operation as o181 } from './sessions/git-commit.js';
183
- import { operation as o182 } from './sessions/git-commit-message.js';
184
- import { operation as o183 } from './sessions/git-push.js';
185
- import { operation as o184 } from './sessions/git-state.js';
186
- import { operation as o185 } from './sessions/jobs-cancel.js';
187
- import { operation as o186 } from './sessions/jobs-get.js';
188
- import { operation as o187 } from './sessions/jobs-list.js';
189
- import { operation as o188 } from './sessions/labels-edit.js';
190
- import { operation as o189 } from './sessions/labels-set.js';
191
- import { operation as o190 } from './sessions/list.js';
192
- import { operation as o191 } from './sessions/mark-read.js';
193
- import { operation as o192 } from './sessions/message.js';
194
- import { operation as o193 } from './sessions/messages.js';
195
- import { operation as o194 } from './sessions/needs-you.js';
196
- import { operation as o195 } from './sessions/qa-clear.js';
197
- import { operation as o196 } from './sessions/qa-set.js';
198
- import { operation as o197 } from './sessions/queue-delete.js';
199
- import { operation as o198 } from './sessions/queue-list.js';
200
- import { operation as o199 } from './sessions/queue-move.js';
201
- import { operation as o200 } from './sessions/queue-resume.js';
202
- import { operation as o201 } from './sessions/queue-send.js';
203
- import { operation as o202 } from './sessions/queue-steer.js';
204
- import { operation as o203 } from './sessions/queue-update.js';
205
- import { operation as o204 } from './sessions/runtime-command.js';
206
- import { operation as o205 } from './sessions/search.js';
207
- import { operation as o206 } from './sessions/send.js';
208
- import { operation as o207 } from './sessions/steer.js';
209
- import { operation as o208 } from './sessions/sync.js';
210
- import { operation as o209 } from './sessions/title-generate.js';
211
- import { operation as o210 } from './sessions/update.js';
212
- import { operation as o211 } from './tasks/all.js';
213
- import { operation as o212 } from './tasks/create.js';
214
- import { operation as o213 } from './tasks/delete.js';
215
- import { operation as o214 } from './tasks/get.js';
216
- import { operation as o215 } from './tasks/labels.js';
217
- import { operation as o216 } from './tasks/list.js';
218
- import { operation as o217 } from './tasks/start.js';
219
- import { operation as o218 } from './tasks/update.js';
220
- import { operation as o219 } from './user/auth-token-revoke.js';
221
- import { operation as o220 } from './user/crons-artifacts-list.js';
222
- import { operation as o221 } from './user/crons-create.js';
223
- import { operation as o222 } from './user/crons-get.js';
224
- import { operation as o223 } from './user/crons-list.js';
225
- import { operation as o224 } from './user/crons-run.js';
226
- import { operation as o225 } from './user/crons-runs-artifacts-get.js';
227
- import { operation as o226 } from './user/crons-runs-artifacts-list.js';
228
- import { operation as o227 } from './user/crons-runs-get.js';
229
- import { operation as o228 } from './user/crons-runs-list.js';
230
- import { operation as o229 } from './user/crons-update.js';
231
- import { operation as o230 } from './user/files-delete.js';
232
- import { operation as o231 } from './user/files-get.js';
233
- import { operation as o232 } from './user/files-list.js';
234
- import { operation as o233 } from './user/files-mkdir.js';
235
- import { operation as o234 } from './user/files-move.js';
236
- import { operation as o235 } from './user/files-put.js';
237
- import { operation as o236 } from './user/integrations-linkedin-connect.js';
238
- import { operation as o237 } from './user/integrations-linkedin-list.js';
239
- import { operation as o238 } from './user/integrations-linkedin-reconnect.js';
240
- import { operation as o239 } from './user/integrations-list.js';
241
- import { operation as o240 } from './user/integrations-remove.js';
242
- import { operation as o241 } from './user/integrations-x-connect.js';
243
- import { operation as o242 } from './user/integrations-x-list.js';
244
- import { operation as o243 } from './user/integrations-x-reconnect.js';
245
- import { operation as o244 } from './user/memory-list.js';
246
- import { operation as o245 } from './user/memory-put.js';
247
- import { operation as o246 } from './user/plugins-list.js';
248
- import { operation as o247 } from './user/plugins-update.js';
249
- import { operation as o248 } from './user/profile.js';
250
- import { operation as o249 } from './user/push-devices-register.js';
251
- import { operation as o250 } from './user/push-devices-remove.js';
252
- import { operation as o251 } from './user/skills-create.js';
253
- import { operation as o252 } from './user/skills-delete.js';
254
- import { operation as o253 } from './user/skills-get.js';
255
- import { operation as o254 } from './user/skills-list.js';
256
- import { operation as o255 } from './user/skills-update.js';
257
- import { operation as o256 } from './user/subscriptions-delete.js';
258
- import { operation as o257 } from './user/subscriptions-get.js';
259
- import { operation as o258 } from './user/subscriptions-grok-change.js';
260
- import { operation as o259 } from './user/subscriptions-grok-get.js';
261
- import { operation as o260 } from './user/subscriptions-login-antigravity-cancel.js';
262
- import { operation as o261 } from './user/subscriptions-login-antigravity-complete.js';
263
- import { operation as o262 } from './user/subscriptions-login-antigravity-start.js';
264
- import { operation as o263 } from './user/subscriptions-login-claude-complete.js';
265
- import { operation as o264 } from './user/subscriptions-login-claude-start.js';
266
- import { operation as o265 } from './user/subscriptions-login-codex-complete.js';
267
- import { operation as o266 } from './user/subscriptions-login-codex-start.js';
268
- import { operation as o267 } from './user/subscriptions-login-muse-complete.js';
269
- import { operation as o268 } from './user/subscriptions-login-muse-start.js';
270
- import { operation as o269 } from './user/subscriptions-logins-delete.js';
271
- import { operation as o270 } from './user/subscriptions-logins-recheck.js';
272
- import { operation as o271 } from './user/subscriptions-set-default-model.js';
273
- import { operation as o272 } from './user/subscriptions-set-key.js';
274
- import { operation as o273 } from './user/subscriptions-token-usage.js';
275
- import { operation as o274 } from './user/subscriptions-usage.js';
276
- import { operation as o275 } from './workspaces/access-status.js';
277
- import { operation as o276 } from './workspaces/ai-provider-get.js';
278
- import { operation as o277 } from './workspaces/ai-provider-google-delete-method.js';
279
- import { operation as o278 } from './workspaces/ai-provider-google-get.js';
280
- import { operation as o279 } from './workspaces/ai-provider-google-remove.js';
281
- import { operation as o280 } from './workspaces/ai-provider-google-save.js';
282
- import { operation as o281 } from './workspaces/ai-provider-google-select-method.js';
283
- import { operation as o282 } from './workspaces/ai-provider-google-usage.js';
284
- import { operation as o283 } from './workspaces/ai-provider-login-antigravity-cancel.js';
285
- import { operation as o284 } from './workspaces/ai-provider-login-antigravity-complete.js';
286
- import { operation as o285 } from './workspaces/ai-provider-login-antigravity-start.js';
287
- import { operation as o286 } from './workspaces/ai-provider-logins-recheck.js';
288
- import { operation as o287 } from './workspaces/ai-provider-remove.js';
289
- import { operation as o288 } from './workspaces/ai-provider-set.js';
290
- import { operation as o289 } from './workspaces/ai-provider-token-usage.js';
291
- import { operation as o290 } from './workspaces/ai-provider-usage-claude.js';
292
- import { operation as o291 } from './workspaces/ai-provider-usage-codex.js';
293
- import { operation as o292 } from './workspaces/ai-provider-usage-coding-plan.js';
294
- import { operation as o293 } from './workspaces/ai-provider-usage-deepseek.js';
295
- import { operation as o294 } from './workspaces/ai-provider-usage-grok.js';
296
- import { operation as o295 } from './workspaces/ai-provider-usage-kimi-code.js';
297
- import { operation as o296 } from './workspaces/ai-provider-usage-muse.js';
298
- import { operation as o297 } from './workspaces/artifacts.js';
299
- import { operation as o298 } from './workspaces/credits.js';
300
- import { operation as o299 } from './workspaces/get.js';
301
- import { operation as o300 } from './workspaces/grok-change.js';
302
- import { operation as o301 } from './workspaces/grok-get.js';
303
- import { operation as o302 } from './workspaces/integrations-get.js';
304
- import { operation as o303 } from './workspaces/integrations-list.js';
305
- import { operation as o304 } from './workspaces/integrations-remove.js';
306
- import { operation as o305 } from './workspaces/list.js';
307
- import { operation as o306 } from './workspaces/members.js';
308
- import { operation as o307 } from './workspaces/plugins-list.js';
309
- import { operation as o308 } from './workspaces/plugins-update.js';
310
- import { operation as o309 } from './workspaces/provider-login-claude-complete.js';
311
- import { operation as o310 } from './workspaces/provider-login-claude-start.js';
312
- import { operation as o311 } from './workspaces/provider-login-codex-complete.js';
313
- import { operation as o312 } from './workspaces/provider-login-codex-start.js';
314
- import { operation as o313 } from './workspaces/provider-login-muse-complete.js';
315
- import { operation as o314 } from './workspaces/provider-login-muse-start.js';
316
- import { operation as o315 } from './workspaces/sandbox-limit.js';
317
- import { operation as o316 } from './workspaces/skills-create.js';
318
- import { operation as o317 } from './workspaces/skills-delete.js';
319
- import { operation as o318 } from './workspaces/skills-get.js';
320
- import { operation as o319 } from './workspaces/skills-list.js';
321
- import { operation as o320 } from './workspaces/skills-update.js';
322
- import { operation as o321 } from './workspaces/stop-sandboxes.js';
323
- import { operation as o322 } from './workspaces/timezone-set.js';
324
- import { operation as o323 } from './workspaces/usage.js';
85
+ import { operation as o84 } from './projects/batch-merging-add-member.js';
86
+ import { operation as o85 } from './projects/batch-merging-eject.js';
87
+ import { operation as o86 } from './projects/batch-merging-finish.js';
88
+ import { operation as o87 } from './projects/batch-merging-get.js';
89
+ import { operation as o88 } from './projects/batch-merging-set.js';
90
+ import { operation as o89 } from './projects/branches.js';
91
+ import { operation as o90 } from './projects/create.js';
92
+ import { operation as o91 } from './projects/delete.js';
93
+ import { operation as o92 } from './projects/env-vars-add.js';
94
+ import { operation as o93 } from './projects/env-vars-remove.js';
95
+ import { operation as o94 } from './projects/get.js';
96
+ import { operation as o95 } from './projects/labels.js';
97
+ import { operation as o96 } from './projects/labels-color.js';
98
+ import { operation as o97 } from './projects/labels-delete.js';
99
+ import { operation as o98 } from './projects/labels-usage.js';
100
+ import { operation as o99 } from './projects/list.js';
101
+ import { operation as o100 } from './projects/live-logs.js';
102
+ import { operation as o101 } from './projects/live-query.js';
103
+ import { operation as o102 } from './projects/live-traffic.js';
104
+ import { operation as o103 } from './projects/live-write.js';
105
+ import { operation as o104 } from './projects/live-write-status.js';
106
+ import { operation as o105 } from './projects/qa-guide-get.js';
107
+ import { operation as o106 } from './projects/qa-guide-set.js';
108
+ import { operation as o107 } from './projects/releases.js';
109
+ import { operation as o108 } from './projects/services-add.js';
110
+ import { operation as o109 } from './projects/services-list.js';
111
+ import { operation as o110 } from './projects/services-remove.js';
112
+ import { operation as o111 } from './projects/services-update.js';
113
+ import { operation as o112 } from './projects/settings-get.js';
114
+ import { operation as o113 } from './projects/settings-import.js';
115
+ import { operation as o114 } from './projects/settings-update.js';
116
+ import { operation as o115 } from './projects/skills.js';
117
+ import { operation as o116 } from './projects/switch-workflow.js';
118
+ import { operation as o117 } from './projects/update.js';
119
+ import { operation as o118 } from './projects/versions.js';
120
+ import { operation as o119 } from './sensei/cards.js';
121
+ import { operation as o120 } from './sensei/cards-close.js';
122
+ import { operation as o121 } from './sensei/cards-mark-read.js';
123
+ import { operation as o122 } from './sensei/cards-put.js';
124
+ import { operation as o123 } from './sensei/cards-send-reply.js';
125
+ import { operation as o124 } from './sensei/chat.js';
126
+ import { operation as o125 } from './sensei/connect.js';
127
+ import { operation as o126 } from './sensei/delegates-get.js';
128
+ import { operation as o127 } from './sensei/delegates-note.js';
129
+ import { operation as o128 } from './sensei/delegates-start.js';
130
+ import { operation as o129 } from './sensei/delegates-stop.js';
131
+ import { operation as o130 } from './sensei/describe.js';
132
+ import { operation as o131 } from './sensei/device-requests-decide.js';
133
+ import { operation as o132 } from './sensei/device-requests-list.js';
134
+ import { operation as o133 } from './sensei/memory-get.js';
135
+ import { operation as o134 } from './sensei/memory-put.js';
136
+ import { operation as o135 } from './sensei/merge.js';
137
+ import { operation as o136 } from './sensei/merge-rule.js';
138
+ import { operation as o137 } from './sensei/messages-reply.js';
139
+ import { operation as o138 } from './sensei/messages-reroute.js';
140
+ import { operation as o139 } from './sensei/messages-send.js';
141
+ import { operation as o140 } from './sensei/notifications-open.js';
142
+ import { operation as o141 } from './sensei/reels-activity.js';
143
+ import { operation as o142 } from './sensei/reels-proposals.js';
144
+ import { operation as o143 } from './sensei/reels-ranks.js';
145
+ import { operation as o144 } from './sensei/reels-skips.js';
146
+ import { operation as o145 } from './sensei/repository.js';
147
+ import { operation as o146 } from './sensei/review-approve.js';
148
+ import { operation as o147 } from './sensei/review-ask.js';
149
+ import { operation as o148 } from './sensei/review-context.js';
150
+ import { operation as o149 } from './sensei/sessions-assess.js';
151
+ import { operation as o150 } from './sensei/sessions-facts.js';
152
+ import { operation as o151 } from './sensei/suggest.js';
153
+ import { operation as o152 } from './sensei/thread-done.js';
154
+ import { operation as o153 } from './sensei/thread-move.js';
155
+ import { operation as o154 } from './sensei/thread-read.js';
156
+ import { operation as o155 } from './sensei/thread-split.js';
157
+ import { operation as o156 } from './sensei/threads.js';
158
+ import { operation as o157 } from './sensei/tickets-merge.js';
159
+ import { operation as o158 } from './sensei/widgets.js';
160
+ import { operation as o159 } from './sessions/activate.js';
161
+ import { operation as o160 } from './sessions/all.js';
162
+ import { operation as o161 } from './sessions/app-stack-start.js';
163
+ import { operation as o162 } from './sessions/artifacts-attach.js';
164
+ import { operation as o163 } from './sessions/artifacts-get.js';
165
+ import { operation as o164 } from './sessions/artifacts-list.js';
166
+ import { operation as o165 } from './sessions/create.js';
167
+ import { operation as o166 } from './sessions/delete.js';
168
+ import { operation as o167 } from './sessions/desktop.js';
169
+ import { operation as o168 } from './sessions/desktop-control.js';
170
+ import { operation as o169 } from './sessions/desktop-start.js';
171
+ import { operation as o170 } from './sessions/diff-comments-add.js';
172
+ import { operation as o171 } from './sessions/diff-comments-delete.js';
173
+ import { operation as o172 } from './sessions/diff-comments-list.js';
174
+ import { operation as o173 } from './sessions/diff-comments-update.js';
175
+ import { operation as o174 } from './sessions/diff-commits.js';
176
+ import { operation as o175 } from './sessions/diff-files.js';
177
+ import { operation as o176 } from './sessions/diff-patch.js';
178
+ import { operation as o177 } from './sessions/edit-prompt.js';
179
+ import { operation as o178 } from './sessions/files-get.js';
180
+ import { operation as o179 } from './sessions/files-list.js';
181
+ import { operation as o180 } from './sessions/files-write.js';
182
+ import { operation as o181 } from './sessions/get.js';
183
+ import { operation as o182 } from './sessions/git-commit.js';
184
+ import { operation as o183 } from './sessions/git-commit-message.js';
185
+ import { operation as o184 } from './sessions/git-push.js';
186
+ import { operation as o185 } from './sessions/git-state.js';
187
+ import { operation as o186 } from './sessions/go-ahead-clear.js';
188
+ import { operation as o187 } from './sessions/go-ahead-set.js';
189
+ import { operation as o188 } from './sessions/jobs-cancel.js';
190
+ import { operation as o189 } from './sessions/jobs-get.js';
191
+ import { operation as o190 } from './sessions/jobs-list.js';
192
+ import { operation as o191 } from './sessions/labels-edit.js';
193
+ import { operation as o192 } from './sessions/labels-set.js';
194
+ import { operation as o193 } from './sessions/list.js';
195
+ import { operation as o194 } from './sessions/mark-read.js';
196
+ import { operation as o195 } from './sessions/message.js';
197
+ import { operation as o196 } from './sessions/messages.js';
198
+ import { operation as o197 } from './sessions/needs-you.js';
199
+ import { operation as o198 } from './sessions/qa-clear.js';
200
+ import { operation as o199 } from './sessions/qa-set.js';
201
+ import { operation as o200 } from './sessions/queue-delete.js';
202
+ import { operation as o201 } from './sessions/queue-list.js';
203
+ import { operation as o202 } from './sessions/queue-move.js';
204
+ import { operation as o203 } from './sessions/queue-resume.js';
205
+ import { operation as o204 } from './sessions/queue-send.js';
206
+ import { operation as o205 } from './sessions/queue-steer.js';
207
+ import { operation as o206 } from './sessions/queue-update.js';
208
+ import { operation as o207 } from './sessions/runtime-command.js';
209
+ import { operation as o208 } from './sessions/search.js';
210
+ import { operation as o209 } from './sessions/send.js';
211
+ import { operation as o210 } from './sessions/steer.js';
212
+ import { operation as o211 } from './sessions/sync.js';
213
+ import { operation as o212 } from './sessions/title-generate.js';
214
+ import { operation as o213 } from './sessions/update.js';
215
+ import { operation as o214 } from './tasks/all.js';
216
+ import { operation as o215 } from './tasks/create.js';
217
+ import { operation as o216 } from './tasks/delete.js';
218
+ import { operation as o217 } from './tasks/get.js';
219
+ import { operation as o218 } from './tasks/labels.js';
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';
325
328
  export const operations = [
326
329
  o0,
327
330
  o1,
@@ -647,4 +650,7 @@ export const operations = [
647
650
  o321,
648
651
  o322,
649
652
  o323,
653
+ o324,
654
+ o325,
655
+ o326,
650
656
  ];
@@ -0,0 +1,30 @@
1
+ export const operation = {
2
+ "method": "post",
3
+ "path": "/api/projects/{projectId}/batch-merging/members",
4
+ "command": [
5
+ "projects",
6
+ "batch-merging",
7
+ "add-member"
8
+ ],
9
+ "summary": "The running Batch's own session only: record that the Batch carries a task's pull request, before closing it on GitHub. Its task then stays under review, is completed when the Batch merges, and gets its pull request reopened when the Batch ends without merging. Safe to repeat.",
10
+ "pathParams": [
11
+ "projectId"
12
+ ],
13
+ "query": [],
14
+ "body": {
15
+ "fields": [
16
+ {
17
+ "name": "pullRequest",
18
+ "flag": "pull-request",
19
+ "kind": "integer",
20
+ "required": true,
21
+ "description": "The task pull request the Batch carries and is about to close."
22
+ }
23
+ ],
24
+ "required": true
25
+ },
26
+ "multipart": null,
27
+ "attachments": false,
28
+ "anonymous": false,
29
+ "agents": "all"
30
+ };
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "labels",
7
7
  "color"
8
8
  ],
9
- "summary": "Recolor a Session Label. Sessions whose pull request carries it resync, which recolors the repository label on GitHub to match.",
9
+ "summary": "Recolor a Session Label. Session Labels stay in Kosuke: nothing is written to GitHub.",
10
10
  "pathParams": [
11
11
  "projectId"
12
12
  ],
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "labels",
7
7
  "delete"
8
8
  ],
9
- "summary": "Delete a Session Label from the project's catalog. A label sessions still carry is refused with 409 and the list of them unless removeFromSessions is true, which removes it from each of them and resyncs their pull requests; the repository label on GitHub stays. Deleting a name the project does not have, including one already deleted, answers 404.",
9
+ "summary": "Delete a Session Label from the project's catalog. A label sessions still carry is refused with 409 and the list of them unless removeFromSessions is true, which removes it from each of them. Deleting a name the project does not have, including one already deleted, answers 404.",
10
10
  "pathParams": [
11
11
  "projectId"
12
12
  ],
@@ -5,7 +5,7 @@ export const operation = {
5
5
  "sensei",
6
6
  "merge-rule"
7
7
  ],
8
- "summary": "Turn your Merge rule on or off. While it is on, every pull request of a Chat Session you are the Assignee of has your go-ahead to merge, as the `kosuke: merge` label you add gives one pull request: Kosuke merges each once it is approved and its checks pass. Changed only when you ask. Answers whether it is on now.",
8
+ "summary": "Turn your Merge rule on or off. While it is on, your Sensei gives the go-ahead to merge each pull request of a Chat Session you are the Assignee of once it is approved and its QA passed. Changed only when you ask. Answers whether it is on now.",
9
9
  "pathParams": [],
10
10
  "query": [],
11
11
  "body": {
@@ -5,7 +5,7 @@ export const operation = {
5
5
  "sensei",
6
6
  "merge"
7
7
  ],
8
- "summary": "Merge the pull request of any Chat Session in a workspace you belong to, as you on GitHub, whenever GitHub allows it: added to GitHub's merge queue where the base has one, updated first where GitHub requires an up-to-date branch, merged otherwise, pinned to the head read. GitHub alone decides: Kosuke adds no hold of its own on approvals, reviews, checks or a working session. Asking is your go-ahead: Kosuke puts the `kosuke: merge` label on it as you, so it merges later when GitHub refuses now. Answers the outcome, the head it decided on and why. Refused with the reason unless you have GitHub connected and the head is still `headSha` when given, and with GitHub's own reason when GitHub refuses the merge.",
8
+ "summary": "Merge the pull request of any Chat Session in a workspace you belong to, as you on GitHub, whenever GitHub allows it: added to GitHub's merge queue where the base has one, updated first where GitHub requires an up-to-date branch, merged otherwise, pinned to the head read. GitHub alone decides: Kosuke adds no hold of its own on approvals, reviews, checks or a working session. Asking is your go-ahead, recorded on the session for its member on the head read with Kosuke merging it, so it merges later when GitHub refuses now. A push to another head takes it away. Answers the outcome, the head it decided on and why. Refused with the reason unless you have GitHub connected and the head is still `headSha` when given, and with GitHub's own reason when GitHub refuses the merge.",
9
9
  "pathParams": [],
10
10
  "query": [],
11
11
  "body": {
@@ -5,7 +5,7 @@ export const operation = {
5
5
  "sessions",
6
6
  "all"
7
7
  ],
8
- "summary": "List chat sessions across every workspace you belong to, each with its workspace, project, URL and Needs You reason. q narrows them to titles containing it, ids to the sessions it names. With needsYou, at most 100, most severe first. An agent token reads its own workspace only. Each session carries waitingForDeploy: true while it waits for the Deploy to finish, false once the Deploy ends, before its sandbox starts.",
8
+ "summary": "List chat sessions across every workspace you belong to, each with its workspace, project, URL and Needs You reason. q narrows them to titles containing it, ids to the sessions it names. With needsYou, at most 100, most severe first. An agent token reads its own workspace only. Each session carries waitingForDeploy: true while it waits for the Deploy to finish, false once the Deploy ends, before its sandbox starts; goAheadSha and goAheadMerges, its go-ahead on its open pull request; and mergeRule, its Assignee's Merge rule.",
9
9
  "pathParams": [],
10
10
  "query": [
11
11
  {
@@ -0,0 +1,22 @@
1
+ export const operation = {
2
+ "method": "post",
3
+ "path": "/api/projects/{projectId}/chat-sessions/{sessionId}/go-ahead/clear",
4
+ "command": [
5
+ "sessions",
6
+ "go-ahead",
7
+ "clear"
8
+ ],
9
+ "summary": "Take the session's go-ahead away, so neither Kosuke nor a Batch merges its pull request until it is given again. The callers of `sessions go-ahead set`.",
10
+ "pathParams": [
11
+ "projectId",
12
+ "sessionId"
13
+ ],
14
+ "query": [],
15
+ "body": null,
16
+ "multipart": null,
17
+ "attachments": false,
18
+ "anonymous": false,
19
+ "agents": [
20
+ "senseiToken"
21
+ ]
22
+ };
@@ -0,0 +1,40 @@
1
+ export const operation = {
2
+ "method": "put",
3
+ "path": "/api/projects/{projectId}/chat-sessions/{sessionId}/go-ahead",
4
+ "command": [
5
+ "sessions",
6
+ "go-ahead",
7
+ "set"
8
+ ],
9
+ "summary": "Give the session's pull request the go-ahead to merge, as the session's member, on one head: goAheadSha, goAheadBy, goAheadAt and goAheadMerges. A push to another head takes it away. With `merge`, Kosuke merges it on its own; without, it waits for whoever merges it, and Batch Merging is asked to look. Members and their Sensei only.",
10
+ "pathParams": [
11
+ "projectId",
12
+ "sessionId"
13
+ ],
14
+ "query": [],
15
+ "body": {
16
+ "fields": [
17
+ {
18
+ "name": "sha",
19
+ "flag": "sha",
20
+ "kind": "string",
21
+ "required": false,
22
+ "description": "The head commit the go-ahead is given on. Defaults to the head the session last read from GitHub."
23
+ },
24
+ {
25
+ "name": "merge",
26
+ "flag": "merge",
27
+ "kind": "boolean",
28
+ "required": false,
29
+ "description": "Kosuke merges it on its own, now or once GitHub allows. Without it the pull request is left for whoever merges it, such as the next Batch."
30
+ }
31
+ ],
32
+ "required": true
33
+ },
34
+ "multipart": null,
35
+ "attachments": false,
36
+ "anonymous": false,
37
+ "agents": [
38
+ "senseiToken"
39
+ ]
40
+ };
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "labels",
7
7
  "edit"
8
8
  ],
9
- "summary": "Add and remove Session Labels, leaving the session's other labels as they are. color sets the initial project color only for newly created labels in add; existing label colors stay unchanged. A session token nobody stands behind may edit only its own session. A session with a pull request syncs them to it in the background while labelsSyncPending is true; one without gets them when its pull request opens.",
9
+ "summary": "Add and remove Session Labels, leaving the session's other labels as they are. color sets the initial project color only for newly created labels in add; existing label colors stay unchanged. A session token nobody stands behind may edit only its own session. Session Labels stay in Kosuke: none is written to the pull request.",
10
10
  "pathParams": [
11
11
  "projectId",
12
12
  "sessionId"
@@ -6,7 +6,7 @@ export const operation = {
6
6
  "labels",
7
7
  "set"
8
8
  ],
9
- "summary": "Replace the session's Session Labels. New names join the project's labels; a session with a pull request syncs them to it in the background while labelsSyncPending is true.",
9
+ "summary": "Replace the session's Session Labels. New names join the project's labels. Session Labels stay in Kosuke: none is written to the pull request.",
10
10
  "pathParams": [
11
11
  "projectId",
12
12
  "sessionId"
package/openapi.json CHANGED
@@ -447,7 +447,7 @@
447
447
  "/api/chat-sessions": {
448
448
  "get": {
449
449
  "operationId": "sessionsAll",
450
- "summary": "List chat sessions across every workspace you belong to, each with its workspace, project, URL and Needs You reason. q narrows them to titles containing it, ids to the sessions it names. With needsYou, at most 100, most severe first. An agent token reads its own workspace only. Each session carries waitingForDeploy: true while it waits for the Deploy to finish, false once the Deploy ends, before its sandbox starts.",
450
+ "summary": "List chat sessions across every workspace you belong to, each with its workspace, project, URL and Needs You reason. q narrows them to titles containing it, ids to the sessions it names. With needsYou, at most 100, most severe first. An agent token reads its own workspace only. Each session carries waitingForDeploy: true while it waits for the Deploy to finish, false once the Deploy ends, before its sandbox starts; goAheadSha and goAheadMerges, its go-ahead on its open pull request; and mergeRule, its Assignee's Merge rule.",
451
451
  "tags": ["sessions"],
452
452
  "x-kosuke-command": ["sessions", "all"],
453
453
  "x-kosuke-sandbox-token": true,
@@ -5595,6 +5595,7 @@
5595
5595
  "summary": "Read why a run of a cron ended as it did: its status, error, error code and stop source (member_stop, host_watch, deadline, replaced, sandbox_abort or runtime_error, with who stopped it), the sandbox it ran in and that sandbox's agent version, when each phase happened (queued, sandbox booted, credentials ready, agent requested, first event, done), the sandbox's own done payload, and the Cron Agent's log lines from the sandbox with secrets redacted. The log is capped at 256 KB and cleared after 30 days. The creator or a workspace admin only.",
5596
5596
  "tags": ["crons"],
5597
5597
  "x-kosuke-command": ["crons", "runs", "diagnostics"],
5598
+ "x-kosuke-sensei-token": true,
5598
5599
  "parameters": [
5599
5600
  {
5600
5601
  "name": "workspaceId",
@@ -10215,6 +10216,80 @@
10215
10216
  }
10216
10217
  }
10217
10218
  },
10219
+ "/api/projects/{projectId}/batch-merging/members": {
10220
+ "post": {
10221
+ "operationId": "projectsBatchMergingAddMember",
10222
+ "summary": "The running Batch's own session only: record that the Batch carries a task's pull request, before closing it on GitHub. Its task then stays under review, is completed when the Batch merges, and gets its pull request reopened when the Batch ends without merging. Safe to repeat.",
10223
+ "tags": ["projects"],
10224
+ "x-kosuke-command": ["projects", "batch-merging", "add-member"],
10225
+ "x-kosuke-sandbox-token": true,
10226
+ "x-kosuke-cron-token": true,
10227
+ "x-kosuke-sensei-token": true,
10228
+ "parameters": [
10229
+ {
10230
+ "name": "projectId",
10231
+ "in": "path",
10232
+ "required": true,
10233
+ "schema": {
10234
+ "type": "string",
10235
+ "format": "uuid",
10236
+ "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)$"
10237
+ }
10238
+ }
10239
+ ],
10240
+ "requestBody": {
10241
+ "required": true,
10242
+ "content": {
10243
+ "application/json": {
10244
+ "schema": {
10245
+ "type": "object",
10246
+ "properties": {
10247
+ "pullRequest": {
10248
+ "type": "integer",
10249
+ "exclusiveMinimum": 0,
10250
+ "maximum": 9007199254740991,
10251
+ "description": "The task pull request the Batch carries and is about to close."
10252
+ }
10253
+ },
10254
+ "required": ["pullRequest"]
10255
+ }
10256
+ }
10257
+ }
10258
+ },
10259
+ "responses": {
10260
+ "2XX": {
10261
+ "description": "Success envelope",
10262
+ "content": {
10263
+ "application/json": {
10264
+ "schema": {
10265
+ "$ref": "#/components/schemas/ApiSuccess"
10266
+ }
10267
+ }
10268
+ }
10269
+ },
10270
+ "4XX": {
10271
+ "description": "Error envelope",
10272
+ "content": {
10273
+ "application/json": {
10274
+ "schema": {
10275
+ "$ref": "#/components/schemas/ApiError"
10276
+ }
10277
+ }
10278
+ }
10279
+ },
10280
+ "5XX": {
10281
+ "description": "Error envelope",
10282
+ "content": {
10283
+ "application/json": {
10284
+ "schema": {
10285
+ "$ref": "#/components/schemas/ApiError"
10286
+ }
10287
+ }
10288
+ }
10289
+ }
10290
+ }
10291
+ }
10292
+ },
10218
10293
  "/api/projects/{projectId}/branches": {
10219
10294
  "get": {
10220
10295
  "operationId": "projectsBranches",
@@ -11495,6 +11570,153 @@
11495
11570
  }
11496
11571
  }
11497
11572
  },
11573
+ "/api/projects/{projectId}/chat-sessions/{sessionId}/go-ahead": {
11574
+ "put": {
11575
+ "operationId": "sessionsGoAheadSet",
11576
+ "summary": "Give the session's pull request the go-ahead to merge, as the session's member, on one head: goAheadSha, goAheadBy, goAheadAt and goAheadMerges. A push to another head takes it away. With `merge`, Kosuke merges it on its own; without, it waits for whoever merges it, and Batch Merging is asked to look. Members and their Sensei only.",
11577
+ "tags": ["sessions"],
11578
+ "x-kosuke-command": ["sessions", "go-ahead", "set"],
11579
+ "x-kosuke-sensei-token": true,
11580
+ "parameters": [
11581
+ {
11582
+ "name": "projectId",
11583
+ "in": "path",
11584
+ "required": true,
11585
+ "schema": {
11586
+ "type": "string",
11587
+ "format": "uuid",
11588
+ "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)$"
11589
+ }
11590
+ },
11591
+ {
11592
+ "name": "sessionId",
11593
+ "in": "path",
11594
+ "required": true,
11595
+ "schema": {
11596
+ "type": "string",
11597
+ "format": "uuid",
11598
+ "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)$"
11599
+ }
11600
+ }
11601
+ ],
11602
+ "requestBody": {
11603
+ "required": true,
11604
+ "content": {
11605
+ "application/json": {
11606
+ "schema": {
11607
+ "type": "object",
11608
+ "properties": {
11609
+ "sha": {
11610
+ "description": "The head commit the go-ahead is given on. Defaults to the head the session last read from GitHub.",
11611
+ "type": "string",
11612
+ "pattern": "^[0-9a-f]{40}$"
11613
+ },
11614
+ "merge": {
11615
+ "description": "Kosuke merges it on its own, now or once GitHub allows. Without it the pull request is left for whoever merges it, such as the next Batch.",
11616
+ "type": "boolean"
11617
+ }
11618
+ }
11619
+ }
11620
+ }
11621
+ }
11622
+ },
11623
+ "responses": {
11624
+ "2XX": {
11625
+ "description": "Success envelope",
11626
+ "content": {
11627
+ "application/json": {
11628
+ "schema": {
11629
+ "$ref": "#/components/schemas/ApiSuccess"
11630
+ }
11631
+ }
11632
+ }
11633
+ },
11634
+ "4XX": {
11635
+ "description": "Error envelope",
11636
+ "content": {
11637
+ "application/json": {
11638
+ "schema": {
11639
+ "$ref": "#/components/schemas/ApiError"
11640
+ }
11641
+ }
11642
+ }
11643
+ },
11644
+ "5XX": {
11645
+ "description": "Error envelope",
11646
+ "content": {
11647
+ "application/json": {
11648
+ "schema": {
11649
+ "$ref": "#/components/schemas/ApiError"
11650
+ }
11651
+ }
11652
+ }
11653
+ }
11654
+ }
11655
+ }
11656
+ },
11657
+ "/api/projects/{projectId}/chat-sessions/{sessionId}/go-ahead/clear": {
11658
+ "post": {
11659
+ "operationId": "sessionsGoAheadClear",
11660
+ "summary": "Take the session's go-ahead away, so neither Kosuke nor a Batch merges its pull request until it is given again. The callers of `sessions go-ahead set`.",
11661
+ "tags": ["sessions"],
11662
+ "x-kosuke-command": ["sessions", "go-ahead", "clear"],
11663
+ "x-kosuke-sensei-token": true,
11664
+ "parameters": [
11665
+ {
11666
+ "name": "projectId",
11667
+ "in": "path",
11668
+ "required": true,
11669
+ "schema": {
11670
+ "type": "string",
11671
+ "format": "uuid",
11672
+ "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)$"
11673
+ }
11674
+ },
11675
+ {
11676
+ "name": "sessionId",
11677
+ "in": "path",
11678
+ "required": true,
11679
+ "schema": {
11680
+ "type": "string",
11681
+ "format": "uuid",
11682
+ "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)$"
11683
+ }
11684
+ }
11685
+ ],
11686
+ "responses": {
11687
+ "2XX": {
11688
+ "description": "Success envelope",
11689
+ "content": {
11690
+ "application/json": {
11691
+ "schema": {
11692
+ "$ref": "#/components/schemas/ApiSuccess"
11693
+ }
11694
+ }
11695
+ }
11696
+ },
11697
+ "4XX": {
11698
+ "description": "Error envelope",
11699
+ "content": {
11700
+ "application/json": {
11701
+ "schema": {
11702
+ "$ref": "#/components/schemas/ApiError"
11703
+ }
11704
+ }
11705
+ }
11706
+ },
11707
+ "5XX": {
11708
+ "description": "Error envelope",
11709
+ "content": {
11710
+ "application/json": {
11711
+ "schema": {
11712
+ "$ref": "#/components/schemas/ApiError"
11713
+ }
11714
+ }
11715
+ }
11716
+ }
11717
+ }
11718
+ }
11719
+ },
11498
11720
  "/api/projects/{projectId}/chat-sessions/{sessionId}/jobs/chat": {
11499
11721
  "get": {
11500
11722
  "operationId": "sessionsJobsList",
@@ -11959,7 +12181,7 @@
11959
12181
  "/api/projects/{projectId}/chat-sessions/{sessionId}/labels": {
11960
12182
  "put": {
11961
12183
  "operationId": "sessionsLabelsSet",
11962
- "summary": "Replace the session's Session Labels. New names join the project's labels; a session with a pull request syncs them to it in the background while labelsSyncPending is true.",
12184
+ "summary": "Replace the session's Session Labels. New names join the project's labels. Session Labels stay in Kosuke: none is written to the pull request.",
11963
12185
  "tags": ["sessions"],
11964
12186
  "x-kosuke-command": ["sessions", "labels", "set"],
11965
12187
  "x-kosuke-sandbox-token": true,
@@ -12068,7 +12290,7 @@
12068
12290
  },
12069
12291
  "patch": {
12070
12292
  "operationId": "sessionsLabelsEdit",
12071
- "summary": "Add and remove Session Labels, leaving the session's other labels as they are. color sets the initial project color only for newly created labels in add; existing label colors stay unchanged. A session token nobody stands behind may edit only its own session. A session with a pull request syncs them to it in the background while labelsSyncPending is true; one without gets them when its pull request opens.",
12293
+ "summary": "Add and remove Session Labels, leaving the session's other labels as they are. color sets the initial project color only for newly created labels in add; existing label colors stay unchanged. A session token nobody stands behind may edit only its own session. Session Labels stay in Kosuke: none is written to the pull request.",
12072
12294
  "tags": ["sessions"],
12073
12295
  "x-kosuke-command": ["sessions", "labels", "edit"],
12074
12296
  "x-kosuke-sandbox-token": true,
@@ -15083,7 +15305,7 @@
15083
15305
  },
15084
15306
  "patch": {
15085
15307
  "operationId": "projectsLabelsColor",
15086
- "summary": "Recolor a Session Label. Sessions whose pull request carries it resync, which recolors the repository label on GitHub to match.",
15308
+ "summary": "Recolor a Session Label. Session Labels stay in Kosuke: nothing is written to GitHub.",
15087
15309
  "tags": ["projects"],
15088
15310
  "x-kosuke-command": ["projects", "labels", "color"],
15089
15311
  "x-kosuke-sandbox-token": true,
@@ -15160,7 +15382,7 @@
15160
15382
  },
15161
15383
  "delete": {
15162
15384
  "operationId": "projectsLabelsDelete",
15163
- "summary": "Delete a Session Label from the project's catalog. A label sessions still carry is refused with 409 and the list of them unless removeFromSessions is true, which removes it from each of them and resyncs their pull requests; the repository label on GitHub stays. Deleting a name the project does not have, including one already deleted, answers 404.",
15385
+ "summary": "Delete a Session Label from the project's catalog. A label sessions still carry is refused with 409 and the list of them unless removeFromSessions is true, which removes it from each of them. Deleting a name the project does not have, including one already deleted, answers 404.",
15164
15386
  "tags": ["projects"],
15165
15387
  "x-kosuke-command": ["projects", "labels", "delete"],
15166
15388
  "parameters": [
@@ -20695,7 +20917,7 @@
20695
20917
  "/api/sensei/merge": {
20696
20918
  "post": {
20697
20919
  "operationId": "senseiMerge",
20698
- "summary": "Merge the pull request of any Chat Session in a workspace you belong to, as you on GitHub, whenever GitHub allows it: added to GitHub's merge queue where the base has one, updated first where GitHub requires an up-to-date branch, merged otherwise, pinned to the head read. GitHub alone decides: Kosuke adds no hold of its own on approvals, reviews, checks or a working session. Asking is your go-ahead: Kosuke puts the `kosuke: merge` label on it as you, so it merges later when GitHub refuses now. Answers the outcome, the head it decided on and why. Refused with the reason unless you have GitHub connected and the head is still `headSha` when given, and with GitHub's own reason when GitHub refuses the merge.",
20920
+ "summary": "Merge the pull request of any Chat Session in a workspace you belong to, as you on GitHub, whenever GitHub allows it: added to GitHub's merge queue where the base has one, updated first where GitHub requires an up-to-date branch, merged otherwise, pinned to the head read. GitHub alone decides: Kosuke adds no hold of its own on approvals, reviews, checks or a working session. Asking is your go-ahead, recorded on the session for its member on the head read with Kosuke merging it, so it merges later when GitHub refuses now. A push to another head takes it away. Answers the outcome, the head it decided on and why. Refused with the reason unless you have GitHub connected and the head is still `headSha` when given, and with GitHub's own reason when GitHub refuses the merge.",
20699
20921
  "tags": ["sensei"],
20700
20922
  "x-kosuke-command": ["sensei", "merge"],
20701
20923
  "x-kosuke-sensei-token": true,
@@ -20760,7 +20982,7 @@
20760
20982
  "/api/sensei/merge-rule": {
20761
20983
  "put": {
20762
20984
  "operationId": "senseiMergeRule",
20763
- "summary": "Turn your Merge rule on or off. While it is on, every pull request of a Chat Session you are the Assignee of has your go-ahead to merge, as the `kosuke: merge` label you add gives one pull request: Kosuke merges each once it is approved and its checks pass. Changed only when you ask. Answers whether it is on now.",
20985
+ "summary": "Turn your Merge rule on or off. While it is on, your Sensei gives the go-ahead to merge each pull request of a Chat Session you are the Assignee of once it is approved and its QA passed. Changed only when you ask. Answers whether it is on now.",
20764
20986
  "tags": ["sensei"],
20765
20987
  "x-kosuke-command": ["sensei", "merge-rule"],
20766
20988
  "x-kosuke-sensei-token": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kosuke-ai/kosuke",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
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,67 +40,10 @@
40
40
  "vitest": "^4.1.12"
41
41
  },
42
42
  "kosukeRelease": {
43
- "sourceCommit": "7ba47e4e25d8c1580a5e5be66d08a9c8b835aade",
44
- "sourceIdentity": "7f7781c507d973e0e0f8898f8003043109e1a2eb2102c75a99ed8cd956cf4267",
43
+ "sourceCommit": "a401caae6a48d69fd2acd7e04db48dc4ce06b9eb",
44
+ "sourceIdentity": "eb93b14c93ce5a92af2942da6bc275726c8ed17380897aa8b69c2145b6d02582",
45
45
  "fragments": [
46
- "publish-time-versions.json",
47
- "setup-runs-gg3f94.json",
48
- "personal-tasks-e01pq6.json",
49
- "personal-files-hpje7f.json",
50
- "remove-slack-bot-69ey2q.json",
51
- "explicit-sensei-routing.json",
52
- "task-overview-web-only-u9z2dy.json",
53
- "chrome-sign-in-reuse-20xvu9.json",
54
- "tasks-archive-and-repository-bzacid.json",
55
- "platform-command-search-3xkgca.json",
56
- "next-turn-model-c7f3a1.json",
57
- "personal-task-start-qs4x81.json",
58
- "personal-crons-cli-tco6eb.json",
59
- "remove-task-comments.json",
60
- "task-start-prompt.json",
61
- "subscription-pools-twenty-445tv2.json",
62
- "app-stack-start-state-q8m3vd.json",
63
- "remove-build-macs-r4k8vz.json",
64
- "sandbox-size-app-stack-t7q2mx.json",
65
- "session-devices-cli-k7q2wd.json",
66
- "reels-time-order-hg188c.json",
67
- "restore-main-sandbox-r7k2qd.json",
68
- "sensei-device-requests-lwi9jm.json",
69
- "remediate-cli-dependency-advisories-pf2hbx.json",
70
- "browser-connections-61kop8.json",
71
- "cli-integrations-call-wait-text-61kop8.json",
72
- "member-directory-yhpp82.json",
73
- "sensei-delegates-cli-k7d2qp.json",
74
- "sensei-thread-handoff-l2p9e0.json",
75
- "token-usage-commands-dvg19i.json",
76
- "sensei-threads-list-r7k2pd.json",
77
- "crons-without-repositories.json",
78
- "personal-cron-repositories-api.json",
79
- "task-label-filters-a7d83e.json",
80
- "personal-crons-free-njkyqn.json",
81
- "personal-free-source-choice.json",
82
- "cli-attachment-limits-from-server-4d9jx0.json",
83
- "xlarge-32gb-pexslk.json",
84
- "remove-sensei-main-chat-r7m2c4.json",
85
- "incoming-message-card-actions-f94ghc.json",
86
- "incoming-message-card-covers-f94ghc.json",
87
- "personal-message-watching-f94ghc.json",
88
- "sign-in-watch-every-site-0q7zuw.json",
89
- "batch-merging-cli-7k2p9w.json",
90
- "batch-merging-merge-commits-4hq8tz.json",
91
- "unify-sensei-messages.json",
92
- "sensei-job-result-cards-cs856o.json",
93
- "sessions-qa-cli-r4m8x2.json",
94
- "providers-everywhere-cku2kx.json",
95
- "session-deploy-wait-state.json",
96
- "cron-report-to-r7k2qd.json",
97
- "workspace-default-auto-fl0z1h.json",
98
- "sensei-merge-any-member-b8k4qz.json",
99
- "sensei-notifications-connect-jtsgzr.json",
100
- "whatsapp-reply-card-approval-jtsgzr.json",
101
- "sensei-job-names-6t98hq.json",
102
- "publish-cli-as-kosuke-ai-kosuke-5wkgsv.json",
103
- "phone-integration-availability-k2.json"
46
+ "go-ahead-review-batch-members-r5n2kx.json"
104
47
  ]
105
48
  }
106
49
  }