@kammcs/buildit-mcp 0.2.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/README.md +273 -32
  3. package/SECURITY.md +1 -1
  4. package/dist/api/client.js +5 -1
  5. package/dist/api/generated/operations.js +840 -11
  6. package/dist/api/generated/schemas.js +936 -3
  7. package/dist/api/generated/strict.js +1088 -3
  8. package/dist/capabilities.js +236 -0
  9. package/dist/channel/api.js +159 -0
  10. package/dist/channel/approvals.js +259 -0
  11. package/dist/channel/handoffs.js +190 -0
  12. package/dist/channel/item-events.js +164 -0
  13. package/dist/channel/lock.js +181 -0
  14. package/dist/channel/loop.js +1034 -0
  15. package/dist/channel/mask.js +365 -0
  16. package/dist/channel/threads.js +60 -0
  17. package/dist/channel/tool-ring.js +124 -0
  18. package/dist/channel/typing.js +150 -0
  19. package/dist/channel/waiters.js +229 -0
  20. package/dist/channel/workers.js +66 -0
  21. package/dist/cli/claude-config.js +100 -0
  22. package/dist/cli/commands.js +438 -0
  23. package/dist/config.js +356 -6
  24. package/dist/errors.js +49 -1
  25. package/dist/index.js +122 -6
  26. package/dist/log.js +3 -2
  27. package/dist/secrets/keychain.js +273 -0
  28. package/dist/server.js +61 -5
  29. package/dist/tools/approve.js +791 -0
  30. package/dist/tools/ask.js +898 -0
  31. package/dist/tools/chat.js +98 -1
  32. package/dist/tools/handoff.js +409 -0
  33. package/dist/tools/items-read.js +6 -3
  34. package/dist/tools/items-write.js +77 -16
  35. package/dist/tools/plans.js +221 -14
  36. package/dist/tools/reply.js +138 -0
  37. package/dist/tools/shared.js +24 -1
  38. package/dist/tools/threads.js +149 -0
  39. package/dist/tools/whoami.js +53 -3
  40. package/dist/toolsets/catalog.js +3 -1
  41. package/dist/toolsets/registry.js +2 -0
  42. package/dist/transports/stdio.js +288 -12
  43. package/package.json +5 -1
@@ -2,12 +2,12 @@
2
2
  * The agent API's operations, scopes and error codes, as the contract declares them.
3
3
  *
4
4
  * GENERATED by scripts/generate.ts from openapi/openapi.json (agent API
5
- * 1.2.0). Do not edit: change the contract, then run
5
+ * 1.9.0). Do not edit: change the contract, then run
6
6
  * `npm run generate`.
7
7
  */
8
8
  import * as S from './schemas.js';
9
9
  /** The contract's API version. */
10
- export const API_VERSION = '1.2.0';
10
+ export const API_VERSION = '1.9.0';
11
11
  /** Token scopes, in the contract's order. */
