@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,18 +2,47 @@
2
2
  * Exact schemas for the agent API: closed objects and enums, patterns and bounds. The test fake uses them to check requests and its own responses against the contract; the server parses responses with the tolerant schemas.ts.
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 { z } from 'zod';
9
+ export const AckSessionEventsRequestSchema = z.strictObject({ cursor: z.int().min(0) });
10
+ export const AckSessionEventsResponseSchema = z.strictObject({
11
+ acked: z.int().min(0),
12
+ cursor: z.int().min(0),
13
+ });
14
+ export const AgentRefSchema = z.string().min(1).max(40);
9
15
  export const AllowedTransitionSchema = z.strictObject({
10
16
  to: z.string(),
11
17
  required_fields: z.array(z.string()),
12
18
  admins_only: z.boolean(),
13
19
  });
20
+ export const AnswerSessionResponseRequestSchema = z.strictObject({
21
+ status: z.enum(['accepted', 'rejected']),
22
+ note: z.string().optional(),
23
+ revision: z.int().min(1),
24
+ });
25
+ export const ApprovalFieldSchema = z.strictObject({
26
+ key: z.string(),
27
+ value: z.string(),
28
+ cut: z.int().min(0).optional(),
29
+ });
30
+ export const ApprovalRuleEntrySchema = z.strictObject({
31
+ toolName: z.string().regex(new RegExp('^[A-Za-z0-9][A-Za-z0-9_.:-]{0,99}$', 'u')),
32
+ ruleContent: z.string().optional(),
33
+ });
34
+ export const CapabilitySchema = z.string().regex(new RegExp('^[a-z0-9][a-z0-9+._-]{0,31}$', 'u'));
35
+ export const CapabilityInSchema = z.string().min(1).max(64);
36
+ export const CardAnswerSchema = z.union([
37
+ z.strictObject({ action: z.string().min(1).max(40) }),
38
+ z.strictObject({ inputs: z.record(z.string(), z.union([z.string(), z.array(z.string())])) }),
39
+ ]);
14
40
  export const ChannelNameSchema = z.string().min(1).max(100);
15
41
  export const ChannelRefSchema = z.string().min(1).max(100);
16
42
  export const ChannelVisibilitySchema = z.enum(['public', 'private']);
43
+ export const CloseSessionApprovalRequestSchema = z.strictObject({
44
+ reason: z.enum(['answered_elsewhere', 'stale', 'interrupted', 'session_ended', 'expired']),
45
+ });
17
46
  export const ColorSchema = z.string().regex(new RegExp('^#[0-9A-Fa-f]{6}$', 'u'));
18
47
  export const CommentBodySchema = z.string().min(1).max(20000);