12
12
  export const SCOPES = [
13
13
  'projects:read',
@@ -61,12 +61,38 @@ export const ERROR_STATUS = {
61
61
  unavailable: 503,
62
62
  release_archived: 409,
63
63
  release_not_released: 409,
64
+ session_token_required: 403,
65
+ agent_sessions_off: 403,
66
+ authorization_pending: 400,
67
+ slow_down: 400,
68
+ access_denied: 400,
69
+ expired_token: 400,
70
+ thread_other_session: 409,
71
+ card_invalid: 422,
72
+ card_closed: 409,
73
+ response_changed: 409,
74
+ not_own_message: 403,
75
+ plan_awaits_owner: 409,
76
+ plan_card_exists: 409,
77
+ plan_card_required: 409,
78
+ thread_not_bound: 403,
79
+ thread_required: 422,
80
+ outside_reach: 403,
81
+ plan_outside_thread: 422,
82
+ approvals_off: 403,
83
+ too_many_open: 409,
84
+ handoffs_off: 403,
85
+ not_parent_session: 403,
86
+ handoff_not_allowed: 409,
87
+ handoff_exists: 409,
88
+ no_target: 409,
89
+ handoff_closed: 409,
64
90
  };
65
91
  /** Each error code's stable next step, as the contract words it. The API sends it as the error's hint; this copy serves when an older API doesn't. */
66
92
  export const ERROR_HINTS = {
67
93
  bad_request: 'Send a JSON body with Content-Type: application/json, and check the path and query.',
68
- token_invalid: 'Check the Authorization header: Bearer, then the whole buildit_pat_ token.',
69
- token_expired: 'Ask the user to create a new token in buildIt.Social (Settings → Agent tokens).',
94
+ token_invalid: 'Check the Authorization header: Bearer, then the whole buildit_pat_ or buildit_ags_ token.',
95
+ token_expired: 'Ask the user to create a new token in buildIt.Social (Settings → Agent tokens), or connect the session again.',
70
96
  token_revoked: 'Ask the user to create a new token in buildIt.Social (Settings → Agent tokens), if they still have access.',
71
97
  token_suspended: "Ask an org admin to reactivate the user's membership; the token then works again.",
72
98
  agent_access_off: 'Ask an org owner or admin to turn on Agent access (Settings → the org → Integrations); tokens then work again.',
@@ -95,6 +121,32 @@ export const ERROR_HINTS = {
95
121
  unavailable: 'Retry in a minute.',
96
122
  release_archived: 'Restore the release with restore_release, then retry.',
97
123
  release_not_released: 'Leave released_on out, or release it with release_version, which takes released_on.',
124
+ session_token_required: "Use the session token that connecting a session gave; a personal access token can't.",
125
+ agent_sessions_off: 'Ask an org owner or admin to turn agents in the app back on (Settings → the org → Integrations → Agent access).',
126
+ authorization_pending: 'Poll again after details.interval seconds.',
127
+ slow_down: 'Wait details.interval seconds between polls from now on.',
128
+ access_denied: 'Stop polling; start a new connection only if the user asks for one.',
129
+ expired_token: 'Start again with connect_start and show the user the new code.',
130
+ thread_other_session: 'Reply in a thread of this session, or post a new top-level message.',
131
+ card_invalid: 'Fix each element in details.errors, then retry.',
132
+ card_closed: 'The card takes no more answers; post a new one if you still need an answer.',
133
+ response_changed: 'Wait for the next card.response and answer its revision.',
134
+ not_own_message: "Change, close or answer only this session's own question cards.",
135
+ plan_awaits_owner: 'Wait for the person to apply or cancel the plan in buildIt.Social.',
136
+ plan_card_exists: "Wait for the person's answer on the plan's card, or propose a new plan.",
137
+ plan_card_required: 'Post the plan as a card with post_plan_card; the person applies it there.',
138
+ thread_not_bound: "Reply in a thread this session's events came from; only the person can assign it items.",
139
+ thread_required: "Send thread_id (the item's id), or post in the direct message instead.",
140
+ outside_reach: 'Stop work on that item; the person can connect a session that reaches its project.',
141
+ plan_outside_thread: "Post the plan's card in the direct message, or keep the plan to the thread's project.",
142
+ approvals_off: "Ask in the terminal; don't retry until the person turns tool approvals back on.",
143
+ too_many_open: 'Close the tool approvals or handoff proposals that no longer need an answer, or ask in the terminal.',
144
+ handoffs_off: "Do the work in this session, or ask the person; don't retry until handoffs are back on.",
145
+ not_parent_session: 'Create the subtask under the item this session works on, then propose that subtask.',
146
+ handoff_not_allowed: "Fix what details.reason names (set the subtask's Needs, say), or ask the person.",
147
+ handoff_exists: 'Read the existing handoff (details.handoff_id) with get_session_handoff instead.',
148
+ no_target: 'Ask the person to connect a session for this project, or do the work here.',
149
+ handoff_closed: 'Read the handoff with get_session_handoff; it needs nothing more from this session.',
98
150
  };
99
151
  /** Every scope each plan action needs, all of them (the operations whose scope is 'plan_action' check them). */
100
152
  export const PLAN_SCOPES = {
@@ -109,6 +161,34 @@ export const PLAN_SCOPES = {
109
161
  };
110
162
  /** Every operation of the contract, by operationId. */
111
163
  export const OPERATIONS = {
164
+ ack_session_events: {
165
+ method: 'POST',
166
+ path: '/v1/session/events/ack',
167
+ pathParams: [],
168
+ arrayQueryParams: [],
169
+ scope: null,
170
+ requiredScopes: [],
171
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
172
+ errors: [
173
+ 'bad_request',
174
+ 'token_invalid',
175
+ 'token_expired',
176
+ 'token_revoked',
177
+ 'token_suspended',
178
+ 'agent_access_off',
179
+ 'body_too_large',
180
+ 'validation',
181
+ 'rate_limited',
182
+ 'internal',
183
+ 'unavailable',
184
+ 'session_token_required',
185
+ 'agent_sessions_off',
186
+ ],
187
+ hasBody: true,
188
+ statuses: [200],
189
+ discovery: false,
190
+ response: S.AckSessionEventsResponseSchema,
191
+ },
112
192
  add_comment: {
113
193
  method: 'POST',
114
194
  path: '/v1/items/{key}/comments',
@@ -138,6 +218,7 @@ export const OPERATIONS = {
138
218
  'rate_limited',
139
219
  'internal',
140
220
  'unavailable',
221
+ 'agent_sessions_off',
141
222
  ],
142
223
  hasBody: true,
143
224
  statuses: [200, 201],
@@ -172,6 +253,7 @@ export const OPERATIONS = {
172
253
  'rate_limited',
173
254
  'internal',
174
255
  'unavailable',
256
+ 'agent_sessions_off',
175
257
  ],
176
258
  hasBody: true,
177
259
  statuses: [200, 201],
@@ -206,6 +288,7 @@ export const OPERATIONS = {
206
288
  'rate_limited',
207
289
  'internal',
208
290
  'unavailable',
291
+ 'agent_sessions_off',
209
292
  ],
210
293
  hasBody: true,
211
294
  statuses: [200],
@@ -240,12 +323,47 @@ export const OPERATIONS = {
240
323
  'rate_limited',
241
324
  'internal',
242
325
  'unavailable',
326
+ 'agent_sessions_off',
243
327
  ],
244
328
  hasBody: true,
245
329
  statuses: [200],
246
330
  discovery: false,
247
331
  response: S.SprintItemsResponseSchema,
248
332
  },
333
+ answer_session_response: {
334
+ method: 'PATCH',
335
+ path: '/v1/session/responses/{id}',
336
+ pathParams: ['id'],
337
+ arrayQueryParams: [],
338
+ scope: null,
339
+ requiredScopes: [],
340
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
341
+ errors: [
342
+ 'bad_request',
343
+ 'token_invalid',
344
+ 'token_expired',
345
+ 'token_revoked',
346
+ 'token_suspended',
347
+ 'agent_access_off',
348
+ 'forbidden',
349
+ 'not_found',
350
+ 'body_too_large',
351
+ 'validation',
352
+ 'rate_limited',
353
+ 'internal',
354
+ 'unavailable',
355
+ 'session_token_required',
356
+ 'agent_sessions_off',
357
+ 'card_closed',
358
+ 'response_changed',
359
+ 'not_own_message',
360
+ 'outside_reach',
361
+ ],
362
+ hasBody: true,
363
+ statuses: [200],
364
+ discovery: false,
365
+ response: S.AnswerSessionResponseResponseSchema,
366
+ },
249
367
  apply_plan: {
250
368
  method: 'POST',
251
369
  path: '/v1/plans/{handle}/apply',
@@ -279,6 +397,9 @@ export const OPERATIONS = {
279
397
  'rate_limited',
280
398
  'internal',
281
399
  'unavailable',
400
+ 'agent_sessions_off',
401
+ 'plan_awaits_owner',
402
+ 'plan_card_required',
282
403
  ],
283
404
  hasBody: true,
284
405
  statuses: [200],
@@ -312,12 +433,105 @@ export const OPERATIONS = {
312
433
  'rate_limited',
313
434
  'internal',
314
435
  'unavailable',
436
+ 'agent_sessions_off',
315
437
  ],
316
438
  hasBody: false,
317
439
  statuses: [200],
318
440
  discovery: false,
319
441
  response: S.ReleaseResponseSchema,
320
442
  },
443
+ close_session_approval: {
444
+ method: 'POST',
445
+ path: '/v1/session/approvals/{id}/close',
446
+ pathParams: ['id'],
447
+ arrayQueryParams: [],
448
+ scope: null,
449
+ requiredScopes: [],
450
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
451
+ errors: [
452
+ 'bad_request',
453
+ 'token_invalid',
454
+ 'token_expired',
455
+ 'token_revoked',
456
+ 'token_suspended',
457
+ 'agent_access_off',
458
+ 'not_found',
459
+ 'body_too_large',
460
+ 'validation',
461
+ 'rate_limited',
462
+ 'internal',
463
+ 'unavailable',
464
+ 'session_token_required',
465
+ 'agent_sessions_off',
466
+ ],
467
+ hasBody: true,
468
+ statuses: [200],
469
+ discovery: false,
470
+ response: S.CloseSessionApprovalResponseSchema,
471
+ },
472
+ close_session_card: {
473
+ method: 'POST',
474
+ path: '/v1/session/messages/{id}/card/close',
475
+ pathParams: ['id'],
476
+ arrayQueryParams: [],
477
+ scope: null,
478
+ requiredScopes: [],
479
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
480
+ errors: [
481
+ 'bad_request',
482
+ 'token_invalid',
483
+ 'token_expired',
484
+ 'token_revoked',
485
+ 'token_suspended',
486
+ 'agent_access_off',
487
+ 'forbidden',
488
+ 'not_found',
489
+ 'body_too_large',
490
+ 'validation',
491
+ 'rate_limited',
492
+ 'internal',
493
+ 'unavailable',
494
+ 'session_token_required',
495
+ 'agent_sessions_off',
496
+ 'card_closed',
497
+ 'not_own_message',
498
+ 'outside_reach',
499
+ ],
500
+ hasBody: true,
501
+ statuses: [200],
502
+ discovery: false,
503
+ response: S.CloseSessionCardResponseSchema,
504
+ },
505
+ close_session_handoff: {
506
+ method: 'POST',
507
+ path: '/v1/session/handoffs/{id}/close',
508
+ pathParams: ['id'],
509
+ arrayQueryParams: [],
510
+ scope: null,
511
+ requiredScopes: [],
512
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
513
+ errors: [
514
+ 'bad_request',
515
+ 'token_invalid',
516
+ 'token_expired',
517
+ 'token_revoked',
518
+ 'token_suspended',
519
+ 'agent_access_off',
520
+ 'not_found',
521
+ 'body_too_large',
522
+ 'validation',
523
+ 'rate_limited',
524
+ 'internal',
525
+ 'unavailable',
526
+ 'session_token_required',
527
+ 'agent_sessions_off',
528
+ 'handoff_closed',
529
+ ],
530
+ hasBody: true,
531
+ statuses: [200],
532
+ discovery: false,
533
+ response: S.SessionHandoffResponseSchema,
534
+ },
321
535
  complete_sprint: {
322
536
  method: 'POST',
323
537
  path: '/v1/projects/{key}/sprints/{sprint}/complete',
@@ -346,12 +560,59 @@ export const OPERATIONS = {
346
560
  'rate_limited',
347
561
  'internal',
348
562
  'unavailable',
563
+ 'agent_sessions_off',
349
564
  ],
350
565
  hasBody: true,
351
566
  statuses: [200],
352
567
  discovery: false,
353
568
  response: S.CompleteSprintResponseSchema,
354
569
  },
570
+ connect_poll: {
571
+ method: 'POST',
572
+ path: '/v1/connect/poll',
573
+ pathParams: [],
574
+ arrayQueryParams: [],
575
+ scope: null,
576
+ requiredScopes: [],
577
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
578
+ errors: [
579
+ 'bad_request',
580
+ 'body_too_large',
581
+ 'validation',
582
+ 'rate_limited',
583
+ 'internal',
584
+ 'unavailable',
585
+ 'authorization_pending',
586
+ 'slow_down',
587
+ 'access_denied',
588
+ 'expired_token',
589
+ ],
590
+ hasBody: true,
591
+ statuses: [200],
592
+ discovery: true,
593
+ response: S.ConnectPollResponseSchema,
594
+ },
595
+ connect_start: {
596
+ method: 'POST',
597
+ path: '/v1/connect/start',
598
+ pathParams: [],
599
+ arrayQueryParams: [],
600
+ scope: null,
601
+ requiredScopes: [],
602
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
603
+ errors: [
604
+ 'bad_request',
605
+ 'body_too_large',
606
+ 'validation',
607
+ 'rate_limited',
608
+ 'internal',
609
+ 'unavailable',
610
+ ],
611
+ hasBody: true,
612
+ statuses: [201],
613
+ discovery: true,
614
+ response: S.ConnectStartResponseSchema,
615
+ },
355
616
  create_channel: {
356
617
  method: 'POST',
357
618
  path: '/v1/channels',
@@ -378,6 +639,7 @@ export const OPERATIONS = {
378
639
  'rate_limited',
379
640
  'internal',
380
641
  'unavailable',
642
+ 'agent_sessions_off',
381
643
  ],
382
644
  hasBody: true,
383
645
  statuses: [200, 201],
@@ -416,6 +678,7 @@ export const OPERATIONS = {
416
678
  'rate_limited',
417
679
  'internal',
418
680
  'unavailable',
681
+ 'agent_sessions_off',
419
682
  ],
420
683
  hasBody: true,
421
684
  statuses: [200, 201],
@@ -450,6 +713,7 @@ export const OPERATIONS = {
450
713
  'rate_limited',
451
714
  'internal',
452
715
  'unavailable',
716
+ 'agent_sessions_off',
453
717
  ],
454
718
  hasBody: true,
455
719
  statuses: [200, 201],
@@ -486,6 +750,7 @@ export const OPERATIONS = {
486
750
  'rate_limited',
487
751
  'internal',
488
752
  'unavailable',
753
+ 'agent_sessions_off',
489
754
  ],
490
755
  hasBody: true,
491
756
  statuses: [201],
@@ -520,6 +785,7 @@ export const OPERATIONS = {
520
785
  'rate_limited',
521
786
  'internal',
522
787
  'unavailable',
788
+ 'agent_sessions_off',
523
789
  ],
524
790
  hasBody: true,
525
791
  statuses: [200, 201],
@@ -554,6 +820,7 @@ export const OPERATIONS = {
554
820
  'rate_limited',
555
821
  'internal',
556
822
  'unavailable',
823
+ 'agent_sessions_off',
557
824
  ],
558
825
  hasBody: true,
559
826
  statuses: [201],
@@ -588,12 +855,48 @@ export const OPERATIONS = {
588
855
  'rate_limited',
589
856
  'internal',
590
857
  'unavailable',
858
+ 'agent_sessions_off',
591
859
  ],
592
860
  hasBody: true,
593
861
  statuses: [201],
594
862
  discovery: false,
595
863
  response: S.SprintResponseSchema,
596
864
  },
865
+ decline_session_handoff: {
866
+ method: 'POST',
867
+ path: '/v1/session/handoffs/{id}/decline',
868
+ pathParams: ['id'],
869
+ arrayQueryParams: [],
870
+ scope: null,
871
+ requiredScopes: [],
872
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
873
+ errors: [
874
+ 'bad_request',
875
+ 'token_invalid',
876
+ 'token_expired',
877
+ 'token_revoked',
878
+ 'token_suspended',
879
+ 'agent_access_off',
880
+ 'forbidden',
881
+ 'archived',
882
+ 'not_found',
883
+ 'body_too_large',
884
+ 'validation',
885
+ 'rate_limited',
886
+ 'internal',
887
+ 'unavailable',
888
+ 'session_token_required',
889
+ 'agent_sessions_off',
890
+ 'thread_other_session',
891
+ 'thread_not_bound',
892
+ 'outside_reach',
893
+ 'handoff_closed',
894
+ ],
895
+ hasBody: true,
896
+ statuses: [200],
897
+ discovery: false,
898
+ response: S.SessionHandoffResponseSchema,
899
+ },
597
900
  describe_project: {
598
901
  method: 'GET',
599
902
  path: '/v1/projects/{key}',
@@ -617,6 +920,7 @@ export const OPERATIONS = {
617
920
  'rate_limited',
618
921
  'internal',
619
922
  'unavailable',
923
+ 'agent_sessions_off',
620
924
  ],
621
925
  hasBody: false,
622
926
  statuses: [200],
@@ -651,6 +955,7 @@ export const OPERATIONS = {
651
955
  'rate_limited',
652
956
  'internal',
653
957
  'unavailable',
958
+ 'agent_sessions_off',
654
959
  ],
655
960
  hasBody: true,
656
961
  statuses: [200],
@@ -680,6 +985,7 @@ export const OPERATIONS = {
680
985
  'rate_limited',
681
986
  'internal',
682
987
  'unavailable',
988
+ 'agent_sessions_off',
683
989
  ],
684
990
  hasBody: false,
685
991
  statuses: [200],
@@ -709,6 +1015,7 @@ export const OPERATIONS = {
709
1015
  'rate_limited',
710
1016
  'internal',
711
1017
  'unavailable',
1018
+ 'agent_sessions_off',
712
1019
  ],
713
1020
  hasBody: false,
714
1021
  statuses: [200],
@@ -733,6 +1040,7 @@ export const OPERATIONS = {
733
1040
  'rate_limited',
734
1041
  'internal',
735
1042
  'unavailable',
1043
+ 'agent_sessions_off',
736
1044
  ],
737
1045
  hasBody: false,
738
1046
  statuses: [200],
@@ -757,6 +1065,7 @@ export const OPERATIONS = {
757
1065
  'rate_limited',
758
1066
  'internal',
759
1067
  'unavailable',
1068
+ 'agent_sessions_off',
760
1069
  ],
761
1070
  hasBody: false,
762
1071
  statuses: [200],
@@ -785,12 +1094,95 @@ export const OPERATIONS = {
785
1094
  'rate_limited',
786
1095
  'internal',
787
1096
  'unavailable',
1097
+ 'agent_sessions_off',
788
1098
  ],
789
1099
  hasBody: false,
790
1100
  statuses: [200],
791
1101
  discovery: false,
792
1102
  response: S.PageResponseSchema,
793
1103
  },
1104
+ get_session: {
1105
+ method: 'GET',
1106
+ path: '/v1/session',
1107
+ pathParams: [],
1108
+ arrayQueryParams: [],
1109
+ scope: null,
1110
+ requiredScopes: [],
1111
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1112
+ errors: [
1113
+ 'bad_request',
1114
+ 'token_invalid',
1115
+ 'token_expired',
1116
+ 'token_revoked',
1117
+ 'token_suspended',
1118
+ 'agent_access_off',
1119
+ 'rate_limited',
1120
+ 'internal',
1121
+ 'unavailable',
1122
+ 'session_token_required',
1123
+ 'agent_sessions_off',
1124
+ ],
1125
+ hasBody: false,
1126
+ statuses: [200],
1127
+ discovery: false,
1128
+ response: S.SessionResponseSchema,
1129
+ },
1130
+ get_session_approval: {
1131
+ method: 'GET',
1132
+ path: '/v1/session/approvals/{id}',
1133
+ pathParams: ['id'],
1134
+ arrayQueryParams: [],
1135
+ scope: null,
1136
+ requiredScopes: [],
1137
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1138
+ errors: [
1139
+ 'bad_request',
1140
+ 'token_invalid',
1141
+ 'token_expired',
1142
+ 'token_revoked',
1143
+ 'token_suspended',
1144
+ 'agent_access_off',
1145
+ 'not_found',
1146
+ 'validation',
1147
+ 'rate_limited',
1148
+ 'internal',
1149
+ 'unavailable',
1150
+ 'session_token_required',
1151
+ 'agent_sessions_off',
1152
+ ],
1153
+ hasBody: false,
1154
+ statuses: [200],
1155
+ discovery: false,
1156
+ response: S.GetSessionApprovalResponseSchema,
1157
+ },
1158
+ get_session_handoff: {
1159
+ method: 'GET',
1160
+ path: '/v1/session/handoffs/{id}',
1161
+ pathParams: ['id'],
1162
+ arrayQueryParams: [],
1163
+ scope: null,
1164
+ requiredScopes: [],
1165
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1166
+ errors: [
1167
+ 'bad_request',
1168
+ 'token_invalid',
1169
+ 'token_expired',
1170
+ 'token_revoked',
1171
+ 'token_suspended',
1172
+ 'agent_access_off',
1173
+ 'not_found',
1174
+ 'validation',
1175
+ 'rate_limited',
1176
+ 'internal',
1177
+ 'unavailable',
1178
+ 'session_token_required',
1179
+ 'agent_sessions_off',
1180
+ ],
1181
+ hasBody: false,
1182
+ statuses: [200],
1183
+ discovery: false,
1184
+ response: S.SessionHandoffResponseSchema,
1185
+ },
794
1186
  get_thread: {
795
1187
  method: 'GET',
796
1188
  path: '/v1/messages/{id}/thread',
@@ -813,6 +1205,7 @@ export const OPERATIONS = {
813
1205
  'rate_limited',
814
1206
  'internal',
815
1207
  'unavailable',
1208
+ 'agent_sessions_off',
816
1209
  ],
817
1210
  hasBody: false,
818
1211
  statuses: [200],
@@ -843,6 +1236,7 @@ export const OPERATIONS = {
843
1236
  'rate_limited',
844
1237
  'internal',
845
1238
  'unavailable',
1239
+ 'agent_sessions_off',
846
1240
  ],
847
1241
  hasBody: false,
848
1242
  statuses: [200],
@@ -872,6 +1266,7 @@ export const OPERATIONS = {
872
1266
  'rate_limited',
873
1267
  'internal',
874
1268
  'unavailable',
1269
+ 'agent_sessions_off',
875
1270
  ],
876
1271
  hasBody: false,
877
1272
  statuses: [200],
@@ -898,6 +1293,7 @@ export const OPERATIONS = {
898
1293
  'rate_limited',
899
1294
  'internal',
900
1295
  'unavailable',
1296
+ 'agent_sessions_off',
901
1297
  ],
902
1298
  hasBody: false,
903
1299
  statuses: [200],
@@ -927,19 +1323,20 @@ export const OPERATIONS = {
927
1323
  'rate_limited',
928
1324
  'internal',
929
1325
  'unavailable',
1326
+ 'agent_sessions_off',
930
1327
  ],
931
1328
  hasBody: false,
932
1329
  statuses: [200],
933
1330
  discovery: false,
934
1331
  response: S.ListCommentsResponseSchema,
935
1332
  },
936
- list_members: {
1333
+ list_emoji: {
937
1334
  method: 'GET',
938
- path: '/v1/members',
1335
+ path: '/v1/emoji',
939
1336
  pathParams: [],
940
1337
  arrayQueryParams: [],
941
- scope: 'projects:read',
942
- requiredScopes: ['projects:read'],
1338
+ scope: 'chat:read',
1339
+ requiredScopes: ['chat:read'],
943
1340
  hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
944
1341
  errors: [
945
1342
  'bad_request',
@@ -949,17 +1346,44 @@ export const OPERATIONS = {
949
1346
  'token_suspended',
950
1347
  'agent_access_off',
951
1348
  'scope_missing',
952
- 'validation',
953
1349
  'rate_limited',
954
1350
  'internal',
955
1351
  'unavailable',
1352
+ 'agent_sessions_off',
956
1353
  ],
957
1354
  hasBody: false,
958
1355
  statuses: [200],
959
1356
  discovery: false,
960
- response: S.ListMembersResponseSchema,
1357
+ response: S.ListEmojiResponseSchema,
961
1358
  },
962
- list_pages: {
1359
+ list_members: {
1360
+ method: 'GET',
1361
+ path: '/v1/members',
1362
+ pathParams: [],
1363
+ arrayQueryParams: [],
1364
+ scope: 'projects:read',
1365
+ requiredScopes: ['projects:read'],
1366
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1367
+ errors: [
1368
+ 'bad_request',
1369
+ 'token_invalid',
1370
+ 'token_expired',
1371
+ 'token_revoked',
1372
+ 'token_suspended',
1373
+ 'agent_access_off',
1374
+ 'scope_missing',
1375
+ 'validation',
1376
+ 'rate_limited',
1377
+ 'internal',
1378
+ 'unavailable',
1379
+ 'agent_sessions_off',
1380
+ ],
1381
+ hasBody: false,
1382
+ statuses: [200],
1383
+ discovery: false,
1384
+ response: S.ListMembersResponseSchema,
1385
+ },
1386
+ list_pages: {
963
1387
  method: 'GET',
964
1388
  path: '/v1/channels/{channel}/pages',
965
1389
  pathParams: ['channel'],
@@ -982,12 +1406,43 @@ export const OPERATIONS = {
982
1406
  'rate_limited',
983
1407
  'internal',
984
1408
  'unavailable',
1409
+ 'agent_sessions_off',
985
1410
  ],
986
1411
  hasBody: false,
987
1412
  statuses: [200],
988
1413
  discovery: false,
989
1414
  response: S.ListPagesResponseSchema,
990
1415
  },
1416
+ list_pins: {
1417
+ method: 'GET',
1418
+ path: '/v1/channels/{channel}/pins',
1419
+ pathParams: ['channel'],
1420
+ arrayQueryParams: [],
1421
+ scope: 'chat:read',
1422
+ requiredScopes: ['chat:read'],
1423
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1424
+ errors: [
1425
+ 'bad_request',
1426
+ 'token_invalid',
1427
+ 'token_expired',
1428
+ 'token_revoked',
1429
+ 'token_suspended',
1430
+ 'agent_access_off',
1431
+ 'scope_missing',
1432
+ 'outside_limits',
1433
+ 'not_found',
1434
+ 'validation',
1435
+ 'ambiguous',
1436
+ 'rate_limited',
1437
+ 'internal',
1438
+ 'unavailable',
1439
+ 'agent_sessions_off',
1440
+ ],
1441
+ hasBody: false,
1442
+ statuses: [200],
1443
+ discovery: false,
1444
+ response: S.ListPinsResponseSchema,
1445
+ },
991
1446
  list_project_members: {
992
1447
  method: 'GET',
993
1448
  path: '/v1/projects/{key}/members',
@@ -1011,6 +1466,7 @@ export const OPERATIONS = {
1011
1466
  'rate_limited',
1012
1467
  'internal',
1013
1468
  'unavailable',
1469
+ 'agent_sessions_off',
1014
1470
  ],
1015
1471
  hasBody: false,
1016
1472
  statuses: [200],
@@ -1038,6 +1494,7 @@ export const OPERATIONS = {
1038
1494
  'rate_limited',
1039
1495
  'internal',
1040
1496
  'unavailable',
1497
+ 'agent_sessions_off',
1041
1498
  ],
1042
1499
  hasBody: false,
1043
1500
  statuses: [200],
@@ -1067,12 +1524,66 @@ export const OPERATIONS = {
1067
1524
  'rate_limited',
1068
1525
  'internal',
1069
1526
  'unavailable',
1527
+ 'agent_sessions_off',
1070
1528
  ],
1071
1529
  hasBody: false,
1072
1530
  statuses: [200],
1073
1531
  discovery: false,
1074
1532
  response: S.ListReleasesResponseSchema,
1075
1533
  },
1534
+ list_session_events: {
1535
+ method: 'GET',
1536
+ path: '/v1/session/events',
1537
+ pathParams: [],
1538
+ arrayQueryParams: [],
1539
+ scope: null,
1540
+ requiredScopes: [],
1541
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1542
+ errors: [
1543
+ 'bad_request',
1544
+ 'token_invalid',
1545
+ 'token_expired',
1546
+ 'token_revoked',
1547
+ 'token_suspended',
1548
+ 'agent_access_off',
1549
+ 'validation',
1550
+ 'rate_limited',
1551
+ 'internal',
1552
+ 'unavailable',
1553
+ 'session_token_required',
1554
+ 'agent_sessions_off',
1555
+ ],
1556
+ hasBody: false,
1557
+ statuses: [200],
1558
+ discovery: false,
1559
+ response: S.SessionEventsResponseSchema,
1560
+ },
1561
+ list_session_threads: {
1562
+ method: 'GET',
1563
+ path: '/v1/session/threads',
1564
+ pathParams: [],
1565
+ arrayQueryParams: [],
1566
+ scope: null,
1567
+ requiredScopes: [],
1568
+ hints: { read_only: true, destructive: false, idempotent: true, needs_projects: false },
1569
+ errors: [
1570
+ 'bad_request',
1571
+ 'token_invalid',
1572
+ 'token_expired',
1573
+ 'token_revoked',
1574
+ 'token_suspended',
1575
+ 'agent_access_off',
1576
+ 'rate_limited',
1577
+ 'internal',
1578
+ 'unavailable',
1579
+ 'session_token_required',
1580
+ 'agent_sessions_off',
1581
+ ],
1582
+ hasBody: false,
1583
+ statuses: [200],
1584
+ discovery: false,
1585
+ response: S.ListSessionThreadsResponseSchema,
1586
+ },
1076
1587
  list_sprints: {
1077
1588
  method: 'GET',
1078
1589
  path: '/v1/projects/{key}/sprints',
@@ -1096,6 +1607,7 @@ export const OPERATIONS = {
1096
1607
  'rate_limited',
1097
1608
  'internal',
1098
1609
  'unavailable',
1610
+ 'agent_sessions_off',
1099
1611
  ],
1100
1612
  hasBody: false,
1101
1613
  statuses: [200],
@@ -1123,12 +1635,168 @@ export const OPERATIONS = {
1123
1635
  'rate_limited',
1124
1636
  'internal',
1125
1637
  'unavailable',
1638
+ 'agent_sessions_off',
1126
1639
  ],
1127
1640
  hasBody: false,
1128
1641
  statuses: [200],
1129
1642
  discovery: false,
1130
1643
  response: S.ListWorkTypesResponseSchema,
1131
1644
  },
1645
+ post_plan_card: {
1646
+ method: 'POST',
1647
+ path: '/v1/session/plan-cards',
1648
+ pathParams: [],
1649
+ arrayQueryParams: [],
1650
+ scope: null,
1651
+ requiredScopes: [],
1652
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
1653
+ errors: [
1654
+ 'bad_request',
1655
+ 'token_invalid',
1656
+ 'token_expired',
1657
+ 'token_revoked',
1658
+ 'token_suspended',
1659
+ 'agent_access_off',
1660
+ 'scope_missing',
1661
+ 'forbidden',
1662
+ 'archived',
1663
+ 'not_found',
1664
+ 'idempotency_conflict',
1665
+ 'plan_used',
1666
+ 'plan_expired',
1667
+ 'body_too_large',
1668
+ 'validation',
1669
+ 'rate_limited',
1670
+ 'internal',
1671
+ 'unavailable',
1672
+ 'session_token_required',
1673
+ 'agent_sessions_off',
1674
+ 'thread_other_session',
1675
+ 'card_invalid',
1676
+ 'plan_card_exists',
1677
+ 'thread_not_bound',
1678
+ 'outside_reach',
1679
+ 'plan_outside_thread',
1680
+ ],
1681
+ hasBody: true,
1682
+ statuses: [200, 201],
1683
+ discovery: false,
1684
+ response: S.PostPlanCardResponseSchema,
1685
+ },
1686
+ post_session_approval: {
1687
+ method: 'POST',
1688
+ path: '/v1/session/approvals',
1689
+ pathParams: [],
1690
+ arrayQueryParams: [],
1691
+ scope: null,
1692
+ requiredScopes: [],
1693
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
1694
+ errors: [
1695
+ 'bad_request',
1696
+ 'token_invalid',
1697
+ 'token_expired',
1698
+ 'token_revoked',
1699
+ 'token_suspended',
1700
+ 'agent_access_off',
1701
+ 'forbidden',
1702
+ 'archived',
1703
+ 'not_found',
1704
+ 'idempotency_conflict',
1705
+ 'body_too_large',
1706
+ 'validation',
1707
+ 'rate_limited',
1708
+ 'internal',
1709
+ 'unavailable',
1710
+ 'session_token_required',
1711
+ 'agent_sessions_off',
1712
+ 'thread_other_session',
1713
+ 'not_own_message',
1714
+ 'thread_not_bound',
1715
+ 'outside_reach',
1716
+ 'approvals_off',
1717
+ 'too_many_open',
1718
+ ],
1719
+ hasBody: true,
1720
+ statuses: [200, 201],
1721
+ discovery: false,
1722
+ response: S.PostSessionApprovalResponseSchema,
1723
+ },
1724
+ post_session_message: {
1725
+ method: 'POST',
1726
+ path: '/v1/session/messages',
1727
+ pathParams: [],
1728
+ arrayQueryParams: [],
1729
+ scope: null,
1730
+ requiredScopes: [],
1731
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
1732
+ errors: [
1733
+ 'bad_request',
1734
+ 'token_invalid',
1735
+ 'token_expired',
1736
+ 'token_revoked',
1737
+ 'token_suspended',
1738
+ 'agent_access_off',
1739
+ 'forbidden',
1740
+ 'archived',
1741
+ 'not_found',
1742
+ 'idempotency_conflict',
1743
+ 'body_too_large',
1744
+ 'validation',
1745
+ 'rate_limited',
1746
+ 'internal',
1747
+ 'unavailable',
1748
+ 'session_token_required',
1749
+ 'agent_sessions_off',
1750
+ 'thread_other_session',
1751
+ 'card_invalid',
1752
+ 'thread_not_bound',
1753
+ 'thread_required',
1754
+ 'outside_reach',
1755
+ ],
1756
+ hasBody: true,
1757
+ statuses: [200, 201],
1758
+ discovery: false,
1759
+ response: S.PostSessionMessageResponseSchema,
1760
+ },
1761
+ propose_session_handoff: {
1762
+ method: 'POST',
1763
+ path: '/v1/session/handoffs',
1764
+ pathParams: [],
1765
+ arrayQueryParams: [],
1766
+ scope: null,
1767
+ requiredScopes: [],
1768
+ hints: { read_only: false, destructive: false, idempotent: false, needs_projects: false },
1769
+ errors: [
1770
+ 'bad_request',
1771
+ 'token_invalid',
1772
+ 'token_expired',
1773
+ 'token_revoked',
1774
+ 'token_suspended',
1775
+ 'agent_access_off',
1776
+ 'outside_limits',
1777
+ 'forbidden',
1778
+ 'not_found',
1779
+ 'idempotency_conflict',
1780
+ 'body_too_large',
1781
+ 'validation',
1782
+ 'rate_limited',
1783
+ 'internal',
1784
+ 'unavailable',
1785
+ 'session_token_required',
1786
+ 'agent_sessions_off',
1787
+ 'outside_reach',
1788
+ 'too_many_open',
1789
+ 'handoffs_off',
1790
+ 'not_parent_session',
1791
+ 'handoff_not_allowed',
1792
+ 'handoff_exists',
1793
+ 'no_target',
1794
+ ],
1795
+ hasBody: true,
1796
+ statuses: [200, 201],
1797
+ discovery: false,
1798
+ response: S.ProposeSessionHandoffResponseSchema,
1799
+ },
1132
1800
  rank_item: {
1133
1801
  method: 'POST',
1134
1802
  path: '/v1/items/{key}/rank',
@@ -1157,6 +1825,7 @@ export const OPERATIONS = {
1157
1825
  'rate_limited',
1158
1826
  'internal',
1159
1827
  'unavailable',
1828
+ 'agent_sessions_off',
1160
1829
  ],
1161
1830
  hasBody: true,
1162
1831
  statuses: [200],
@@ -1191,6 +1860,7 @@ export const OPERATIONS = {
1191
1860
  'rate_limited',
1192
1861
  'internal',
1193
1862
  'unavailable',
1863
+ 'agent_sessions_off',
1194
1864
  ],
1195
1865
  hasBody: true,
1196
1866
  statuses: [200],
@@ -1224,6 +1894,7 @@ export const OPERATIONS = {
1224
1894
  'rate_limited',
1225
1895
  'internal',
1226
1896
  'unavailable',
1897
+ 'agent_sessions_off',
1227
1898
  ],
1228
1899
  hasBody: false,
1229
1900
  statuses: [200],
@@ -1258,6 +1929,7 @@ export const OPERATIONS = {
1258
1929
  'rate_limited',
1259
1930
  'internal',
1260
1931
  'unavailable',
1932
+ 'agent_sessions_off',
1261
1933
  ],
1262
1934
  hasBody: true,
1263
1935
  statuses: [200],
@@ -1292,6 +1964,7 @@ export const OPERATIONS = {
1292
1964
  'rate_limited',
1293
1965
  'internal',
1294
1966
  'unavailable',
1967
+ 'agent_sessions_off',
1295
1968
  ],
1296
1969
  hasBody: true,
1297
1970
  statuses: [200],
@@ -1326,6 +1999,7 @@ export const OPERATIONS = {
1326
1999
  'internal',
1327
2000
  'unavailable',
1328
2001
  'release_archived',
2002
+ 'agent_sessions_off',
1329
2003
  ],
1330
2004
  hasBody: false,
1331
2005
  statuses: [200],
@@ -1359,12 +2033,39 @@ export const OPERATIONS = {
1359
2033
  'rate_limited',
1360
2034
  'internal',
1361
2035
  'unavailable',
2036
+ 'agent_sessions_off',
1362
2037
  ],
1363
2038
  hasBody: false,
1364
2039
  statuses: [200],
1365
2040
  discovery: false,
1366
2041
  response: S.ReleaseResponseSchema,
1367
2042
  },
2043
+ revoke_session: {
2044
+ method: 'DELETE',
2045
+ path: '/v1/session',
2046
+ pathParams: [],
2047
+ arrayQueryParams: [],
2048
+ scope: null,
2049
+ requiredScopes: [],
2050
+ hints: { read_only: false, destructive: true, idempotent: true, needs_projects: false },
2051
+ errors: [
2052
+ 'bad_request',
2053
+ 'token_invalid',
2054
+ 'token_expired',
2055
+ 'token_revoked',
2056
+ 'token_suspended',
2057
+ 'agent_access_off',
2058
+ 'rate_limited',
2059
+ 'internal',
2060
+ 'unavailable',
2061
+ 'session_token_required',
2062
+ 'agent_sessions_off',
2063
+ ],
2064
+ hasBody: false,
2065
+ statuses: [204],
2066
+ discovery: false,
2067
+ response: S.NoContentSchema,
2068
+ },
1368
2069
  search_items: {
1369
2070
  method: 'GET',
1370
2071
  path: '/v1/items',
@@ -1399,6 +2100,7 @@ export const OPERATIONS = {
1399
2100
  'rate_limited',
1400
2101
  'internal',
1401
2102
  'unavailable',
2103
+ 'agent_sessions_off',
1402
2104
  ],
1403
2105
  hasBody: false,
1404
2106
  statuses: [200],
@@ -1428,12 +2130,100 @@ export const OPERATIONS = {
1428
2130
  'rate_limited',
1429
2131
  'internal',
1430
2132
  'unavailable',
2133
+ 'agent_sessions_off',
1431
2134
  ],
1432
2135
  hasBody: false,
1433
2136
  statuses: [200],
1434
2137
  discovery: false,
1435
2138
  response: S.SearchPagesResponseSchema,
1436
2139
  },
2140
+ session_heartbeat: {
2141
+ method: 'POST',
2142
+ path: '/v1/session/heartbeat',
2143
+ pathParams: [],
2144
+ arrayQueryParams: [],
2145
+ scope: null,
2146
+ requiredScopes: [],
2147
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
2148
+ errors: [
2149
+ 'bad_request',
2150
+ 'token_invalid',
2151
+ 'token_expired',
2152
+ 'token_revoked',
2153
+ 'token_suspended',
2154
+ 'agent_access_off',
2155
+ 'body_too_large',
2156
+ 'validation',
2157
+ 'rate_limited',
2158
+ 'internal',
2159
+ 'unavailable',
2160
+ 'session_token_required',
2161
+ 'agent_sessions_off',
2162
+ ],
2163
+ hasBody: true,
2164
+ statuses: [200],
2165
+ discovery: false,
2166
+ response: S.SessionHeartbeatResponseSchema,
2167
+ },
2168
+ session_typing: {
2169
+ method: 'POST',
2170
+ path: '/v1/session/typing',
2171
+ pathParams: [],
2172
+ arrayQueryParams: [],
2173
+ scope: null,
2174
+ requiredScopes: [],
2175
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
2176
+ errors: [
2177
+ 'bad_request',
2178
+ 'token_invalid',
2179
+ 'token_expired',
2180
+ 'token_revoked',
2181
+ 'token_suspended',
2182
+ 'agent_access_off',
2183
+ 'body_too_large',
2184
+ 'validation',
2185
+ 'rate_limited',
2186
+ 'internal',
2187
+ 'unavailable',
2188
+ 'session_token_required',
2189
+ 'agent_sessions_off',
2190
+ 'thread_other_session',
2191
+ 'thread_not_bound',
2192
+ 'outside_reach',
2193
+ ],
2194
+ hasBody: true,
2195
+ statuses: [204],
2196
+ discovery: false,
2197
+ response: S.NoContentSchema,
2198
+ },
2199
+ set_session_capabilities: {
2200
+ method: 'PUT',
2201
+ path: '/v1/session/capabilities',
2202
+ pathParams: [],
2203
+ arrayQueryParams: [],
2204
+ scope: null,
2205
+ requiredScopes: [],
2206
+ hints: { read_only: false, destructive: false, idempotent: true, needs_projects: false },
2207
+ errors: [
2208
+ 'bad_request',
2209
+ 'token_invalid',
2210
+ 'token_expired',
2211
+ 'token_revoked',
2212
+ 'token_suspended',
2213
+ 'agent_access_off',
2214
+ 'body_too_large',
2215
+ 'validation',
2216
+ 'rate_limited',
2217
+ 'internal',
2218
+ 'unavailable',
2219
+ 'session_token_required',
2220
+ 'agent_sessions_off',
2221
+ ],
2222
+ hasBody: true,
2223
+ statuses: [200],
2224
+ discovery: false,
2225
+ response: S.SessionCapabilitiesResponseSchema,
2226
+ },
1437
2227
  start_sprint: {
1438
2228
  method: 'POST',
1439
2229
  path: '/v1/projects/{key}/sprints/{sprint}/start',
@@ -1462,6 +2252,7 @@ export const OPERATIONS = {
1462
2252
  'rate_limited',
1463
2253
  'internal',
1464
2254
  'unavailable',
2255
+ 'agent_sessions_off',
1465
2256
  ],
1466
2257
  hasBody: true,
1467
2258
  statuses: [200],
@@ -1499,6 +2290,7 @@ export const OPERATIONS = {
1499
2290
  'rate_limited',
1500
2291
  'internal',
1501
2292
  'unavailable',
2293
+ 'agent_sessions_off',
1502
2294
  ],
1503
2295
  hasBody: true,
1504
2296
  statuses: [200],
@@ -1537,6 +2329,7 @@ export const OPERATIONS = {
1537
2329
  'rate_limited',
1538
2330
  'internal',
1539
2331
  'unavailable',
2332
+ 'agent_sessions_off',
1540
2333
  ],
1541
2334
  hasBody: true,
1542
2335
  statuses: [200],
@@ -1570,6 +2363,7 @@ export const OPERATIONS = {
1570
2363
  'rate_limited',
1571
2364
  'internal',
1572
2365
  'unavailable',
2366
+ 'agent_sessions_off',
1573
2367
  ],
1574
2368
  hasBody: true,
1575
2369
  statuses: [200],
@@ -1606,10 +2400,45 @@ export const OPERATIONS = {
1606
2400
  'unavailable',
1607
2401
  'release_archived',
1608
2402
  'release_not_released',
2403
+ 'agent_sessions_off',
1609
2404
  ],
1610
2405
  hasBody: true,
1611
2406
  statuses: [200],
1612
2407
  discovery: false,
1613
2408
  response: S.ReleaseResponseSchema,
1614
2409
  },
2410
+ update_session_message: {
2411
+ method: 'PATCH',
2412
+ path: '/v1/session/messages/{id}',
2413
+ pathParams: ['id'],
2414
+ arrayQueryParams: [],
2415
+ scope: null,
2416
+ requiredScopes: [],
2417
+ hints: { read_only: false, destructive: true, idempotent: true, needs_projects: false },
2418
+ errors: [
2419
+ 'bad_request',
2420
+ 'token_invalid',
2421
+ 'token_expired',
2422
+ 'token_revoked',
2423
+ 'token_suspended',
2424
+ 'agent_access_off',
2425
+ 'forbidden',
2426
+ 'not_found',
2427
+ 'body_too_large',
2428
+ 'validation',
2429
+ 'rate_limited',
2430
+ 'internal',
2431
+ 'unavailable',
2432
+ 'session_token_required',
2433
+ 'agent_sessions_off',
2434
+ 'card_invalid',
2435
+ 'card_closed',
2436
+ 'not_own_message',
2437
+ 'outside_reach',
2438
+ ],
2439
+ hasBody: true,
2440
+ statuses: [200],
2441
+ discovery: false,
2442
+ response: S.UpdateSessionMessageResponseSchema,
2443
+ },
1615
2444
  };