19
48
  export const CompleteSprintRequestSchema = z.strictObject({
@@ -31,12 +60,14 @@ export const CustomValueInSchema = z
31
60
  export const DateSchema = z
32
61
  .string()
33
62
  .regex(new RegExp('^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'u'));
63
+ export const DeclineSessionHandoffRequestSchema = z.strictObject({ reason: z.string() });
34
64
  export const DevelopmentBranchSchema = z.strictObject({
35
65
  name: z.string(),
36
66
  state: z.enum(['active', 'deleted']),
37
67
  repo: z.string(),
38
68
  url: z.string(),
39
69
  });
70
+ export const DeviceCodeSchema = z.string().regex(new RegExp('^[0-9A-Za-z]{43}$', 'u'));
40
71
  export const EmptyRequestSchema = z.strictObject({});
41
72
  export const EntityKindSchema = z.enum([
42
73
  'project',
@@ -58,6 +89,10 @@ export const EntityKindSchema = z.enum([
58
89
  'message',
59
90
  'plan',
60
91
  'route',
92
+ 'response',
93
+ 'agent',
94
+ 'approval',
95
+ 'handoff',
61
96
  ]);
62
97
  export const EstimateSchema = z.number().min(0).max(9999.99);
63
98
  export const EstimateScaleSchema = z.enum(['none', 'points', 'tshirt']);
@@ -156,12 +191,17 @@ export const ProjectTemplateSchema = z.enum([
156
191
  'ops',
157
192
  'marketing',
158
193
  ]);
194
+ export const QuestionCardSchema = z.record(z.string(), z.unknown());
159
195
  export const RateLimitsSchema = z.strictObject({
160
196
  requests_per_minute: z.int(),
161
197
  user_requests_per_minute: z.int(),
162
198
  writes_per_minute: z.int(),
163
199
  writes_per_day: z.int(),
164
200
  org_requests_per_minute: z.int(),
201
+ polls_per_minute: z.int().optional(),
202
+ typing_per_minute: z.int().optional(),
203
+ approvals_per_minute: z.int().optional(),
204
+ handoffs_per_minute: z.int().optional(),
165
205
  });
166
206
  export const ReleaseRefSchema = z.string().min(1).max(80);
167
207
  export const ReleaseStatusSchema = z.enum(['unreleased', 'released', 'archived']);
@@ -179,6 +219,21 @@ export const SearchMatchSchema = z.strictObject({
179
219
  title_highlight: z.string(),
180
220
  snippet: z.string().nullable(),
181
221
  });
222
+ export const SessionCardSettingsSchema = z.strictObject({
223
+ visibility: z.enum(['shared', 'private', 'anonymous']),
224
+ results: z.enum(['live', 'on_close', 'hidden']),
225
+ mode: z.enum(['once', 'changeable']),
226
+ confirm: z.boolean(),
227
+ });
228
+ export const SessionRuleEntrySchema = z.strictObject({
229
+ toolName: z.string().regex(new RegExp('^[A-Za-z0-9][A-Za-z0-9_.:-]{0,99}$', 'u')),
230
+ ruleContent: z.string().optional(),
231
+ });
232
+ export const SessionStateSchema = z.enum(['online', 'offline']);
233
+ export const SessionTextSchema = z.string();
234
+ export const SessionTokenSchema = z
235
+ .string()
236
+ .regex(new RegExp('^buildit_ags_[0-9A-Za-z]{49}$', 'u'));
182
237
  export const SprintRefSchema = z.string().min(1).max(80);
183
238
  export const SprintStateSchema = z.enum(['planned', 'active', 'completed']);
184
239
  export const StatusCategorySchema = z.enum(['not_started', 'started', 'done', 'canceled']);
@@ -193,6 +248,9 @@ export const TransitionMoveSchema = z.strictObject({
193
248
  required_fields: z.array(z.string()),
194
249
  admins_only: z.boolean(),
195
250
  });
251
+ export const UserCodeSchema = z
252
+ .string()
253
+ .regex(new RegExp('^[BCDFGHJKLMNPQRSTVWXZ]{4}-[BCDFGHJKLMNPQRSTVWXZ]{4}$', 'u'));
196
254
  export const UserRefSchema = z.string().min(1).max(320);
197
255
  export const UuidSchema = z
198
256
  .string()
@@ -203,6 +261,20 @@ export const AddCommentRequestSchema = z.strictObject({
203
261
  idempotency_key: UuidSchema.optional(),
204
262
  });
205
263
  export const AddLinkRequestSchema = z.strictObject({ kind: LinkKindSchema, target: ItemRefSchema });
264
+ export const AgentBriefSchema = z.strictObject({ id: UuidSchema, name: z.string() });
265
+ export const ApprovalRuleSchema = z.union([
266
+ z.strictObject({
267
+ type: z.literal('addRules'),
268
+ rules: z.array(ApprovalRuleEntrySchema).min(1).max(5),
269
+ behavior: z.literal('allow'),
270
+ destination: z.literal('session'),
271
+ }),
272
+ z.strictObject({
273
+ type: z.literal('setMode'),
274
+ mode: z.literal('acceptEdits'),
275
+ destination: z.literal('session'),
276
+ }),
277
+ ]);
206
278
  export const ArchiveStatusArgsSchema = z.strictObject({
207
279
  project: ProjectRefSchema,
208
280
  workflow: WorkflowRefSchema.optional(),
@@ -217,6 +289,28 @@ export const BoardColumnSchema = z.strictObject({
217
289
  statuses: z.array(z.string()),
218
290
  });
219
291
  export const ChannelBriefSchema = z.strictObject({ id: UuidSchema, name: z.string() });
292
+ export const CloseSessionCardResponseSchema = z.strictObject({ closed_at: TimestampSchema });
293
+ export const ConnectPollRequestSchema = z.strictObject({ device_code: DeviceCodeSchema });
294
+ export const ConnectStartRequestSchema = z.strictObject({
295
+ client: z.string().min(1).max(100),
296
+ machine: z.string().min(1).max(64),
297
+ label: z.string().min(1).max(40),
298
+ projects: z.array(ProjectRefSchema).min(1).max(10),
299
+ capabilities: z.array(CapabilityInSchema).max(20).optional(),
300
+ });
301
+ export const ConnectStartResponseSchema = z.strictObject({
302
+ device_code: DeviceCodeSchema,
303
+ user_code: UserCodeSchema,
304
+ verification_uri: z.string(),
305
+ verification_uri_complete: z.string(),
306
+ interval: z.int().min(1),
307
+ expires_in: z.int().min(1),
308
+ });
309
+ export const ConnectedSessionSchema = z.strictObject({
310
+ id: UuidSchema,
311
+ label: z.string(),
312
+ projects: z.array(z.strictObject({ id: UuidSchema, key: ProjectKeySchema })),
313
+ });
220
314
  export const CreateChannelRequestSchema = z.strictObject({
221
315
  name: ChannelNameSchema,
222
316
  description: z.string().max(1000).optional(),
@@ -253,6 +347,11 @@ export const CreateSprintRequestSchema = z.strictObject({
253
347
  starts_on: DateSchema.optional(),
254
348
  ends_on: DateSchema.optional(),
255
349
  });
350
+ export const CustomEmojiSchema = z.strictObject({
351
+ id: UuidSchema,
352
+ name: z.string(),
353
+ animated: z.boolean(),
354
+ });
256
355
  export const CustomValuesInSchema = z.record(z.string().min(1).max(60), CustomValueInSchema);
257
356
  export const DeleteItemArgsSchema = z.strictObject({ item: ItemRefSchema });
258
357
  export const DescriptionEditSchema = z.union([
@@ -368,7 +467,15 @@ export const ErrorSchema = z.strictObject({
368
467
  message: z.string().min(1),
369
468
  hint: z.string().optional(),
370
469
  details: z.strictObject({
371
- reason: z.enum(['admins_only', 'not_in_channel', 'not_reporter', 'guest', 'other']),
470
+ reason: z.enum([
471
+ 'admins_only',
472
+ 'not_in_channel',
473
+ 'not_reporter',
474
+ 'guest',
475
+ 'other',
476
+ 'agent_self_assign',
477
+ 'agent_assignee',
478
+ ]),
372
479
  }),
373
480
  }),
374
481
  z.strictObject({
@@ -387,7 +494,9 @@ export const ErrorSchema = z.strictObject({
387
494
  code: z.literal('method_not_allowed'),
388
495
  message: z.string().min(1),
389
496
  hint: z.string().optional(),
390
- details: z.strictObject({ allowed: z.array(z.enum(['GET', 'POST', 'PATCH', 'DELETE'])) }),
497
+ details: z.strictObject({
498
+ allowed: z.array(z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE'])),
499
+ }),
391
500
  }),
392
501
  z.strictObject({
393
502
  code: z.literal('conflict'),
@@ -520,6 +629,13 @@ export const ErrorSchema = z.strictObject({
520
629
  'token_writes_per_day',
521
630
  'org_requests_per_minute',
522
631
  'user_requests_per_minute',
632
+ 'session_polls_per_minute',
633
+ 'connect_starts_per_hour',
634
+ 'connect_pending_grants',
635
+ 'connect_pending_per_address',
636
+ 'session_typing_per_minute',
637
+ 'session_approvals_per_minute',
638
+ 'session_handoffs_per_minute',
523
639
  ]),
524
640
  }),
525
641
  }),
@@ -547,6 +663,237 @@ export const ErrorSchema = z.strictObject({
547
663
  hint: z.string().optional(),
548
664
  details: z.strictObject({ ref: z.string().max(400) }),
549
665
  }),
666
+ z.strictObject({
667
+ code: z.literal('session_token_required'),
668
+ message: z.string().min(1),
669
+ hint: z.string().optional(),
670
+ details: z.strictObject({}),
671
+ }),
672
+ z.strictObject({
673
+ code: z.literal('agent_sessions_off'),
674
+ message: z.string().min(1),
675
+ hint: z.string().optional(),
676
+ details: z.strictObject({}),
677
+ }),
678
+ z.strictObject({
679
+ code: z.literal('authorization_pending'),
680
+ message: z.string().min(1),
681
+ hint: z.string().optional(),
682
+ details: z.strictObject({ interval: z.int().min(1) }),
683
+ }),
684
+ z.strictObject({
685
+ code: z.literal('slow_down'),
686
+ message: z.string().min(1),
687
+ hint: z.string().optional(),
688
+ details: z.strictObject({ interval: z.int().min(1) }),
689
+ }),
690
+ z.strictObject({
691
+ code: z.literal('access_denied'),
692
+ message: z.string().min(1),
693
+ hint: z.string().optional(),
694
+ details: z.strictObject({}),
695
+ }),
696
+ z.strictObject({
697
+ code: z.literal('expired_token'),
698
+ message: z.string().min(1),
699
+ hint: z.string().optional(),
700
+ details: z.strictObject({}),
701
+ }),
702
+ z.strictObject({
703
+ code: z.literal('thread_other_session'),
704
+ message: z.string().min(1),
705
+ hint: z.string().optional(),
706
+ details: z.strictObject({
707
+ thread_id: z
708
+ .string()
709
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
710
+ }),
711
+ }),
712
+ z.strictObject({
713
+ code: z.literal('card_invalid'),
714
+ message: z.string().min(1),
715
+ hint: z.string().optional(),
716
+ details: z.strictObject({
717
+ errors: z.array(z.strictObject({ path: z.string(), message: z.string() })).min(1),
718
+ }),
719
+ }),
720
+ z.strictObject({
721
+ code: z.literal('card_closed'),
722
+ message: z.string().min(1),
723
+ hint: z.string().optional(),
724
+ details: z.strictObject({
725
+ message_id: z
726
+ .string()
727
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
728
+ }),
729
+ }),
730
+ z.strictObject({
731
+ code: z.literal('response_changed'),
732
+ message: z.string().min(1),
733
+ hint: z.string().optional(),
734
+ details: z.strictObject({
735
+ response_id: z
736
+ .string()
737
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
738
+ revision: z.int().min(1),
739
+ }),
740
+ }),
741
+ z.strictObject({
742
+ code: z.literal('not_own_message'),
743
+ message: z.string().min(1),
744
+ hint: z.string().optional(),
745
+ details: z.strictObject({
746
+ message_id: z
747
+ .string()
748
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
749
+ }),
750
+ }),
751
+ z.strictObject({
752
+ code: z.literal('plan_awaits_owner'),
753
+ message: z.string().min(1),
754
+ hint: z.string().optional(),
755
+ details: z.strictObject({
756
+ handle: z.string(),
757
+ message_id: z
758
+ .string()
759
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
760
+ }),
761
+ }),
762
+ z.strictObject({
763
+ code: z.literal('plan_card_exists'),
764
+ message: z.string().min(1),
765
+ hint: z.string().optional(),
766
+ details: z.strictObject({
767
+ handle: z.string(),
768
+ message_id: z
769
+ .string()
770
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
771
+ }),
772
+ }),
773
+ z.strictObject({
774
+ code: z.literal('plan_card_required'),
775
+ message: z.string().min(1),
776
+ hint: z.string().optional(),
777
+ details: z.strictObject({ handle: z.string() }),
778
+ }),
779
+ z.strictObject({
780
+ code: z.literal('thread_not_bound'),
781
+ message: z.string().min(1),
782
+ hint: z.string().optional(),
783
+ details: z.strictObject({
784
+ thread_id: z
785
+ .string()
786
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
787
+ }),
788
+ }),
789
+ z.strictObject({
790
+ code: z.literal('thread_required'),
791
+ message: z.string().min(1),
792
+ hint: z.string().optional(),
793
+ details: z.strictObject({
794
+ conversation_id: z
795
+ .string()
796
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
797
+ }),
798
+ }),
799
+ z.strictObject({
800
+ code: z.literal('outside_reach'),
801
+ message: z.string().min(1),
802
+ hint: z.string().optional(),
803
+ details: z.strictObject({
804
+ thread_id: z
805
+ .string()
806
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u'))
807
+ .nullable(),
808
+ reason: z.enum([
809
+ 'session_ended',
810
+ 'session_projects',
811
+ 'projects_off',
812
+ 'not_in_channel',
813
+ 'archived',
814
+ 'item_deleted',
815
+ ]),
816
+ }),
817
+ }),
818
+ z.strictObject({
819
+ code: z.literal('plan_outside_thread'),
820
+ message: z.string().min(1),
821
+ hint: z.string().optional(),
822
+ details: z.strictObject({
823
+ thread_id: z
824
+ .string()
825
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
826
+ key: z.string(),
827
+ }),
828
+ }),
829
+ z.strictObject({
830
+ code: z.literal('approvals_off'),
831
+ message: z.string().min(1),
832
+ hint: z.string().optional(),
833
+ details: z.strictObject({ by: z.enum(['agent', 'platform']) }),
834
+ }),
835
+ z.strictObject({
836
+ code: z.literal('too_many_open'),
837
+ message: z.string().min(1),
838
+ hint: z.string().optional(),
839
+ details: z.strictObject({ open: z.int().min(0) }),
840
+ }),
841
+ z.strictObject({
842
+ code: z.literal('handoffs_off'),
843
+ message: z.string().min(1),
844
+ hint: z.string().optional(),
845
+ details: z.strictObject({ by: z.enum(['platform']) }),
846
+ }),
847
+ z.strictObject({
848
+ code: z.literal('not_parent_session'),
849
+ message: z.string().min(1),
850
+ hint: z.string().optional(),
851
+ details: z.strictObject({
852
+ item_id: z
853
+ .string()
854
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
855
+ }),
856
+ }),
857
+ z.strictObject({
858
+ code: z.literal('handoff_not_allowed'),
859
+ message: z.string().min(1),
860
+ hint: z.string().optional(),
861
+ details: z.strictObject({
862
+ reason: z.enum([
863
+ 'needs_missing',
864
+ 'closed',
865
+ 'agent_assigned',
866
+ 'person_assigned',
867
+ 'other_session',
868
+ ]),
869
+ }),
870
+ }),
871
+ z.strictObject({
872
+ code: z.literal('handoff_exists'),
873
+ message: z.string().min(1),
874
+ hint: z.string().optional(),
875
+ details: z.strictObject({
876
+ handoff_id: z
877
+ .string()
878
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
879
+ }),
880
+ }),
881
+ z.strictObject({
882
+ code: z.literal('no_target'),
883
+ message: z.string().min(1),
884
+ hint: z.string().optional(),
885
+ details: z.strictObject({ needs: z.array(z.string()) }),
886
+ }),
887
+ z.strictObject({
888
+ code: z.literal('handoff_closed'),
889
+ message: z.string().min(1),
890
+ hint: z.string().optional(),
891
+ details: z.strictObject({
892
+ handoff_id: z
893
+ .string()
894
+ .regex(new RegExp('^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$', 'u')),
895
+ }),
896
+ }),
550
897
  ]),
551
898
  });
552
899
  export const FeedbackSchema = z.strictObject({
@@ -612,6 +959,7 @@ export const ItemBriefSchema = z.strictObject({
612
959
  key: ItemKeySchema,
613
960
  title: z.string(),
614
961
  });
962
+ export const ItemIdKeySchema = z.strictObject({ id: UuidSchema, key: z.string() });
615
963
  export const LabelSchema = z.strictObject({
616
964
  id: UuidSchema,
617
965
  name: z.string(),
@@ -672,6 +1020,19 @@ export const PlanEffectSchema = z.strictObject({
672
1020
  export const PlanningItemsRequestSchema = z.strictObject({
673
1021
  items: z.array(ItemRefSchema).min(1).max(50),
674
1022
  });
1023
+ export const PostPlanCardRequestSchema = z.strictObject({
1024
+ handle: PlanHandleSchema,
1025
+ id: UuidSchema,
1026
+ thread_id: UuidSchema.optional(),
1027
+ });
1028
+ export const PostSessionMessageRequestSchema = z.strictObject({
1029
+ id: UuidSchema,
1030
+ text: SessionTextSchema,
1031
+ thread_id: UuidSchema.optional(),
1032
+ reply_to_id: UuidSchema.optional(),
1033
+ conversation_id: UuidSchema.optional(),
1034
+ card: QuestionCardSchema.optional(),
1035
+ });
675
1036
  export const ProjectBriefSchema = z.strictObject({
676
1037
  id: UuidSchema,
677
1038
  key: ProjectKeySchema,
@@ -693,6 +1054,10 @@ export const ProjectTypeSchema = z.strictObject({
693
1054
  color: ColorSchema.nullable(),
694
1055
  workflow: z.strictObject({ id: UuidSchema, name: z.string() }),
695
1056
  });
1057
+ export const ProposeSessionHandoffRequestSchema = z.strictObject({
1058
+ id: UuidSchema,
1059
+ item: ItemRefSchema,
1060
+ });
696
1061
  export const RankPositionSchema = z.strictObject({
697
1062
  before: ItemRefSchema.optional(),
698
1063
  after: ItemRefSchema.optional(),
@@ -731,6 +1096,148 @@ export const ReleaseVersionRequestSchema = z.strictObject({
731
1096
  move_open_to: ReleaseRefSchema.optional(),
732
1097
  });
733
1098
  export const RemoveLinkResponseSchema = z.strictObject({ id: UuidSchema, removed: z.boolean() });
1099
+ export const SessionApprovalSchema = z.strictObject({
1100
+ id: UuidSchema,
1101
+ status: z.enum([
1102
+ 'open',
1103
+ 'approved',
1104
+ 'approved_session',
1105
+ 'denied',
1106
+ 'expired',
1107
+ 'answered_elsewhere',
1108
+ 'stale',
1109
+ 'closed',
1110
+ ]),
1111
+ reason: z
1112
+ .enum([
1113
+ 'time',
1114
+ 'client',
1115
+ 'session_ended',
1116
+ 'unassigned',
1117
+ 'interrupted',
1118
+ 'deleted',
1119
+ 'removed',
1120
+ 'switched_off',
1121
+ ])
1122
+ .optional(),
1123
+ tool_name: z.string(),
1124
+ thread_id: UuidSchema.nullable(),
1125
+ created_at: TimestampSchema,
1126
+ closes_at: TimestampSchema,
1127
+ decided_at: TimestampSchema.optional(),
1128
+ });
1129
+ export const SessionBriefSchema = z.strictObject({ id: UuidSchema, label: z.string() });
1130
+ export const SessionCapabilitiesResponseSchema = z.strictObject({
1131
+ capabilities: z.array(CapabilitySchema).max(20),
1132
+ capabilities_detected: z.array(CapabilitySchema).max(20),
1133
+ });
1134
+ export const SessionCardMessageSchema = z.strictObject({
1135
+ id: UuidSchema,
1136
+ thread_id: UuidSchema.nullable(),
1137
+ });
1138
+ export const SessionCardResponseSchema = z.strictObject({
1139
+ id: UuidSchema,
1140
+ message_id: UuidSchema,
1141
+ revision: z.int().min(1),
1142
+ status: z.enum(['recorded', 'accepted', 'rejected']),
1143
+ answer: CardAnswerSchema,
1144
+ note: z.string().nullable(),
1145
+ created_at: TimestampSchema,
1146
+ updated_at: TimestampSchema,
1147
+ });
1148
+ export const SessionChildItemSchema = z.strictObject({
1149
+ id: UuidSchema,
1150
+ key: z.string(),
1151
+ title: z.string(),
1152
+ status: z
1153
+ .strictObject({ key: z.string().nullable(), name: z.string().nullable(), category: z.string() })
1154
+ .nullable(),
1155
+ });
1156
+ export const SessionChildResultSchema = z.strictObject({
1157
+ untrusted: z.literal(true),
1158
+ message: z.strictObject({
1159
+ id: UuidSchema,
1160
+ author: z.strictObject({
1161
+ kind: z.enum(['user', 'app', 'agent']),
1162
+ id: UuidSchema.nullable(),
1163
+ name: z.string(),
1164
+ }),
1165
+ from_owner: z.boolean(),
1166
+ via_agent: z.string().nullable(),
1167
+ text: z.string(),
1168
+ created_at: TimestampSchema,
1169
+ }),
1170
+ });
1171
+ export const SessionContextMessageSchema = z.strictObject({
1172
+ id: UuidSchema,
1173
+ author: z.strictObject({
1174
+ kind: z.enum(['user', 'app', 'agent']),
1175
+ id: UuidSchema.nullable(),
1176
+ name: z.string(),
1177
+ }),
1178
+ from_owner: z.boolean(),
1179
+ via_agent: z.string().nullable().optional(),
1180
+ text: z.string(),
1181
+ created_at: TimestampSchema,
1182
+ });
1183
+ export const SessionEventMessageSchema = z.strictObject({
1184
+ id: UuidSchema,
1185
+ thread_id: UuidSchema.nullable(),
1186
+ reply_to_id: UuidSchema.nullable(),
1187
+ text: z.string(),
1188
+ mentions: z.array(UuidSchema),
1189
+ has_card: z.boolean(),
1190
+ created_at: TimestampSchema,
1191
+ edited_at: TimestampSchema.nullable(),
1192
+ via_agent: z.string().nullable().optional(),
1193
+ forwarded: z.boolean(),
1194
+ forwarded_from: z
1195
+ .strictObject({
1196
+ message_id: UuidSchema,
1197
+ user: z.strictObject({ id: UuidSchema, name: z.string() }).nullable(),
1198
+ app: z.strictObject({ id: UuidSchema, name: z.string() }).nullable(),
1199
+ })
1200
+ .nullable(),
1201
+ });
1202
+ export const SessionEventProjectSchema = z.strictObject({ id: UuidSchema, key: z.string() });
1203
+ export const SessionEventUserSchema = z.strictObject({
1204
+ id: UuidSchema,
1205
+ name: z.string(),
1206
+ is_guest: z.boolean(),
1207
+ locale: z.string().nullable(),
1208
+ });
1209
+ export const SessionHeartbeatRequestSchema = z.strictObject({ state: SessionStateSchema });
1210
+ export const SessionHeartbeatResponseSchema = z.strictObject({
1211
+ state: SessionStateSchema,
1212
+ last_seen_at: TimestampSchema,
1213
+ });
1214
+ export const SessionItemStatusSchema = z.strictObject({
1215
+ id: UuidSchema,
1216
+ key: z.string().nullable(),
1217
+ name: z.string().nullable(),
1218
+ category: z.string(),
1219
+ });
1220
+ export const SessionOwnerSchema = z.strictObject({ id: UuidSchema, name: z.string() });
1221
+ export const SessionRuleSchema = z.union([
1222
+ z.strictObject({
1223
+ type: z.literal('addRules'),
1224
+ rules: z.array(SessionRuleEntrySchema).min(1).max(5),
1225
+ behavior: z.literal('allow'),
1226
+ destination: z.literal('session'),
1227
+ }),
1228
+ z.strictObject({
1229
+ type: z.literal('setMode'),
1230
+ mode: z.literal('acceptEdits'),
1231
+ destination: z.literal('session'),
1232
+ }),
1233
+ ]);
1234
+ export const SessionTypingRequestSchema = z.strictObject({
1235
+ thread_id: UuidSchema.nullable().optional(),
1236
+ typing: z.boolean().optional(),
1237
+ });
1238
+ export const SetSessionCapabilitiesRequestSchema = z.strictObject({
1239
+ detected: z.array(CapabilityInSchema).max(20),
1240
+ });
734
1241
  export const SprintSchema = z.strictObject({
735
1242
  id: UuidSchema,
736
1243
  number: z.int(),
@@ -794,6 +1301,10 @@ export const UpdateReleaseRequestSchema = z.strictObject({
794
1301
  target_date: DateSchema.nullable().optional(),
795
1302
  released_on: DateSchema.optional(),
796
1303
  });
1304
+ export const UpdateSessionMessageRequestSchema = z.strictObject({
1305
+ text: SessionTextSchema.optional(),
1306
+ card: QuestionCardSchema.nullable().optional(),
1307
+ });
797
1308
  export const UserSchema = z.strictObject({
798
1309
  id: UuidSchema,
799
1310
  display_name: z.string(),
@@ -881,6 +1392,9 @@ export const WorkflowStatusSchema = z.strictObject({
881
1392
  board_column: z.string().nullable(),
882
1393
  allowed: z.array(AllowedTransitionSchema),
883
1394
  });
1395
+ export const AnswerSessionResponseResponseSchema = z.strictObject({
1396
+ response: SessionCardResponseSchema,
1397
+ });
884
1398
  export const BulkPatchSchema = z.strictObject({
885
1399
  status: NameRefSchema.optional(),
886
1400
  assignee: UserRefSchema.nullable().optional(),
@@ -907,6 +1421,9 @@ export const ChannelSchema = z.strictObject({
907
1421
  project: ProjectBriefSchema.nullable(),
908
1422
  last_message_at: TimestampSchema.nullable(),
909
1423
  });
1424
+ export const CloseSessionApprovalResponseSchema = z.strictObject({
1425
+ approval: SessionApprovalSchema,
1426
+ });
910
1427
  export const CommentSchema = z.strictObject({
911
1428
  id: UuidSchema,
912
1429
  author: UserSchema.nullable(),
@@ -925,6 +1442,14 @@ export const CompleteSprintResponseSchema = z.strictObject({
925
1442
  carried_count: z.int(),
926
1443
  carried_to: SprintBriefSchema.nullable(),
927
1444
  });
1445
+ export const ConnectPollResponseSchema = z.strictObject({
1446
+ token: SessionTokenSchema,
1447
+ expires_at: TimestampSchema,
1448
+ session: ConnectedSessionSchema,
1449
+ agent: AgentBriefSchema,
1450
+ owner: SessionOwnerSchema,
1451
+ org: z.strictObject({ id: UuidSchema, name: z.string() }),
1452
+ });
928
1453
  export const CreateItemRequestSchema = z.strictObject({
929
1454
  project: ProjectRefSchema.optional(),
930
1455
  type: NameRefSchema.optional(),
@@ -933,8 +1458,10 @@ export const CreateItemRequestSchema = z.strictObject({
933
1458
  parent: ItemRefSchema.optional(),
934
1459
  status: NameRefSchema.optional(),
935
1460
  assignee: UserRefSchema.optional(),
1461
+ assignee_agent: AgentRefSchema.optional(),
936
1462
  priority: PrioritySchema.optional(),
937
1463
  labels: z.array(LabelRefSchema).max(100).optional(),
1464
+ needs: z.array(CapabilityInSchema).max(10).optional(),
938
1465
  estimate: EstimateSchema.optional(),
939
1466
  start_date: DateSchema.optional(),
940
1467
  due_date: DateSchema.optional(),
@@ -972,6 +1499,18 @@ export const FieldDefSchema = z.strictObject({
972
1499
  required_on_create: z.boolean(),
973
1500
  position: z.int(),
974
1501
  });
1502
+ export const GetSessionApprovalResponseSchema = z.strictObject({ approval: SessionApprovalSchema });
1503
+ export const HandoffOptionSchema = z.strictObject({
1504
+ kind: z.enum(['session', 'agent']),
1505
+ agent: AgentBriefSchema,
1506
+ session: SessionBriefSchema.nullable(),
1507
+ online: z.boolean(),
1508
+ });
1509
+ export const HandoffTargetSchema = z.strictObject({
1510
+ kind: z.enum(['session', 'agent']),
1511
+ agent: AgentBriefSchema,
1512
+ session: SessionBriefSchema.nullable(),
1513
+ });
975
1514
  export const HistoryEventSchema = z.strictObject({
976
1515
  id: z.int(),
977
1516
  at: TimestampSchema,
@@ -994,10 +1533,12 @@ export const ItemSummarySchema = z.strictObject({
994
1533
  title: z.string(),
995
1534
  priority: PrioritySchema,
996
1535
  assignee: UserSchema.nullable(),
1536
+ assignee_agent: AgentBriefSchema.nullable(),
997
1537
  reporter: UserSchema.nullable(),
998
1538
  parent: ItemBriefSchema.nullable(),
999
1539
  initiative: InitiativeBriefSchema.nullable(),
1000
1540
  labels: z.array(LabelSchema),
1541
+ needs: z.array(CapabilitySchema).max(10).optional(),
1001
1542
  estimate: z.number().nullable(),
1002
1543
  start_date: DateSchema.nullable(),
1003
1544
  due_date: DateSchema.nullable(),
@@ -1018,6 +1559,7 @@ export const LinkedItemSchema = z.strictObject({
1018
1559
  title: z.string(),
1019
1560
  status: StatusBriefSchema,
1020
1561
  });
1562
+ export const ListEmojiResponseSchema = z.strictObject({ items: z.array(CustomEmojiSchema) });
1021
1563
  export const ListMembersResponseSchema = z.strictObject({
1022
1564
  items: z.array(OrgMemberSchema),
1023
1565
  next_cursor: z.string().nullable(),
@@ -1040,6 +1582,7 @@ export const MeResponseSchema = z.strictObject({
1040
1582
  token: z.strictObject({
1041
1583
  id: UuidSchema,
1042
1584
  name: z.string(),
1585
+ kind: z.enum(['pat', 'session']).optional(),
1043
1586
  scopes: z.array(ScopeSchema),
1044
1587
  expires_at: TimestampSchema,
1045
1588
  created_at: TimestampSchema,
@@ -1082,6 +1625,9 @@ export const MessageSchema = z.strictObject({
1082
1625
  edited_at: TimestampSchema.nullable(),
1083
1626
  deleted: z.boolean(),
1084
1627
  via_agent: z.string().nullable(),
1628
+ pinned: z.boolean(),
1629
+ pinned_at: TimestampSchema.nullable(),
1630
+ pinned_by: MessageAuthorSchema.nullable(),
1085
1631
  });
1086
1632
  export const PageSchema = z.strictObject({
1087
1633
  id: UuidSchema,
@@ -1123,6 +1669,23 @@ export const PlanPreviewSchema = z.strictObject({
1123
1669
  item_count: z.int(),
1124
1670
  warnings: z.array(z.string()),
1125
1671
  });
1672
+ export const PostSessionApprovalRequestSchema = z.strictObject({
1673
+ id: UuidSchema,
1674
+ thread_id: UuidSchema.nullable().optional(),
1675
+ tool_name: z.string().regex(new RegExp('^[A-Za-z0-9][A-Za-z0-9_.:-]{0,99}$', 'u')),
1676
+ tool_use_id: z.string().regex(new RegExp('^[A-Za-z0-9_-]{1,100}$', 'u')).optional(),
1677
+ agent: z
1678
+ .strictObject({
1679
+ ref: z.string().regex(new RegExp('^[A-Za-z0-9_.:-]{1,200}$', 'u')),
1680
+ type: z.string().regex(new RegExp('^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$', 'u')).optional(),
1681
+ })
1682
+ .optional(),
1683
+ description: z.string().optional(),
1684
+ fields: z.array(ApprovalFieldSchema).max(20),
1685
+ more_fields: z.int().min(0).optional(),
1686
+ suggestion: SessionRuleSchema.optional(),
1687
+ wait_s: z.int().min(60).max(3540),
1688
+ });
1126
1689
  export const ProjectSummarySchema = z.strictObject({
1127
1690
  id: UuidSchema,
1128
1691
  key: ProjectKeySchema,
@@ -1141,6 +1704,145 @@ export const ReleaseItemsResponseSchema = z.strictObject({
1141
1704
  changed: z.array(ItemBriefSchema),
1142
1705
  });
1143
1706
  export const ReleaseResponseSchema = z.strictObject({ release: ReleaseSchema });
1707
+ export const SessionApprovalOutcomeSchema = z.strictObject({
1708
+ id: UuidSchema,
1709
+ outcome: z.enum([
1710
+ 'approved',
1711
+ 'approved_session',
1712
+ 'denied',
1713
+ 'expired',
1714
+ 'answered_elsewhere',
1715
+ 'stale',
1716
+ 'closed',
1717
+ ]),
1718
+ reason: z
1719
+ .enum([
1720
+ 'time',
1721
+ 'client',
1722
+ 'session_ended',
1723
+ 'unassigned',
1724
+ 'interrupted',
1725
+ 'deleted',
1726
+ 'removed',
1727
+ 'switched_off',
1728
+ ])
1729
+ .optional(),
1730
+ decided_by: UuidSchema.optional(),
1731
+ decided_at: TimestampSchema.optional(),
1732
+ rule: ApprovalRuleSchema.optional(),
1733
+ });
1734
+ export const SessionAssignedHandoffSchema = z.strictObject({
1735
+ id: UuidSchema,
1736
+ parent: ItemIdKeySchema,
1737
+ from: z.strictObject({ agent: AgentBriefSchema, session: SessionBriefSchema.nullable() }),
1738
+ needs: z.array(CapabilitySchema),
1739
+ queued: z.boolean(),
1740
+ });
1741
+ export const SessionCardResponseDataSchema = z.strictObject({
1742
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
1743
+ message: SessionCardMessageSchema,
1744
+ card: SessionCardSettingsSchema,
1745
+ response: z.strictObject({
1746
+ id: UuidSchema,
1747
+ revision: z.int().min(1),
1748
+ answer: CardAnswerSchema,
1749
+ created_at: TimestampSchema,
1750
+ updated_at: TimestampSchema,
1751
+ }),
1752
+ user: SessionEventUserSchema,
1753
+ pseudonym: z.string().nullable(),
1754
+ private: z.unknown(),
1755
+ });
1756
+ export const SessionEventItemSchema = z.strictObject({
1757
+ id: UuidSchema,
1758
+ key: z.string(),
1759
+ title: z.string(),
1760
+ type: z.strictObject({
1761
+ id: UuidSchema.nullable(),
1762
+ key: z.string().nullable(),
1763
+ name: z.string().nullable(),
1764
+ }),
1765
+ status: SessionItemStatusSchema.nullable(),
1766
+ created_at: TimestampSchema,
1767
+ description_excerpt: z.string().optional(),
1768
+ description_truncated: z.boolean().optional(),
1769
+ });
1770
+ export const SessionItemAssignmentSchema = z.strictObject({
1771
+ agent: AgentBriefSchema,
1772
+ owner: SessionOwnerSchema,
1773
+ by: SessionEventUserSchema.nullable(),
1774
+ at: TimestampSchema,
1775
+ });
1776
+ export const SessionItemContextSchema = z.strictObject({
1777
+ untrusted: z.literal(true),
1778
+ messages: z.array(SessionContextMessageSchema).max(10),
1779
+ });
1780
+ export const SessionMessageSchema = z.strictObject({
1781
+ id: UuidSchema,
1782
+ conversation_id: UuidSchema,
1783
+ thread_id: UuidSchema.nullable(),
1784
+ reply_to_id: UuidSchema.nullable(),
1785
+ text: z.string(),
1786
+ created_at: TimestampSchema,
1787
+ session: SessionBriefSchema,
1788
+ });
1789
+ export const SessionResponseSchema = z.strictObject({
1790
+ session: z.strictObject({
1791
+ id: UuidSchema,
1792
+ label: z.string(),
1793
+ machine: z.string(),
1794
+ client: z.string(),
1795
+ scopes: z.array(ScopeSchema),
1796
+ project_ids: z.array(UuidSchema),
1797
+ channel_ids: z.array(UuidSchema),
1798
+ approved_at: TimestampSchema,
1799
+ last_seen_at: TimestampSchema.nullable(),
1800
+ expires_at: TimestampSchema,
1801
+ capabilities: z.array(CapabilitySchema).max(20).optional(),
1802
+ capabilities_detected: z.array(CapabilitySchema).max(20).optional(),
1803
+ }),
1804
+ agent: AgentBriefSchema,
1805
+ owner: SessionOwnerSchema,
1806
+ org: z.strictObject({ id: UuidSchema, name: z.string() }),
1807
+ dm: z.strictObject({ conversation_id: UuidSchema }),
1808
+ poll_interval_s: z.int().min(1),
1809
+ });
1810
+ export const SessionThreadSchema = z.strictObject({
1811
+ thread_id: UuidSchema,
1812
+ conversation_id: UuidSchema,
1813
+ kind: z.enum(['dm', 'item']),
1814
+ item: z
1815
+ .strictObject({
1816
+ id: UuidSchema,
1817
+ key: z.string(),
1818
+ title: z.string(),
1819
+ status: SessionItemStatusSchema.nullable(),
1820
+ })
1821
+ .nullable(),
1822
+ bound_reason: z.enum(['posted', 'routed', 'handed', 'assigned', 'mentioned', 'handoff']),
1823
+ bound_at: TimestampSchema,
1824
+ last_owner_message_at: TimestampSchema.nullable(),
1825
+ open_cards: z.int().min(0),
1826
+ handoff: z
1827
+ .strictObject({
1828
+ id: UuidSchema,
1829
+ role: z.enum(['target', 'asked']),
1830
+ status: z.enum([
1831
+ 'proposed',
1832
+ 'cancelled',
1833
+ 'expired',
1834
+ 'stale',
1835
+ 'withdrawn',
1836
+ 'closed',
1837
+ 'handed',
1838
+ 'declined',
1839
+ 'ended',
1840
+ 'finished',
1841
+ ]),
1842
+ })
1843
+ .nullable()
1844
+ .optional(),
1845
+ });
1144
1846
  export const SprintItemsResponseSchema = z.strictObject({
1145
1847
  sprint: SprintSchema,
1146
1848
  changed: z.array(ItemBriefSchema),
@@ -1167,10 +1869,12 @@ export const UpdateItemRequestSchema = z.strictObject({
1167
1869
  status: NameRefSchema.optional(),
1168
1870
  parent: ItemRefSchema.nullable().optional(),
1169
1871
  assignee: UserRefSchema.nullable().optional(),
1872
+ assignee_agent: AgentRefSchema.nullable().optional(),
1170
1873
  priority: PrioritySchema.optional(),
1171
1874
  labels: z.array(LabelRefSchema).max(100).optional(),
1172
1875
  add_labels: z.array(LabelRefSchema).max(100).optional(),
1173
1876
  remove_labels: z.array(LabelRefSchema).max(100).optional(),
1877
+ needs: z.array(CapabilityInSchema).max(10).optional(),
1174
1878
  estimate: EstimateSchema.nullable().optional(),
1175
1879
  start_date: DateSchema.nullable().optional(),
1176
1880
  due_date: DateSchema.nullable().optional(),
@@ -1303,8 +2007,16 @@ export const ListProjectsResponseSchema = z.strictObject({
1303
2007
  items: z.array(ProjectSummarySchema),
1304
2008
  next_cursor: z.string().nullable(),
1305
2009
  });
2010
+ export const ListSessionThreadsResponseSchema = z.strictObject({
2011
+ threads: z.array(SessionThreadSchema).max(50),
2012
+ });
1306
2013
  export const ListWorkTypesResponseSchema = z.strictObject({ items: z.array(WorkTypeSchema) });
1307
2014
  export const PageResponseSchema = z.strictObject({ page: PageSchema });
2015
+ export const PinnedMessageSchema = z.strictObject({
2016
+ pinned_at: TimestampSchema,
2017
+ pinned_by: MessageAuthorSchema.nullable(),
2018
+ message: MessageSchema,
2019
+ });
1308
2020
  export const PlanResultSchema = z.union([
1309
2021
  z.strictObject({ action: z.literal('delete_item'), deleted: z.array(ItemBriefSchema) }),
1310
2022
  z.strictObject({
@@ -1319,11 +2031,180 @@ export const PlanResultSchema = z.union([
1319
2031
  z.strictObject({ action: z.literal('field_change'), field_id: UuidSchema }),
1320
2032
  z.strictObject({ action: z.literal('label_change'), label_id: UuidSchema }),
1321
2033
  ]);
2034
+ export const PostPlanCardResponseSchema = z.strictObject({
2035
+ created: z.boolean(),
2036
+ message: SessionMessageSchema,
2037
+ plan: z.strictObject({ handle: PlanHandleSchema, expires_at: TimestampSchema }),
2038
+ });
2039
+ export const PostSessionApprovalResponseSchema = z.strictObject({
2040
+ created: z.boolean(),
2041
+ message: SessionMessageSchema,
2042
+ approval: SessionApprovalSchema,
2043
+ });
2044
+ export const PostSessionMessageResponseSchema = z.strictObject({
2045
+ created: z.boolean(),
2046
+ message: SessionMessageSchema,
2047
+ });
1322
2048
  export const RankItemResponseSchema = z.strictObject({ item: ItemSummarySchema });
1323
2049
  export const SearchPagesResponseSchema = z.strictObject({
1324
2050
  items: z.array(PageSearchResultSchema),
1325
2051
  next_cursor: z.string().nullable(),
1326
2052
  });
2053
+ export const SessionCardResponseEventSchema = z.strictObject({
2054
+ v: z.literal(1),
2055
+ id: UuidSchema,
2056
+ type: z.literal('card.response'),
2057
+ created_at: TimestampSchema,
2058
+ org: z.strictObject({ id: UuidSchema }),
2059
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2060
+ attempt: z.int().min(1),
2061
+ session: SessionBriefSchema,
2062
+ data: SessionCardResponseDataSchema,
2063
+ });
2064
+ export const SessionChildDoneDataSchema = z.strictObject({
2065
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
2066
+ project: SessionEventProjectSchema,
2067
+ item: SessionEventItemSchema,
2068
+ child: SessionChildItemSchema,
2069
+ handoff: z.strictObject({
2070
+ id: UuidSchema,
2071
+ needs: z.array(CapabilitySchema),
2072
+ target: z.strictObject({ agent: AgentBriefSchema, session: SessionBriefSchema.nullable() }),
2073
+ }),
2074
+ outcome: z.enum(['in_review', 'done', 'declined', 'ended']),
2075
+ reason: z
2076
+ .enum([
2077
+ 'canceled',
2078
+ 'unassigned',
2079
+ 'reassigned',
2080
+ 'moved',
2081
+ 'deleted',
2082
+ 'owner_left',
2083
+ 'agent_deleted',
2084
+ 'expired',
2085
+ ])
2086
+ .nullable(),
2087
+ result: SessionChildResultSchema.nullable(),
2088
+ });
2089
+ export const SessionEventDataSchema = z.strictObject({
2090
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }).optional(),
2091
+ message: SessionEventMessageSchema.optional(),
2092
+ user: SessionEventUserSchema.nullable().optional(),
2093
+ project: SessionEventProjectSchema.optional(),
2094
+ item: SessionEventItemSchema.optional(),
2095
+ assignment: SessionItemAssignmentSchema.nullable().optional(),
2096
+ context: SessionItemContextSchema.optional(),
2097
+ });
2098
+ export const SessionHandoffSchema = z.strictObject({
2099
+ id: UuidSchema,
2100
+ item: ItemIdKeySchema,
2101
+ parent: ItemIdKeySchema,
2102
+ needs: z.array(CapabilitySchema),
2103
+ status: z.enum([
2104
+ 'proposed',
2105
+ 'cancelled',
2106
+ 'expired',
2107
+ 'stale',
2108
+ 'withdrawn',
2109
+ 'closed',
2110
+ 'handed',
2111
+ 'declined',
2112
+ 'ended',
2113
+ 'finished',
2114
+ ]),
2115
+ card_message_id: UuidSchema.nullable(),
2116
+ closes_at: TimestampSchema,
2117
+ targets: z.array(HandoffOptionSchema).max(4),
2118
+ target: HandoffTargetSchema.optional(),
2119
+ queued: z.boolean().optional(),
2120
+ outcome: z.enum(['applied', 'cancelled', 'expired', 'stale', 'withdrawn', 'closed']).optional(),
2121
+ reason: z
2122
+ .enum([
2123
+ 'deleted',
2124
+ 'moved',
2125
+ 'closed',
2126
+ 'agent_assigned',
2127
+ 'person_assigned',
2128
+ 'other_session',
2129
+ 'parent_changed',
2130
+ 'no_target',
2131
+ 'session_ended',
2132
+ 'unassigned',
2133
+ 'removed',
2134
+ 'interrupted',
2135
+ 'switched_off',
2136
+ 'canceled',
2137
+ 'reassigned',
2138
+ 'owner_left',
2139
+ 'agent_deleted',
2140
+ 'expired',
2141
+ ])
2142
+ .optional(),
2143
+ });
2144
+ export const SessionHandoffOutcomeSchema = z.strictObject({
2145
+ id: UuidSchema,
2146
+ item: ItemIdKeySchema,
2147
+ outcome: z.enum(['applied', 'cancelled', 'expired', 'stale', 'withdrawn', 'closed']),
2148
+ reason: z
2149
+ .enum([
2150
+ 'deleted',
2151
+ 'moved',
2152
+ 'closed',
2153
+ 'agent_assigned',
2154
+ 'person_assigned',
2155
+ 'other_session',
2156
+ 'parent_changed',
2157
+ 'no_target',
2158
+ 'session_ended',
2159
+ 'unassigned',
2160
+ 'removed',
2161
+ 'interrupted',
2162
+ 'switched_off',
2163
+ 'canceled',
2164
+ 'reassigned',
2165
+ 'owner_left',
2166
+ 'agent_deleted',
2167
+ 'expired',
2168
+ ])
2169
+ .optional(),
2170
+ target: HandoffTargetSchema.optional(),
2171
+ queued: z.boolean().optional(),
2172
+ });
2173
+ export const SessionItemAssignedDataSchema = z.strictObject({
2174
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
2175
+ project: SessionEventProjectSchema,
2176
+ item: SessionEventItemSchema,
2177
+ assignment: SessionItemAssignmentSchema,
2178
+ context: SessionItemContextSchema,
2179
+ user: SessionEventUserSchema.nullable(),
2180
+ handoff: SessionAssignedHandoffSchema.optional(),
2181
+ });
2182
+ export const SessionItemUnassignedDataSchema = z.strictObject({
2183
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
2184
+ project: SessionEventProjectSchema,
2185
+ item: SessionEventItemSchema,
2186
+ assignment: SessionItemAssignmentSchema.nullable(),
2187
+ reason: z.enum([
2188
+ 'unassigned',
2189
+ 'reassigned',
2190
+ 'moved',
2191
+ 'deleted',
2192
+ 'owner_left',
2193
+ 'agent_deleted',
2194
+ 'declined',
2195
+ 'handoff_expired',
2196
+ ]),
2197
+ user: SessionEventUserSchema.nullable(),
2198
+ });
2199
+ export const SessionMentionDataSchema = z.strictObject({
2200
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
2201
+ project: SessionEventProjectSchema,
2202
+ item: SessionEventItemSchema,
2203
+ assignment: SessionItemAssignmentSchema.nullable(),
2204
+ context: SessionItemContextSchema,
2205
+ message: SessionEventMessageSchema,
2206
+ user: SessionEventUserSchema,
2207
+ });
1327
2208
  export const ThreadResponseSchema = z.strictObject({
1328
2209
  root: MessageSchema,
1329
2210
  replies: z.array(MessageSchema),
@@ -1339,6 +2220,7 @@ export const TransitionItemResponseSchema = z.strictObject({
1339
2220
  item: ItemSummarySchema,
1340
2221
  comment: CommentSchema.nullable(),
1341
2222
  });
2223
+ export const UpdateSessionMessageResponseSchema = z.strictObject({ message: SessionMessageSchema });
1342
2224
  export const WorkflowChangeArgsSchema = z.strictObject({
1343
2225
  project: ProjectRefSchema,
1344
2226
  workflow_def: WorkflowDefinitionSchema,
@@ -1370,10 +2252,12 @@ export const ItemDetailSchema = z.strictObject({
1370
2252
  title: z.string(),
1371
2253
  priority: PrioritySchema,
1372
2254
  assignee: UserSchema.nullable(),
2255
+ assignee_agent: AgentBriefSchema.nullable(),
1373
2256
  reporter: UserSchema.nullable(),
1374
2257
  parent: ItemBriefSchema.nullable(),
1375
2258
  initiative: InitiativeBriefSchema.nullable(),
1376
2259
  labels: z.array(LabelSchema),
2260
+ needs: z.array(CapabilitySchema).max(10).optional(),
1377
2261
  estimate: z.number().nullable(),
1378
2262
  start_date: DateSchema.nullable(),
1379
2263
  due_date: DateSchema.nullable(),
@@ -1404,10 +2288,12 @@ export const ItemSearchResultSchema = z.strictObject({
1404
2288
  title: z.string(),
1405
2289
  priority: PrioritySchema,
1406
2290
  assignee: UserSchema.nullable(),
2291
+ assignee_agent: AgentBriefSchema.nullable(),
1407
2292
  reporter: UserSchema.nullable(),
1408
2293
  parent: ItemBriefSchema.nullable(),
1409
2294
  initiative: InitiativeBriefSchema.nullable(),
1410
2295
  labels: z.array(LabelSchema),
2296
+ needs: z.array(CapabilitySchema).max(10).optional(),
1411
2297
  estimate: z.number().nullable(),
1412
2298
  start_date: DateSchema.nullable(),
1413
2299
  due_date: DateSchema.nullable(),
@@ -1427,6 +2313,78 @@ export const ItemSearchResultSchema = z.strictObject({
1427
2313
  description: z.string().optional(),
1428
2314
  custom: z.array(CustomFieldValueSchema).optional(),
1429
2315
  });
2316
+ export const ListPinsResponseSchema = z.strictObject({
2317
+ items: z.array(PinnedMessageSchema),
2318
+ next_cursor: z.string().nullable(),
2319
+ });
2320
+ export const ProposeSessionHandoffResponseSchema = z.strictObject({
2321
+ handoff: SessionHandoffSchema,
2322
+ created: z.boolean(),
2323
+ });
2324
+ export const SessionChildDoneEventSchema = z.strictObject({
2325
+ v: z.literal(1),
2326
+ id: UuidSchema,
2327
+ type: z.literal('work_item.child_done'),
2328
+ created_at: TimestampSchema,
2329
+ org: z.strictObject({ id: UuidSchema }),
2330
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2331
+ attempt: z.int().min(1),
2332
+ session: SessionBriefSchema,
2333
+ data: SessionChildDoneDataSchema,
2334
+ });
2335
+ export const SessionHandoffResponseSchema = z.strictObject({ handoff: SessionHandoffSchema });
2336
+ export const SessionItemAssignedEventSchema = z.strictObject({
2337
+ v: z.literal(1),
2338
+ id: UuidSchema,
2339
+ type: z.literal('work_item.assigned'),
2340
+ created_at: TimestampSchema,
2341
+ org: z.strictObject({ id: UuidSchema }),
2342
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2343
+ attempt: z.int().min(1),
2344
+ session: SessionBriefSchema,
2345
+ data: SessionItemAssignedDataSchema,
2346
+ });
2347
+ export const SessionItemUnassignedEventSchema = z.strictObject({
2348
+ v: z.literal(1),
2349
+ id: UuidSchema,
2350
+ type: z.literal('work_item.unassigned'),
2351
+ created_at: TimestampSchema,
2352
+ org: z.strictObject({ id: UuidSchema }),
2353
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2354
+ attempt: z.int().min(1),
2355
+ session: SessionBriefSchema,
2356
+ data: SessionItemUnassignedDataSchema,
2357
+ });
2358
+ export const SessionMentionEventSchema = z.strictObject({
2359
+ v: z.literal(1),
2360
+ id: UuidSchema,
2361
+ type: z.literal('app.mentioned'),
2362
+ created_at: TimestampSchema,
2363
+ org: z.strictObject({ id: UuidSchema }),
2364
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2365
+ attempt: z.int().min(1),
2366
+ session: SessionBriefSchema,
2367
+ data: SessionMentionDataSchema,
2368
+ });
2369
+ export const SessionMessageEventSchema = z.strictObject({
2370
+ v: z.literal(1),
2371
+ id: UuidSchema,
2372
+ type: z.literal('message.posted'),
2373
+ created_at: TimestampSchema,
2374
+ org: z.strictObject({ id: UuidSchema }),
2375
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2376
+ attempt: z.int().min(1),
2377
+ session: SessionBriefSchema,
2378
+ data: SessionEventDataSchema,
2379
+ });
2380
+ export const SessionPlanOutcomeSchema = z.strictObject({
2381
+ handle: PlanHandleSchema,
2382
+ action: PlanActionSchema,
2383
+ outcome: z.enum(['applied', 'cancelled', 'stale', 'failed', 'expired', 'unknown']),
2384
+ result: PlanResultSchema.optional(),
2385
+ error: z.strictObject({ code: z.string(), message: z.string().optional() }).optional(),
2386
+ changed: z.array(z.strictObject({ kind: z.string(), ref: z.string() })).optional(),
2387
+ });
1430
2388
  export const CreateItemResponseSchema = z.strictObject({
1431
2389
  item: ItemDetailSchema,
1432
2390
  created: z.boolean(),
@@ -1446,15 +2404,71 @@ export const SearchItemsResponseSchema = z.strictObject({
1446
2404
  items: z.array(ItemSearchResultSchema),
1447
2405
  next_cursor: z.string().nullable(),
1448
2406
  });
2407
+ export const SessionCardClosedDataSchema = z.strictObject({
2408
+ channel: z.strictObject({ id: UuidSchema, name: z.string().nullable() }),
2409
+ message: SessionCardMessageSchema,
2410
+ card: SessionCardSettingsSchema,
2411
+ closed_by: z.enum([
2412
+ 'time',
2413
+ 'app',
2414
+ 'owner',
2415
+ 'session_ended',
2416
+ 'deleted',
2417
+ 'removed',
2418
+ 'unassigned',
2419
+ 'switched_off',
2420
+ ]),
2421
+ closed_at: TimestampSchema,
2422
+ respondents: z.int().min(0),
2423
+ counts: z.record(z.string(), z.unknown()).nullable(),
2424
+ private: z.unknown(),
2425
+ plan: SessionPlanOutcomeSchema.optional(),
2426
+ approval: SessionApprovalOutcomeSchema.optional(),
2427
+ handoff: SessionHandoffOutcomeSchema.optional(),
2428
+ });
2429
+ export const SessionCardClosedEventSchema = z.strictObject({
2430
+ v: z.literal(1),
2431
+ id: UuidSchema,
2432
+ type: z.literal('card.closed'),
2433
+ created_at: TimestampSchema,
2434
+ org: z.strictObject({ id: UuidSchema }),
2435
+ app: z.strictObject({ id: UuidSchema, installation_id: UuidSchema }),
2436
+ attempt: z.int().min(1),
2437
+ session: SessionBriefSchema,
2438
+ data: SessionCardClosedDataSchema,
2439
+ });
2440
+ export const SessionEventSchema = z.union([
2441
+ SessionMessageEventSchema,
2442
+ SessionCardResponseEventSchema,
2443
+ SessionCardClosedEventSchema,
2444
+ SessionMentionEventSchema,
2445
+ SessionItemAssignedEventSchema,
2446
+ SessionItemUnassignedEventSchema,
2447
+ SessionChildDoneEventSchema,
2448
+ ]);
2449
+ export const SessionEventsResponseSchema = z.strictObject({
2450
+ events: z.array(SessionEventSchema),
2451
+ cursor: z.int().min(0),
2452
+ more: z.boolean(),
2453
+ });
2454
+ /** The answer of an operation that returns no body (204). */
2455
+ export const NoContentSchema = z.undefined();
1449
2456
  /** Each operation's query parameters, as read from a URL (repeated parameters as arrays). */
1450
2457
  export const QUERY_SCHEMAS = {
2458
+ ack_session_events: z.strictObject({}),
1451
2459
  add_comment: z.strictObject({}),
1452
2460
  add_link: z.strictObject({}),
1453
2461
  add_release_items: z.strictObject({}),
1454
2462
  add_sprint_items: z.strictObject({}),
2463
+ answer_session_response: z.strictObject({}),
1455
2464
  apply_plan: z.strictObject({}),
1456
2465
  archive_release: z.strictObject({}),
2466
+ close_session_approval: z.strictObject({}),
2467
+ close_session_card: z.strictObject({}),
2468
+ close_session_handoff: z.strictObject({}),
1457
2469
  complete_sprint: z.strictObject({}),
2470
+ connect_poll: z.strictObject({}),
2471
+ connect_start: z.strictObject({}),
1458
2472
  create_channel: z.strictObject({}),
1459
2473
  create_item: z.strictObject({}),
1460
2474
  create_page: z.strictObject({}),
@@ -1462,6 +2476,7 @@ export const QUERY_SCHEMAS = {
1462
2476
  create_project: z.strictObject({}),
1463
2477
  create_release: z.strictObject({}),
1464
2478
  create_sprint: z.strictObject({}),
2479
+ decline_session_handoff: z.strictObject({}),
1465
2480
  describe_project: z.strictObject({}),
1466
2481
  generate_release_notes: z.strictObject({}),
1467
2482
  get_item: z.strictObject({
@@ -1477,6 +2492,9 @@ export const QUERY_SCHEMAS = {
1477
2492
  get_me: z.strictObject({}),
1478
2493
  get_meta: z.strictObject({}),
1479
2494
  get_page: z.strictObject({}),
2495
+ get_session: z.strictObject({}),
2496
+ get_session_approval: z.strictObject({}),
2497
+ get_session_handoff: z.strictObject({}),
1480
2498
  get_thread: z.strictObject({
1481
2499
  cursor: CursorSchema.optional(),
1482
2500
  limit: z.coerce.number().int().min(1).max(100).optional(),
@@ -1497,6 +2515,7 @@ export const QUERY_SCHEMAS = {
1497
2515
  cursor: CursorSchema.optional(),
1498
2516
  limit: z.coerce.number().int().min(1).max(100).optional(),
1499
2517
  }),
2518
+ list_emoji: z.strictObject({}),
1500
2519
  list_members: z.strictObject({
1501
2520
  q: z.string().min(1).max(100).optional(),
1502
2521
  cursor: CursorSchema.optional(),
@@ -1506,6 +2525,10 @@ export const QUERY_SCHEMAS = {
1506
2525
  cursor: CursorSchema.optional(),
1507
2526
  limit: z.coerce.number().int().min(1).max(100).optional(),
1508
2527
  }),
2528
+ list_pins: z.strictObject({
2529
+ cursor: CursorSchema.optional(),
2530
+ limit: z.coerce.number().int().min(1).max(100).optional(),
2531
+ }),
1509
2532
  list_project_members: z.strictObject({
1510
2533
  q: z.string().min(1).max(100).optional(),
1511
2534
  cursor: CursorSchema.optional(),
@@ -1521,12 +2544,21 @@ export const QUERY_SCHEMAS = {
1521
2544
  cursor: CursorSchema.optional(),
1522
2545
  limit: z.coerce.number().int().min(1).max(100).optional(),
1523
2546
  }),
2547
+ list_session_events: z.strictObject({
2548
+ cursor: z.coerce.number().int().min(0).optional(),
2549
+ limit: z.coerce.number().int().min(1).max(100).optional(),
2550
+ }),
2551
+ list_session_threads: z.strictObject({}),
1524
2552
  list_sprints: z.strictObject({
1525
2553
  state: z.array(SprintStateSchema).max(3).optional(),
1526
2554
  cursor: CursorSchema.optional(),
1527
2555
  limit: z.coerce.number().int().min(1).max(100).optional(),
1528
2556
  }),
1529
2557
  list_work_types: z.strictObject({ include_archived: z.enum(['true', 'false']).optional() }),
2558
+ post_plan_card: z.strictObject({}),
2559
+ post_session_approval: z.strictObject({}),
2560
+ post_session_message: z.strictObject({}),
2561
+ propose_session_handoff: z.strictObject({}),
1530
2562
  rank_item: z.strictObject({}),
1531
2563
  release_version: z.strictObject({}),
1532
2564
  remove_link: z.strictObject({}),
@@ -1534,6 +2566,7 @@ export const QUERY_SCHEMAS = {
1534
2566
  remove_sprint_items: z.strictObject({}),
1535
2567
  reopen_release: z.strictObject({}),
1536
2568
  restore_release: z.strictObject({}),
2569
+ revoke_session: z.strictObject({}),
1537
2570
  search_items: z.strictObject({
1538
2571
  q: z.string().min(1).max(200).optional(),
1539
2572
  project: z.array(ProjectRefSchema).max(20).optional(),
@@ -1573,21 +2606,32 @@ export const QUERY_SCHEMAS = {
1573
2606
  cursor: CursorSchema.optional(),
1574
2607
  limit: z.coerce.number().int().min(1).max(100).optional(),
1575
2608
  }),
2609
+ session_heartbeat: z.strictObject({}),
2610
+ session_typing: z.strictObject({}),
2611
+ set_session_capabilities: z.strictObject({}),
1576
2612
  start_sprint: z.strictObject({}),
1577
2613
  transition_item: z.strictObject({}),
1578
2614
  update_item: z.strictObject({}),
1579
2615
  update_page: z.strictObject({}),
1580
2616
  update_release: z.strictObject({}),
2617
+ update_session_message: z.strictObject({}),
1581
2618
  };
1582
2619
  /** Each operation's request body schema, or null when it takes none. */
1583
2620
  export const REQUEST_SCHEMAS = {
2621
+ ack_session_events: AckSessionEventsRequestSchema,
1584
2622
  add_comment: AddCommentRequestSchema,
1585
2623
  add_link: AddLinkRequestSchema,
1586
2624
  add_release_items: PlanningItemsRequestSchema,
1587
2625
  add_sprint_items: PlanningItemsRequestSchema,
2626
+ answer_session_response: AnswerSessionResponseRequestSchema,
1588
2627
  apply_plan: EmptyRequestSchema,
1589
2628
  archive_release: null,
2629
+ close_session_approval: CloseSessionApprovalRequestSchema,
2630
+ close_session_card: EmptyRequestSchema,
2631
+ close_session_handoff: EmptyRequestSchema,
1590
2632
  complete_sprint: CompleteSprintRequestSchema,
2633
+ connect_poll: ConnectPollRequestSchema,
2634
+ connect_start: ConnectStartRequestSchema,
1591
2635
  create_channel: CreateChannelRequestSchema,
1592
2636
  create_item: CreateItemRequestSchema,
1593
2637
  create_page: CreatePageRequestSchema,
@@ -1595,6 +2639,7 @@ export const REQUEST_SCHEMAS = {
1595
2639
  create_project: CreateProjectRequestSchema,
1596
2640
  create_release: CreateReleaseRequestSchema,
1597
2641
  create_sprint: CreateSprintRequestSchema,
2642
+ decline_session_handoff: DeclineSessionHandoffRequestSchema,
1598
2643
  describe_project: null,
1599
2644
  generate_release_notes: ReleaseNotesRequestSchema,
1600
2645
  get_item: null,
@@ -1602,18 +2647,29 @@ export const REQUEST_SCHEMAS = {
1602
2647
  get_me: null,
1603
2648
  get_meta: null,
1604
2649
  get_page: null,
2650
+ get_session: null,
2651
+ get_session_approval: null,
2652
+ get_session_handoff: null,
1605
2653
  get_thread: null,
1606
2654
  get_workflow: null,
1607
2655
  list_channel_messages: null,
1608
2656
  list_channels: null,
1609
2657
  list_comments: null,
2658
+ list_emoji: null,
1610
2659
  list_members: null,
1611
2660
  list_pages: null,
2661
+ list_pins: null,
1612
2662
  list_project_members: null,
1613
2663
  list_projects: null,
1614
2664
  list_releases: null,
2665
+ list_session_events: null,
2666
+ list_session_threads: null,
1615
2667
  list_sprints: null,
1616
2668
  list_work_types: null,
2669
+ post_plan_card: PostPlanCardRequestSchema,
2670
+ post_session_approval: PostSessionApprovalRequestSchema,
2671
+ post_session_message: PostSessionMessageRequestSchema,
2672
+ propose_session_handoff: ProposeSessionHandoffRequestSchema,
1617
2673
  rank_item: RankItemRequestSchema,
1618
2674
  release_version: ReleaseVersionRequestSchema,
1619
2675
  remove_link: null,
@@ -1621,23 +2677,35 @@ export const REQUEST_SCHEMAS = {
1621
2677
  remove_sprint_items: PlanningItemsRequestSchema,
1622
2678
  reopen_release: null,
1623
2679
  restore_release: null,
2680
+ revoke_session: null,
1624
2681
  search_items: null,
1625
2682
  search_pages: null,
2683
+ session_heartbeat: SessionHeartbeatRequestSchema,
2684
+ session_typing: SessionTypingRequestSchema,
2685
+ set_session_capabilities: SetSessionCapabilitiesRequestSchema,
1626
2686
  start_sprint: StartSprintRequestSchema,
1627
2687
  transition_item: TransitionItemRequestSchema,
1628
2688
  update_item: UpdateItemRequestSchema,
1629
2689
  update_page: UpdatePageRequestSchema,
1630
2690
  update_release: UpdateReleaseRequestSchema,
2691
+ update_session_message: UpdateSessionMessageRequestSchema,
1631
2692
  };
1632
2693
  /** Each operation's success response schema. */
1633
2694
  export const RESPONSE_SCHEMAS = {
2695
+ ack_session_events: AckSessionEventsResponseSchema,
1634
2696
  add_comment: AddCommentResponseSchema,
1635
2697
  add_link: AddLinkResponseSchema,
1636
2698
  add_release_items: ReleaseItemsResponseSchema,
1637
2699
  add_sprint_items: SprintItemsResponseSchema,
2700
+ answer_session_response: AnswerSessionResponseResponseSchema,
1638
2701
  apply_plan: ApplyPlanResponseSchema,
1639
2702
  archive_release: ReleaseResponseSchema,
2703
+ close_session_approval: CloseSessionApprovalResponseSchema,
2704
+ close_session_card: CloseSessionCardResponseSchema,
2705
+ close_session_handoff: SessionHandoffResponseSchema,
1640
2706
  complete_sprint: CompleteSprintResponseSchema,
2707
+ connect_poll: ConnectPollResponseSchema,
2708
+ connect_start: ConnectStartResponseSchema,
1641
2709
  create_channel: CreateChannelResponseSchema,
1642
2710
  create_item: CreateItemResponseSchema,
1643
2711
  create_page: CreatePageResponseSchema,
@@ -1645,6 +2713,7 @@ export const RESPONSE_SCHEMAS = {
1645
2713
  create_project: CreateProjectResponseSchema,
1646
2714
  create_release: ReleaseResponseSchema,
1647
2715
  create_sprint: SprintResponseSchema,
2716
+ decline_session_handoff: SessionHandoffResponseSchema,
1648
2717
  describe_project: DescribeProjectResponseSchema,
1649
2718
  generate_release_notes: ReleaseNotesResponseSchema,
1650
2719
  get_item: GetItemResponseSchema,
@@ -1652,18 +2721,29 @@ export const RESPONSE_SCHEMAS = {
1652
2721
  get_me: MeResponseSchema,
1653
2722
  get_meta: MetaResponseSchema,
1654
2723
  get_page: PageResponseSchema,
2724
+ get_session: SessionResponseSchema,
2725
+ get_session_approval: GetSessionApprovalResponseSchema,
2726
+ get_session_handoff: SessionHandoffResponseSchema,
1655
2727
  get_thread: ThreadResponseSchema,
1656
2728
  get_workflow: GetWorkflowResponseSchema,
1657
2729
  list_channel_messages: ListChannelMessagesResponseSchema,
1658
2730
  list_channels: ListChannelsResponseSchema,
1659
2731
  list_comments: ListCommentsResponseSchema,
2732
+ list_emoji: ListEmojiResponseSchema,
1660
2733
  list_members: ListMembersResponseSchema,
1661
2734
  list_pages: ListPagesResponseSchema,
2735
+ list_pins: ListPinsResponseSchema,
1662
2736
  list_project_members: ListProjectMembersResponseSchema,
1663
2737
  list_projects: ListProjectsResponseSchema,
1664
2738
  list_releases: ListReleasesResponseSchema,
2739
+ list_session_events: SessionEventsResponseSchema,
2740
+ list_session_threads: ListSessionThreadsResponseSchema,
1665
2741
  list_sprints: ListSprintsResponseSchema,
1666
2742
  list_work_types: ListWorkTypesResponseSchema,
2743
+ post_plan_card: PostPlanCardResponseSchema,
2744
+ post_session_approval: PostSessionApprovalResponseSchema,
2745
+ post_session_message: PostSessionMessageResponseSchema,
2746
+ propose_session_handoff: ProposeSessionHandoffResponseSchema,
1667
2747
  rank_item: RankItemResponseSchema,
1668
2748
  release_version: ReleaseResponseSchema,
1669
2749
  remove_link: RemoveLinkResponseSchema,
@@ -1671,11 +2751,16 @@ export const RESPONSE_SCHEMAS = {
1671
2751
  remove_sprint_items: SprintItemsResponseSchema,
1672
2752
  reopen_release: ReleaseResponseSchema,
1673
2753
  restore_release: ReleaseResponseSchema,
2754
+ revoke_session: NoContentSchema,
1674
2755
  search_items: SearchItemsResponseSchema,
1675
2756
  search_pages: SearchPagesResponseSchema,
2757
+ session_heartbeat: SessionHeartbeatResponseSchema,
2758
+ session_typing: NoContentSchema,
2759
+ set_session_capabilities: SessionCapabilitiesResponseSchema,
1676
2760
  start_sprint: StartSprintResponseSchema,
1677
2761
  transition_item: TransitionItemResponseSchema,
1678
2762
  update_item: ItemWriteResponseSchema,
1679
2763
  update_page: PageResponseSchema,
1680
2764
  update_release: ReleaseResponseSchema,
2765
+ update_session_message: UpdateSessionMessageResponseSchema,
1681
2766
  };