@shuffl/api-contracts 0.2.1 → 0.4.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.
@@ -94,8 +94,10 @@ const credentials_api_createInput = z
94
94
  z.literal('celebrations.removeCardNote'),
95
95
  z.literal('celebrations.review'),
96
96
  z.literal('celebrations.save'),
97
+ z.literal('celebrations.saveAnniversaryDate'),
97
98
  z.literal('celebrations.savePreferences'),
98
99
  z.literal('celebrations.signCard'),
100
+ z.literal('celebrations.startDates'),
99
101
  z.literal('channels.list'),
100
102
  z.literal('commands.get'),
101
103
  z.literal('communities.archive'),
@@ -135,6 +137,7 @@ const credentials_api_createInput = z
135
137
  z.literal('getStarted.intro'),
136
138
  z.literal('getStarted.wizard'),
137
139
  z.literal('home.feed'),
140
+ z.literal('home.places'),
138
141
  z.literal('home.preferences'),
139
142
  z.literal('home.react'),
140
143
  z.literal('home.story'),
@@ -144,6 +147,7 @@ const credentials_api_createInput = z
144
147
  z.literal('hr.deliver'),
145
148
  z.literal('hr.get'),
146
149
  z.literal('hr.list'),
150
+ z.literal('hr.mine'),
147
151
  z.literal('hr.readiness'),
148
152
  z.literal('hr.rebuildCategories'),
149
153
  z.literal('hr.renameTeam'),
@@ -209,10 +213,12 @@ const credentials_api_createInput = z
209
213
  z.literal('onboarding.assignBuddy'),
210
214
  z.literal('onboarding.buddySuggestions'),
211
215
  z.literal('onboarding.candidates'),
216
+ z.literal('onboarding.completeTodo'),
212
217
  z.literal('onboarding.enroll'),
213
218
  z.literal('onboarding.enrollmentPreview'),
214
219
  z.literal('onboarding.firstDaysCheckIns'),
215
220
  z.literal('onboarding.firstDaysResults'),
221
+ z.literal('onboarding.journey'),
216
222
  z.literal('onboarding.mine'),
217
223
  z.literal('onboarding.person'),
218
224
  z.literal('onboarding.previewEnrollment'),
@@ -335,6 +341,7 @@ const credentials_api_createInput = z
335
341
  z.literal('teams.saveSlackProfileLink'),
336
342
  z.literal('teams.setup'),
337
343
  z.literal('teams.slackChannels'),
344
+ z.literal('teams.slackConnection'),
338
345
  z.literal('teams.slackJoinAccess'),
339
346
  z.literal('teams.slackProfileLink'),
340
347
  z.literal('teams.status'),
@@ -351,6 +358,7 @@ const credentials_api_createInput = z
351
358
  z.literal('users.details'),
352
359
  z.literal('users.filterOptions'),
353
360
  z.literal('users.get'),
361
+ z.literal('users.glance'),
354
362
  z.literal('users.list'),
355
363
  z.literal('users.managerHistory'),
356
364
  z.literal('users.managers'),
@@ -822,6 +830,7 @@ const exports_teamOutput = z.strictObject({
822
830
  managedBy: z.union([z.null(), z.string()]),
823
831
  managerId: z.union([z.null(), z.string()]),
824
832
  memberId: z.string(),
833
+ originalStartDate: z.union([z.null(), z.string()]),
825
834
  revision: z.number(),
826
835
  startDate: z.union([z.null(), z.string()]),
827
836
  teamId: z.string(),
@@ -911,6 +920,58 @@ const exports_teamOutput = z.strictObject({
911
920
  introductionOffsetDays: z.number(),
912
921
  responderPersonId: z.union([z.null(), z.string()]),
913
922
  sendTime: z.string(),
923
+ steps: z
924
+ .array(z.strictObject({
925
+ body: z.string(),
926
+ checkpoint: z
927
+ .union([
928
+ z.literal('day_30'),
929
+ z.literal('day_365'),
930
+ z.literal('day_60'),
931
+ z.literal('day_90'),
932
+ ])
933
+ .optional()
934
+ .optional(),
935
+ id: z.string(),
936
+ kind: z.union([
937
+ z.literal('acknowledge'),
938
+ z.literal('checkpoint'),
939
+ z.literal('form'),
940
+ z.literal('meet'),
941
+ z.literal('message'),
942
+ z.literal('task'),
943
+ ]),
944
+ offsetDays: z.number(),
945
+ personId: z.union([z.null(), z.string()]),
946
+ recipient: z.union([
947
+ z.literal('buddy'),
948
+ z.literal('hire'),
949
+ z.literal('hr'),
950
+ z.literal('manager'),
951
+ z.literal('person'),
952
+ ]),
953
+ resources: z.array(z.union([
954
+ z.strictObject({
955
+ sourceId: z.string(),
956
+ title: z.string(),
957
+ type: z.literal('knowledge'),
958
+ }),
959
+ z.strictObject({
960
+ label: z.string(),
961
+ type: z.literal('link'),
962
+ url: z.string(),
963
+ }),
964
+ z.strictObject({
965
+ communityId: z.string(),
966
+ name: z.string(),
967
+ type: z.literal('community'),
968
+ }),
969
+ ])),
970
+ title: z.string(),
971
+ todos: z.array(z.strictObject({ id: z.string(), label: z.string() })),
972
+ }))
973
+ .optional()
974
+ .optional(),
914
975
  timezone: z.string(),
915
976
  }),
916
977
  ]),
@@ -919,6 +980,7 @@ const exports_teamOutput = z.strictObject({
919
980
  schedule: z.union([
920
981
  z.strictObject({
921
982
  anchor: z.string(),
983
+ days: z.array(z.number()).optional().optional(),
922
984
  frequency: z.union([
923
985
  z.literal('days'),
924
986
  z.literal('hours'),
@@ -1590,6 +1652,28 @@ const sync_currentOutput = z.strictObject({
1590
1652
  status: z.string(),
1591
1653
  trigger: z.string(),
1592
1654
  })),
1655
+ slack: z.union([
1656
+ z.null(),
1657
+ z.strictObject({
1658
+ reason: z.union([
1659
+ z.literal('connected'),
1660
+ z.literal('grid_pending'),
1661
+ z.literal('missing_permissions'),
1662
+ z.literal('not_installed'),
1663
+ z.literal('paused'),
1664
+ z.literal('revoked'),
1665
+ z.literal('sample_data'),
1666
+ z.literal('unavailable'),
1667
+ z.literal('uninstalled'),
1668
+ z.literal('workspace_changed'),
1669
+ ]),
1670
+ state: z.union([
1671
+ z.literal('connected'),
1672
+ z.literal('needs_reconnect'),
1673
+ z.literal('not_connected'),
1674
+ ]),
1675
+ }),
1676
+ ]),
1593
1677
  status: z.union([
1594
1678
  z.literal('connected'),
1595
1679
  z.literal('disconnected'),
@@ -1725,8 +1809,10 @@ const credentials_api_listOutput = z.strictObject({
1725
1809
  z.literal('celebrations.removeCardNote'),
1726
1810
  z.literal('celebrations.review'),
1727
1811
  z.literal('celebrations.save'),
1812
+ z.literal('celebrations.saveAnniversaryDate'),
1728
1813
  z.literal('celebrations.savePreferences'),
1729
1814
  z.literal('celebrations.signCard'),
1815
+ z.literal('celebrations.startDates'),
1730
1816
  z.literal('channels.list'),
1731
1817
  z.literal('commands.get'),
1732
1818
  z.literal('communities.archive'),
@@ -1766,6 +1852,7 @@ const credentials_api_listOutput = z.strictObject({
1766
1852
  z.literal('getStarted.intro'),
1767
1853
  z.literal('getStarted.wizard'),
1768
1854
  z.literal('home.feed'),
1855
+ z.literal('home.places'),
1769
1856
  z.literal('home.preferences'),
1770
1857
  z.literal('home.react'),
1771
1858
  z.literal('home.story'),
@@ -1775,6 +1862,7 @@ const credentials_api_listOutput = z.strictObject({
1775
1862
  z.literal('hr.deliver'),
1776
1863
  z.literal('hr.get'),
1777
1864
  z.literal('hr.list'),
1865
+ z.literal('hr.mine'),
1778
1866
  z.literal('hr.readiness'),
1779
1867
  z.literal('hr.rebuildCategories'),
1780
1868
  z.literal('hr.renameTeam'),
@@ -1840,10 +1928,12 @@ const credentials_api_listOutput = z.strictObject({
1840
1928
  z.literal('onboarding.assignBuddy'),
1841
1929
  z.literal('onboarding.buddySuggestions'),
1842
1930
  z.literal('onboarding.candidates'),
1931
+ z.literal('onboarding.completeTodo'),
1843
1932
  z.literal('onboarding.enroll'),
1844
1933
  z.literal('onboarding.enrollmentPreview'),
1845
1934
  z.literal('onboarding.firstDaysCheckIns'),
1846
1935
  z.literal('onboarding.firstDaysResults'),
1936
+ z.literal('onboarding.journey'),
1847
1937
  z.literal('onboarding.mine'),
1848
1938
  z.literal('onboarding.person'),
1849
1939
  z.literal('onboarding.previewEnrollment'),
@@ -1966,6 +2056,7 @@ const credentials_api_listOutput = z.strictObject({
1966
2056
  z.literal('teams.saveSlackProfileLink'),
1967
2057
  z.literal('teams.setup'),
1968
2058
  z.literal('teams.slackChannels'),
2059
+ z.literal('teams.slackConnection'),
1969
2060
  z.literal('teams.slackJoinAccess'),
1970
2061
  z.literal('teams.slackProfileLink'),
1971
2062
  z.literal('teams.status'),
@@ -1982,6 +2073,7 @@ const credentials_api_listOutput = z.strictObject({
1982
2073
  z.literal('users.details'),
1983
2074
  z.literal('users.filterOptions'),
1984
2075
  z.literal('users.get'),
2076
+ z.literal('users.glance'),
1985
2077
  z.literal('users.list'),
1986
2078
  z.literal('users.managerHistory'),
1987
2079
  z.literal('users.managers'),
@@ -2084,8 +2176,10 @@ const credentials_api_listOutput = z.strictObject({
2084
2176
  z.literal('celebrations.removeCardNote'),
2085
2177
  z.literal('celebrations.review'),
2086
2178
  z.literal('celebrations.save'),
2179
+ z.literal('celebrations.saveAnniversaryDate'),
2087
2180
  z.literal('celebrations.savePreferences'),
2088
2181
  z.literal('celebrations.signCard'),
2182
+ z.literal('celebrations.startDates'),
2089
2183
  z.literal('channels.list'),
2090
2184
  z.literal('commands.get'),
2091
2185
  z.literal('communities.archive'),
@@ -2125,6 +2219,7 @@ const credentials_api_listOutput = z.strictObject({
2125
2219
  z.literal('getStarted.intro'),
2126
2220
  z.literal('getStarted.wizard'),
2127
2221
  z.literal('home.feed'),
2222
+ z.literal('home.places'),
2128
2223
  z.literal('home.preferences'),
2129
2224
  z.literal('home.react'),
2130
2225
  z.literal('home.story'),
@@ -2134,6 +2229,7 @@ const credentials_api_listOutput = z.strictObject({
2134
2229
  z.literal('hr.deliver'),
2135
2230
  z.literal('hr.get'),
2136
2231
  z.literal('hr.list'),
2232
+ z.literal('hr.mine'),
2137
2233
  z.literal('hr.readiness'),
2138
2234
  z.literal('hr.rebuildCategories'),
2139
2235
  z.literal('hr.renameTeam'),
@@ -2199,10 +2295,12 @@ const credentials_api_listOutput = z.strictObject({
2199
2295
  z.literal('onboarding.assignBuddy'),
2200
2296
  z.literal('onboarding.buddySuggestions'),
2201
2297
  z.literal('onboarding.candidates'),
2298
+ z.literal('onboarding.completeTodo'),
2202
2299
  z.literal('onboarding.enroll'),
2203
2300
  z.literal('onboarding.enrollmentPreview'),
2204
2301
  z.literal('onboarding.firstDaysCheckIns'),
2205
2302
  z.literal('onboarding.firstDaysResults'),
2303
+ z.literal('onboarding.journey'),
2206
2304
  z.literal('onboarding.mine'),
2207
2305
  z.literal('onboarding.person'),
2208
2306
  z.literal('onboarding.previewEnrollment'),
@@ -2325,6 +2423,7 @@ const credentials_api_listOutput = z.strictObject({
2325
2423
  z.literal('teams.saveSlackProfileLink'),
2326
2424
  z.literal('teams.setup'),
2327
2425
  z.literal('teams.slackChannels'),
2426
+ z.literal('teams.slackConnection'),
2328
2427
  z.literal('teams.slackJoinAccess'),
2329
2428
  z.literal('teams.slackProfileLink'),
2330
2429
  z.literal('teams.status'),
@@ -2341,6 +2440,7 @@ const credentials_api_listOutput = z.strictObject({
2341
2440
  z.literal('users.details'),
2342
2441
  z.literal('users.filterOptions'),
2343
2442
  z.literal('users.get'),
2443
+ z.literal('users.glance'),
2344
2444
  z.literal('users.list'),
2345
2445
  z.literal('users.managerHistory'),
2346
2446
  z.literal('users.managers'),
@@ -2510,6 +2610,7 @@ const users_detailsOutput = z.strictObject({
2510
2610
  managedBy: z.union([z.null(), z.string()]),
2511
2611
  managerId: z.union([z.null(), z.string()]),
2512
2612
  memberId: z.string(),
2613
+ originalStartDate: z.union([z.null(), z.string()]),
2513
2614
  revision: z.number(),
2514
2615
  startDate: z.union([z.null(), z.string()]),
2515
2616
  teamId: z.string(),
@@ -2692,6 +2793,27 @@ const users_filterOptionsOutput = z.strictObject({
2692
2793
  name: z.string(),
2693
2794
  })),
2694
2795
  });
2796
+ const users_glanceInput = z.strictObject({});
2797
+ const users_glanceOutput = z.strictObject({
2798
+ averageTenureYears: z.union([z.null(), z.number()]),
2799
+ dated: z.number(),
2800
+ departments: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2801
+ enough: z.boolean(),
2802
+ growth: z.array(z.strictObject({ at: z.string(), value: z.number() })),
2803
+ headcount: z.number(),
2804
+ hiredThisYear: z.number(),
2805
+ me: z.union([
2806
+ z.null(),
2807
+ z.strictObject({
2808
+ joinedAfter: z.number(),
2809
+ joinedBefore: z.number(),
2810
+ start: z.string(),
2811
+ }),
2812
+ ]),
2813
+ tenure: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2814
+ timezones: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2815
+ topics: z.array(z.string()),
2816
+ });
2695
2817
  const users_participantsInput = z.strictObject({
2696
2818
  programId: z.string().optional().optional(),
2697
2819
  });
@@ -2822,6 +2944,7 @@ const users_saveInput = z
2822
2944
  managerId: z.union([z.null(), z.string()]),
2823
2945
  memberId: z.string(),
2824
2946
  name: z.string(),
2947
+ originalStartDate: z.union([z.null(), z.string()]).optional().optional(),
2825
2948
  startDate: z.union([z.null(), z.string()]),
2826
2949
  teamIds: z.array(z.string()),
2827
2950
  timezone: z.union([z.null(), z.string()]),
@@ -2847,6 +2970,7 @@ const users_saveOutput = z.object({
2847
2970
  managedBy: z.union([z.null(), z.string()]),
2848
2971
  managerId: z.union([z.null(), z.string()]),
2849
2972
  memberId: z.string(),
2973
+ originalStartDate: z.union([z.null(), z.string()]),
2850
2974
  revision: z.number(),
2851
2975
  startDate: z.union([z.null(), z.string()]),
2852
2976
  teamId: z.string(),
@@ -3227,6 +3351,10 @@ const profiles_getOutput = z.strictObject({
3227
3351
  })),
3228
3352
  });
3229
3353
  const profiles_whoKnowsInput = z.strictObject({
3354
+ from: z
3355
+ .union([z.literal('command_palette'), z.literal('people_page')])
3356
+ .optional()
3357
+ .optional(),
3230
3358
  limit: z.number().optional().optional(),
3231
3359
  personIds: z.array(z.string()).optional().optional(),
3232
3360
  topic: z.string().optional().optional(),
@@ -3901,6 +4029,7 @@ const communities_membersOutput = z.strictObject({
3901
4029
  members: z.array(z.strictObject({
3902
4030
  canRemove: z.boolean(),
3903
4031
  id: z.string(),
4032
+ joinedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
3904
4033
  name: z.string(),
3905
4034
  photoUrl: z.union([z.null(), z.string()]),
3906
4035
  role: z.union([z.null(), z.literal('moderator'), z.literal('owner')]),
@@ -4399,6 +4528,22 @@ const home_feedOutput = z.strictObject({
4399
4528
  userId: z.union([z.null(), z.string()]),
4400
4529
  })),
4401
4530
  });
4531
+ const home_placesInput = z.strictObject({});
4532
+ const home_placesOutput = z.strictObject({
4533
+ places: z.array(z.strictObject({
4534
+ id: z.union([
4535
+ z.literal('badges'),
4536
+ z.literal('celebrations'),
4537
+ z.literal('chats'),
4538
+ z.literal('communities'),
4539
+ z.literal('knowledge'),
4540
+ z.literal('onboarding'),
4541
+ z.literal('praise'),
4542
+ z.literal('pulse'),
4543
+ ]),
4544
+ waiting: z.boolean(),
4545
+ })),
4546
+ });
4402
4547
  const home_reactInput = z
4403
4548
  .strictObject({
4404
4549
  emoji: z.union([
@@ -5091,6 +5236,7 @@ const programs_schedulePreviewInput = z.strictObject({
5091
5236
  }),
5092
5237
  z.strictObject({
5093
5238
  anchor: z.string(),
5239
+ days: z.array(z.number()).optional().optional(),
5094
5240
  frequency: z.union([
5095
5241
  z.literal('days'),
5096
5242
  z.literal('hours'),
@@ -6521,6 +6667,27 @@ const hr_listOutput = z.array(z.strictObject({
6521
6667
  ]),
6522
6668
  updatedAt: z.iso.datetime({ offset: true }),
6523
6669
  }));
6670
+ const hr_mineInput = z.strictObject({});
6671
+ const hr_mineOutput = z.array(z.strictObject({
6672
+ createdAt: z.iso.datetime({ offset: true }),
6673
+ destinationName: z.string(),
6674
+ id: z.string(),
6675
+ latestReply: z.union([
6676
+ z.null(),
6677
+ z.strictObject({
6678
+ body: z.string(),
6679
+ createdAt: z.iso.datetime({ offset: true }),
6680
+ }),
6681
+ ]),
6682
+ sharedText: z.string(),
6683
+ status: z.union([
6684
+ z.literal('open'),
6685
+ z.literal('resolved'),
6686
+ z.literal('waiting_on_employee'),
6687
+ z.literal('waiting_on_hr'),
6688
+ ]),
6689
+ updatedAt: z.iso.datetime({ offset: true }),
6690
+ }));
6524
6691
  const hr_getInput = z.strictObject({ caseId: z.string() });
6525
6692
  const hr_getOutput = z.strictObject({
6526
6693
  case: z.strictObject({
@@ -6874,7 +7041,20 @@ const support_getOutput = z.strictObject({
6874
7041
  }),
6875
7042
  });
6876
7043
  const support_createInput = z
6877
- .strictObject({ body: z.string(), subject: z.string().optional().optional() })
7044
+ .strictObject({
7045
+ body: z.string(),
7046
+ guides: z
7047
+ .union([
7048
+ z.literal('abstain'),
7049
+ z.literal('answer'),
7050
+ z.literal('empty'),
7051
+ z.literal('not_checked'),
7052
+ z.literal('unavailable'),
7053
+ ])
7054
+ .optional()
7055
+ .optional(),
7056
+ subject: z.string().optional().optional(),
7057
+ })
6878
7058
  .extend({ requestKey: z.string().min(1).max(128) });
6879
7059
  const support_createOutput = z.object({
6880
7060
  receipt: commandReceiptSchema,
@@ -6966,6 +7146,7 @@ const operations_activityOutput = z.array(z.strictObject({
6966
7146
  entityId: z.union([z.null(), z.string()]),
6967
7147
  entityName: z.union([z.null(), z.string()]),
6968
7148
  id: z.string(),
7149
+ summary: z.string(),
6969
7150
  teamId: z.string(),
6970
7151
  }));
6971
7152
  const operations_statusInput = z.strictObject({});
@@ -7111,6 +7292,58 @@ const reports_overviewOutput = z.strictObject({
7111
7292
  introductionOffsetDays: z.number(),
7112
7293
  responderPersonId: z.union([z.null(), z.string()]),
7113
7294
  sendTime: z.string(),
7295
+ steps: z
7296
+ .array(z.strictObject({
7297
+ body: z.string(),
7298
+ checkpoint: z
7299
+ .union([
7300
+ z.literal('day_30'),
7301
+ z.literal('day_365'),
7302
+ z.literal('day_60'),
7303
+ z.literal('day_90'),
7304
+ ])
7305
+ .optional()
7306
+ .optional(),
7307
+ id: z.string(),
7308
+ kind: z.union([
7309
+ z.literal('acknowledge'),
7310
+ z.literal('checkpoint'),
7311
+ z.literal('form'),
7312
+ z.literal('meet'),
7313
+ z.literal('message'),
7314
+ z.literal('task'),
7315
+ ]),
7316
+ offsetDays: z.number(),
7317
+ personId: z.union([z.null(), z.string()]),
7318
+ recipient: z.union([
7319
+ z.literal('buddy'),
7320
+ z.literal('hire'),
7321
+ z.literal('hr'),
7322
+ z.literal('manager'),
7323
+ z.literal('person'),
7324
+ ]),
7325
+ resources: z.array(z.union([
7326
+ z.strictObject({
7327
+ sourceId: z.string(),
7328
+ title: z.string(),
7329
+ type: z.literal('knowledge'),
7330
+ }),
7331
+ z.strictObject({
7332
+ label: z.string(),
7333
+ type: z.literal('link'),
7334
+ url: z.string(),
7335
+ }),
7336
+ z.strictObject({
7337
+ communityId: z.string(),
7338
+ name: z.string(),
7339
+ type: z.literal('community'),
7340
+ }),
7341
+ ])),
7342
+ title: z.string(),
7343
+ todos: z.array(z.strictObject({ id: z.string(), label: z.string() })),
7344
+ }))
7345
+ .optional()
7346
+ .optional(),
7114
7347
  timezone: z.string(),
7115
7348
  }),
7116
7349
  ]),
@@ -7119,6 +7352,7 @@ const reports_overviewOutput = z.strictObject({
7119
7352
  schedule: z.union([
7120
7353
  z.strictObject({
7121
7354
  anchor: z.string(),
7355
+ days: z.array(z.number()).optional().optional(),
7122
7356
  frequency: z.union([
7123
7357
  z.literal('days'),
7124
7358
  z.literal('hours'),
@@ -7358,6 +7592,11 @@ const reports_onboardingOutput = z.strictObject({
7358
7592
  failed: z.number(),
7359
7593
  onTime: z.number(),
7360
7594
  sent: z.number(),
7595
+ weekly: z.array(z.strictObject({
7596
+ onTime: z.number(),
7597
+ sent: z.number(),
7598
+ week: z.string(),
7599
+ })),
7361
7600
  }),
7362
7601
  start: z.iso.datetime({ offset: true }),
7363
7602
  weekly: z.array(z.strictObject({ hires: z.number(), week: z.string() })),
@@ -7452,15 +7691,25 @@ const teams_setupOutput = z.strictObject({
7452
7691
  progress: z.strictObject({ ready: z.number(), total: z.number() }),
7453
7692
  slack: z.strictObject({
7454
7693
  available: z.boolean(),
7455
- connected: z.boolean(),
7694
+ live: z.boolean(),
7456
7695
  missingScopes: z.array(z.string()),
7457
7696
  ready: z.boolean(),
7458
- status: z.union([
7697
+ reason: z.union([
7459
7698
  z.literal('connected'),
7460
- z.literal('incomplete'),
7461
- z.literal('local_fixture'),
7462
- z.literal('permissions_required'),
7699
+ z.literal('grid_pending'),
7700
+ z.literal('missing_permissions'),
7701
+ z.literal('not_installed'),
7702
+ z.literal('paused'),
7463
7703
  z.literal('revoked'),
7704
+ z.literal('sample_data'),
7705
+ z.literal('unavailable'),
7706
+ z.literal('uninstalled'),
7707
+ z.literal('workspace_changed'),
7708
+ ]),
7709
+ state: z.union([
7710
+ z.literal('connected'),
7711
+ z.literal('needs_reconnect'),
7712
+ z.literal('not_connected'),
7464
7713
  ]),
7465
7714
  }),
7466
7715
  steps: z.array(z.strictObject({
@@ -7494,6 +7743,30 @@ const teams_connectionPermissionsOutput = z.strictObject({
7494
7743
  })),
7495
7744
  signature: z.union([z.null(), z.string()]),
7496
7745
  });
7746
+ const teams_slackConnectionInput = z.strictObject({});
7747
+ const teams_slackConnectionOutput = z.strictObject({
7748
+ available: z.boolean(),
7749
+ live: z.boolean(),
7750
+ missingScopes: z.array(z.string()),
7751
+ ready: z.boolean(),
7752
+ reason: z.union([
7753
+ z.literal('connected'),
7754
+ z.literal('grid_pending'),
7755
+ z.literal('missing_permissions'),
7756
+ z.literal('not_installed'),
7757
+ z.literal('paused'),
7758
+ z.literal('revoked'),
7759
+ z.literal('sample_data'),
7760
+ z.literal('unavailable'),
7761
+ z.literal('uninstalled'),
7762
+ z.literal('workspace_changed'),
7763
+ ]),
7764
+ state: z.union([
7765
+ z.literal('connected'),
7766
+ z.literal('needs_reconnect'),
7767
+ z.literal('not_connected'),
7768
+ ]),
7769
+ });
7497
7770
  const teams_initializeInput = z
7498
7771
  .strictObject({})
7499
7772
  .extend({ requestKey: z.string().min(1).max(128) });
@@ -7511,6 +7784,58 @@ const onboarding_programOutput = z.strictObject({
7511
7784
  introductionOffsetDays: z.number(),
7512
7785
  responderPersonId: z.union([z.null(), z.string()]),
7513
7786
  sendTime: z.string(),
7787
+ steps: z
7788
+ .array(z.strictObject({
7789
+ body: z.string(),
7790
+ checkpoint: z
7791
+ .union([
7792
+ z.literal('day_30'),
7793
+ z.literal('day_365'),
7794
+ z.literal('day_60'),
7795
+ z.literal('day_90'),
7796
+ ])
7797
+ .optional()
7798
+ .optional(),
7799
+ id: z.string(),
7800
+ kind: z.union([
7801
+ z.literal('acknowledge'),
7802
+ z.literal('checkpoint'),
7803
+ z.literal('form'),
7804
+ z.literal('meet'),
7805
+ z.literal('message'),
7806
+ z.literal('task'),
7807
+ ]),
7808
+ offsetDays: z.number(),
7809
+ personId: z.union([z.null(), z.string()]),
7810
+ recipient: z.union([
7811
+ z.literal('buddy'),
7812
+ z.literal('hire'),
7813
+ z.literal('hr'),
7814
+ z.literal('manager'),
7815
+ z.literal('person'),
7816
+ ]),
7817
+ resources: z.array(z.union([
7818
+ z.strictObject({
7819
+ sourceId: z.string(),
7820
+ title: z.string(),
7821
+ type: z.literal('knowledge'),
7822
+ }),
7823
+ z.strictObject({
7824
+ label: z.string(),
7825
+ type: z.literal('link'),
7826
+ url: z.string(),
7827
+ }),
7828
+ z.strictObject({
7829
+ communityId: z.string(),
7830
+ name: z.string(),
7831
+ type: z.literal('community'),
7832
+ }),
7833
+ ])),
7834
+ title: z.string(),
7835
+ todos: z.array(z.strictObject({ id: z.string(), label: z.string() })),
7836
+ }))
7837
+ .optional()
7838
+ .optional(),
7514
7839
  timezone: z.string(),
7515
7840
  }),
7516
7841
  intro: z.string(),
@@ -7606,10 +7931,16 @@ const onboarding_programOutput = z.strictObject({
7606
7931
  ]),
7607
7932
  id: z.string(),
7608
7933
  kind: z.union([
7934
+ z.literal('acknowledge'),
7609
7935
  z.literal('buddy_invitation'),
7610
7936
  z.literal('check_in'),
7937
+ z.literal('checkpoint'),
7611
7938
  z.literal('follow_up'),
7939
+ z.literal('form'),
7612
7940
  z.literal('introduction'),
7941
+ z.literal('meet'),
7942
+ z.literal('message'),
7943
+ z.literal('task'),
7613
7944
  ]),
7614
7945
  offsetDays: z.number(),
7615
7946
  sentAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
@@ -7626,9 +7957,12 @@ const onboarding_programOutput = z.strictObject({
7626
7957
  z.literal('unknown'),
7627
7958
  z.literal('waiting'),
7628
7959
  ]),
7960
+ stepKey: z.union([z.null(), z.string()]),
7961
+ title: z.union([z.null(), z.string()]),
7629
7962
  })),
7630
7963
  timezone: z.string(),
7631
7964
  })),
7965
+ stepPeople: z.record(z.string(), z.string()),
7632
7966
  });
7633
7967
  const onboarding_saveProgramInput = z
7634
7968
  .strictObject({
@@ -7649,6 +7983,61 @@ const onboarding_saveProgramInput = z
7649
7983
  introductionOffsetDays: z.number(),
7650
7984
  responderPersonId: z.union([z.null(), z.string()]),
7651
7985
  sendTime: z.string(),
7986
+ steps: z
7987
+ .array(z.strictObject({
7988
+ body: z.string().optional().optional(),
7989
+ checkpoint: z
7990
+ .union([
7991
+ z.literal('day_30'),
7992
+ z.literal('day_365'),
7993
+ z.literal('day_60'),
7994
+ z.literal('day_90'),
7995
+ ])
7996
+ .optional()
7997
+ .optional(),
7998
+ id: z.string(),
7999
+ kind: z.union([
8000
+ z.literal('checkpoint'),
8001
+ z.literal('message'),
8002
+ z.literal('task'),
8003
+ ]),
8004
+ offsetDays: z.number(),
8005
+ personId: z.union([z.null(), z.string()]).optional().optional(),
8006
+ recipient: z.union([
8007
+ z.literal('buddy'),
8008
+ z.literal('hire'),
8009
+ z.literal('hr'),
8010
+ z.literal('manager'),
8011
+ z.literal('person'),
8012
+ ]),
8013
+ resources: z
8014
+ .array(z.union([
8015
+ z.strictObject({
8016
+ sourceId: z.string(),
8017
+ title: z.string(),
8018
+ type: z.literal('knowledge'),
8019
+ }),
8020
+ z.strictObject({
8021
+ label: z.string(),
8022
+ type: z.literal('link'),
8023
+ url: z.string(),
8024
+ }),
8025
+ z.strictObject({
8026
+ communityId: z.string(),
8027
+ name: z.string(),
8028
+ type: z.literal('community'),
8029
+ }),
8030
+ ]))
8031
+ .optional()
8032
+ .optional(),
8033
+ title: z.string(),
8034
+ todos: z
8035
+ .array(z.strictObject({ id: z.string(), label: z.string() }))
8036
+ .optional()
8037
+ .optional(),
8038
+ }))
8039
+ .optional()
8040
+ .optional(),
7652
8041
  timezone: z.string(),
7653
8042
  }),
7654
8043
  }),
@@ -7730,6 +8119,58 @@ const onboarding_saveProgramOutput = z.object({
7730
8119
  introductionOffsetDays: z.number(),
7731
8120
  responderPersonId: z.union([z.null(), z.string()]),
7732
8121
  sendTime: z.string(),
8122
+ steps: z
8123
+ .array(z.strictObject({
8124
+ body: z.string(),
8125
+ checkpoint: z
8126
+ .union([
8127
+ z.literal('day_30'),
8128
+ z.literal('day_365'),
8129
+ z.literal('day_60'),
8130
+ z.literal('day_90'),
8131
+ ])
8132
+ .optional()
8133
+ .optional(),
8134
+ id: z.string(),
8135
+ kind: z.union([
8136
+ z.literal('acknowledge'),
8137
+ z.literal('checkpoint'),
8138
+ z.literal('form'),
8139
+ z.literal('meet'),
8140
+ z.literal('message'),
8141
+ z.literal('task'),
8142
+ ]),
8143
+ offsetDays: z.number(),
8144
+ personId: z.union([z.null(), z.string()]),
8145
+ recipient: z.union([
8146
+ z.literal('buddy'),
8147
+ z.literal('hire'),
8148
+ z.literal('hr'),
8149
+ z.literal('manager'),
8150
+ z.literal('person'),
8151
+ ]),
8152
+ resources: z.array(z.union([
8153
+ z.strictObject({
8154
+ sourceId: z.string(),
8155
+ title: z.string(),
8156
+ type: z.literal('knowledge'),
8157
+ }),
8158
+ z.strictObject({
8159
+ label: z.string(),
8160
+ type: z.literal('link'),
8161
+ url: z.string(),
8162
+ }),
8163
+ z.strictObject({
8164
+ communityId: z.string(),
8165
+ name: z.string(),
8166
+ type: z.literal('community'),
8167
+ }),
8168
+ ])),
8169
+ title: z.string(),
8170
+ todos: z.array(z.strictObject({ id: z.string(), label: z.string() })),
8171
+ }))
8172
+ .optional()
8173
+ .optional(),
7733
8174
  timezone: z.string(),
7734
8175
  }),
7735
8176
  ]),
@@ -7738,6 +8179,7 @@ const onboarding_saveProgramOutput = z.object({
7738
8179
  schedule: z.union([
7739
8180
  z.strictObject({
7740
8181
  anchor: z.string(),
8182
+ days: z.array(z.number()).optional().optional(),
7741
8183
  frequency: z.union([
7742
8184
  z.literal('days'),
7743
8185
  z.literal('hours'),
@@ -7861,13 +8303,29 @@ const onboarding_enrollmentPreviewOutput = z.strictObject({
7861
8303
  steps: z.array(z.strictObject({
7862
8304
  dueAt: z.iso.datetime({ offset: true }),
7863
8305
  kind: z.union([
8306
+ z.literal('acknowledge'),
7864
8307
  z.literal('buddy_invitation'),
7865
8308
  z.literal('check_in'),
8309
+ z.literal('checkpoint'),
8310
+ z.literal('form'),
7866
8311
  z.literal('introduction'),
8312
+ z.literal('meet'),
8313
+ z.literal('message'),
8314
+ z.literal('task'),
7867
8315
  ]),
7868
8316
  offsetDays: z.number(),
7869
8317
  pending: z.boolean(),
7870
8318
  preview: z.string(),
8319
+ recipient: z.union([
8320
+ z.null(),
8321
+ z.literal('buddy'),
8322
+ z.literal('hire'),
8323
+ z.literal('hr'),
8324
+ z.literal('manager'),
8325
+ z.literal('person'),
8326
+ ]),
8327
+ recipientName: z.union([z.null(), z.string()]),
8328
+ ref: z.string(),
7871
8329
  status: z.union([
7872
8330
  z.null(),
7873
8331
  z.literal('accepted'),
@@ -7882,6 +8340,8 @@ const onboarding_enrollmentPreviewOutput = z.strictObject({
7882
8340
  z.literal('unknown'),
7883
8341
  z.literal('waiting'),
7884
8342
  ]),
8343
+ title: z.union([z.null(), z.string()]),
8344
+ todos: z.array(z.string()),
7885
8345
  })),
7886
8346
  });
7887
8347
  const onboarding_previewEnrollmentInput = z
@@ -8090,6 +8550,139 @@ const onboarding_mineOutput = z.union([
8090
8550
  personId: z.string(),
8091
8551
  }),
8092
8552
  ]);
8553
+ const onboarding_journeyInput = z.strictObject({});
8554
+ const onboarding_journeyOutput = z.union([
8555
+ z.null(),
8556
+ z.strictObject({
8557
+ buddy: z.union([
8558
+ z.null(),
8559
+ z.strictObject({
8560
+ email: z.union([z.null(), z.string()]),
8561
+ id: z.string(),
8562
+ name: z.string(),
8563
+ photoUrl: z.union([z.null(), z.string()]),
8564
+ slackUserId: z.union([z.null(), z.string()]),
8565
+ title: z.union([z.null(), z.string()]),
8566
+ userId: z.union([z.null(), z.string()]),
8567
+ }),
8568
+ ]),
8569
+ checkpoints: z.array(z.strictObject({
8570
+ checkpoint: z.union([
8571
+ z.literal('day_30'),
8572
+ z.literal('day_365'),
8573
+ z.literal('day_60'),
8574
+ z.literal('day_90'),
8575
+ ]),
8576
+ closesAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8577
+ date: z.string(),
8578
+ day: z.number(),
8579
+ label: z.string(),
8580
+ state: z.union([
8581
+ z.literal('answered'),
8582
+ z.literal('closed'),
8583
+ z.literal('due'),
8584
+ z.literal('open'),
8585
+ z.literal('skipped'),
8586
+ z.literal('upcoming'),
8587
+ ]),
8588
+ title: z.string(),
8589
+ })),
8590
+ day: z.union([z.null(), z.number()]),
8591
+ enrolled: z.boolean(),
8592
+ gettingReady: z.array(z.strictObject({
8593
+ done: z.boolean(),
8594
+ due: z.union([z.null(), z.string()]),
8595
+ id: z.string(),
8596
+ label: z.string(),
8597
+ owner: z.union([
8598
+ z.null(),
8599
+ z.strictObject({ id: z.string(), name: z.string() }),
8600
+ ]),
8601
+ })),
8602
+ manager: z.union([
8603
+ z.null(),
8604
+ z.strictObject({
8605
+ email: z.union([z.null(), z.string()]),
8606
+ id: z.string(),
8607
+ name: z.string(),
8608
+ photoUrl: z.union([z.null(), z.string()]),
8609
+ slackUserId: z.union([z.null(), z.string()]),
8610
+ title: z.union([z.null(), z.string()]),
8611
+ userId: z.union([z.null(), z.string()]),
8612
+ }),
8613
+ ]),
8614
+ programName: z.union([z.null(), z.string()]),
8615
+ resources: z.array(z.union([
8616
+ z.strictObject({
8617
+ day: z.number(),
8618
+ sourceId: z.string(),
8619
+ title: z.string(),
8620
+ type: z.literal('knowledge'),
8621
+ }),
8622
+ z.strictObject({
8623
+ day: z.number(),
8624
+ label: z.string(),
8625
+ type: z.literal('link'),
8626
+ url: z.string(),
8627
+ }),
8628
+ z.strictObject({
8629
+ communityId: z.string(),
8630
+ day: z.number(),
8631
+ name: z.string(),
8632
+ type: z.literal('community'),
8633
+ }),
8634
+ ])),
8635
+ startDate: z.union([z.null(), z.string()]),
8636
+ steps: z.array(z.strictObject({
8637
+ answer: z.union([
8638
+ z.null(),
8639
+ z.literal('all_good'),
8640
+ z.literal('need_help'),
8641
+ ]),
8642
+ date: z.string(),
8643
+ day: z.number(),
8644
+ kind: z.union([
8645
+ z.literal('check_in'),
8646
+ z.literal('checkpoint'),
8647
+ z.literal('introduction'),
8648
+ z.literal('message'),
8649
+ z.literal('task'),
8650
+ ]),
8651
+ state: z.union([
8652
+ z.literal('done'),
8653
+ z.literal('planned'),
8654
+ z.literal('stopped'),
8655
+ ]),
8656
+ status: z.string(),
8657
+ stepId: z.string(),
8658
+ stepKey: z.union([z.null(), z.string()]),
8659
+ title: z.union([z.null(), z.string()]),
8660
+ })),
8661
+ today: z.string(),
8662
+ todos: z.array(z.strictObject({
8663
+ done: z.boolean(),
8664
+ due: z.union([z.null(), z.string()]),
8665
+ id: z.string(),
8666
+ label: z.string(),
8667
+ owner: z.union([
8668
+ z.null(),
8669
+ z.strictObject({ id: z.string(), name: z.string() }),
8670
+ ]),
8671
+ })),
8672
+ }),
8673
+ ]);
8674
+ const onboarding_completeTodoInput = z
8675
+ .strictObject({ done: z.boolean(), todoId: z.string() })
8676
+ .extend({
8677
+ confirm: z.literal('onboarding.completeTodo'),
8678
+ requestKey: z.string().min(1).max(128),
8679
+ });
8680
+ const onboarding_completeTodoOutput = z.object({
8681
+ receipt: commandReceiptSchema,
8682
+ result: z
8683
+ .strictObject({ changed: z.boolean(), done: z.boolean() })
8684
+ .nullable(),
8685
+ });
8093
8686
  const onboarding_firstDaysCheckInsInput = z.strictObject({});
8094
8687
  const onboarding_firstDaysCheckInsOutput = z.array(z.strictObject({
8095
8688
  checkpoint: z.union([
@@ -8182,7 +8775,6 @@ const onboarding_firstDaysResultsOutput = z.strictObject({
8182
8775
  sent: z.number(),
8183
8776
  })),
8184
8777
  floor: z.number(),
8185
- manager: z.strictObject({ booked: z.number(), sent: z.number() }),
8186
8778
  });
8187
8779
  const onboarding_answerCheckInInput = z
8188
8780
  .strictObject({
@@ -8337,7 +8929,6 @@ const celebrations_saveInput = z
8337
8929
  enabled: z.boolean(),
8338
8930
  eventType: z.union([z.literal('anniversary'), z.literal('birthday')]),
8339
8931
  expectedRevision: z.number(),
8340
- previewFingerprint: z.union([z.null(), z.string()]).optional().optional(),
8341
8932
  sendHour: z.number(),
8342
8933
  sendMinute: z.number(),
8343
8934
  template: z.string(),
@@ -8371,7 +8962,6 @@ const celebrations_previewInput = z.strictObject({
8371
8962
  template: z.string(),
8372
8963
  });
8373
8964
  const celebrations_previewOutput = z.strictObject({
8374
- fingerprint: z.string(),
8375
8965
  messages: z.array(z.union([
8376
8966
  z.strictObject({
8377
8967
  audience: z.literal('person'),
@@ -8557,6 +9147,54 @@ const celebrations_deliveriesOutput = z.strictObject({
8557
9147
  years: z.union([z.null(), z.number()]),
8558
9148
  })),
8559
9149
  });
9150
+ const celebrations_startDatesInput = z.strictObject({});
9151
+ const celebrations_startDatesOutput = z.strictObject({
9152
+ anniversariesOn: z.boolean(),
9153
+ anniversaryDate: z.union([
9154
+ z.literal('latest_hire'),
9155
+ z.literal('original_hire'),
9156
+ ]),
9157
+ findings: z.array(z.strictObject({
9158
+ count: z.number(),
9159
+ date: z.union([z.null(), z.string()]),
9160
+ kind: z.union([
9161
+ z.literal('future'),
9162
+ z.literal('long_ago'),
9163
+ z.literal('shared'),
9164
+ ]),
9165
+ people: z.array(z.strictObject({
9166
+ id: z.string(),
9167
+ name: z.string(),
9168
+ startDate: z.string(),
9169
+ })),
9170
+ })),
9171
+ firstHires: z.number(),
9172
+ lastCheckedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
9173
+ nextCheckAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
9174
+ revision: z.number(),
9175
+ });
9176
+ const celebrations_saveAnniversaryDateInput = z
9177
+ .strictObject({
9178
+ anniversaryDate: z.union([
9179
+ z.literal('latest_hire'),
9180
+ z.literal('original_hire'),
9181
+ ]),
9182
+ expectedRevision: z.number(),
9183
+ })
9184
+ .extend({
9185
+ confirm: z.literal('celebrations.saveAnniversaryDate'),
9186
+ requestKey: z.string().min(1).max(128),
9187
+ });
9188
+ const celebrations_saveAnniversaryDateOutput = z.object({
9189
+ receipt: commandReceiptSchema,
9190
+ result: z
9191
+ .strictObject({
9192
+ changed: z.boolean(),
9193
+ revision: z.number(),
9194
+ scheduled: z.number(),
9195
+ })
9196
+ .nullable(),
9197
+ });
8560
9198
  const celebrations_mineInput = z.strictObject({});
8561
9199
  const celebrations_mineOutput = z.array(z.strictObject({
8562
9200
  eventType: z.union([z.literal('anniversary'), z.literal('birthday')]),
@@ -8676,6 +9314,7 @@ const celebrations_preferencesOutput = z.strictObject({
8676
9314
  enabled: z.boolean(),
8677
9315
  }),
8678
9316
  }),
9317
+ startDate: z.union([z.null(), z.string()]),
8679
9318
  updatedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8680
9319
  });
8681
9320
  const celebrations_savePreferencesInput = z
@@ -8821,7 +9460,9 @@ const notifications_preferencesOutput = z.strictObject({
8821
9460
  kinds: z.array(z.union([
8822
9461
  z.literal('billing_limit'),
8823
9462
  z.literal('celebration'),
9463
+ z.literal('check_in'),
8824
9464
  z.literal('connections_intro'),
9465
+ z.literal('getting_started'),
8825
9466
  z.literal('hr_digest'),
8826
9467
  z.literal('hr_reply'),
8827
9468
  z.literal('hr_request'),
@@ -8845,7 +9486,9 @@ const notifications_preferencesOutput = z.strictObject({
8845
9486
  kind: z.union([
8846
9487
  z.literal('billing_limit'),
8847
9488
  z.literal('celebration'),
9489
+ z.literal('check_in'),
8848
9490
  z.literal('connections_intro'),
9491
+ z.literal('getting_started'),
8849
9492
  z.literal('hr_digest'),
8850
9493
  z.literal('hr_reply'),
8851
9494
  z.literal('hr_request'),
@@ -8873,7 +9516,9 @@ const notifications_saveInput = z
8873
9516
  kind: z.union([
8874
9517
  z.literal('billing_limit'),
8875
9518
  z.literal('celebration'),
9519
+ z.literal('check_in'),
8876
9520
  z.literal('connections_intro'),
9521
+ z.literal('getting_started'),
8877
9522
  z.literal('hr_digest'),
8878
9523
  z.literal('hr_reply'),
8879
9524
  z.literal('hr_request'),
@@ -8900,7 +9545,9 @@ const notifications_saveOutput = z.object({
8900
9545
  kinds: z.array(z.union([
8901
9546
  z.literal('billing_limit'),
8902
9547
  z.literal('celebration'),
9548
+ z.literal('check_in'),
8903
9549
  z.literal('connections_intro'),
9550
+ z.literal('getting_started'),
8904
9551
  z.literal('hr_digest'),
8905
9552
  z.literal('hr_reply'),
8906
9553
  z.literal('hr_request'),
@@ -8928,7 +9575,9 @@ const notifications_saveOutput = z.object({
8928
9575
  kind: z.union([
8929
9576
  z.literal('billing_limit'),
8930
9577
  z.literal('celebration'),
9578
+ z.literal('check_in'),
8931
9579
  z.literal('connections_intro'),
9580
+ z.literal('getting_started'),
8932
9581
  z.literal('hr_digest'),
8933
9582
  z.literal('hr_reply'),
8934
9583
  z.literal('hr_request'),
@@ -9084,6 +9733,14 @@ const digest_previewOutput = z.strictObject({
9084
9733
  ]),
9085
9734
  link: z.strictObject({ label: z.string(), path: z.string() }),
9086
9735
  note: z.string().optional().optional(),
9736
+ ratio: z
9737
+ .strictObject({
9738
+ label: z.string(),
9739
+ part: z.number(),
9740
+ whole: z.number(),
9741
+ })
9742
+ .optional()
9743
+ .optional(),
9087
9744
  stats: z.array(z.strictObject({ label: z.string(), value: z.string() })),
9088
9745
  title: z.string(),
9089
9746
  })),
@@ -9118,6 +9775,7 @@ const digest_previewOutput = z.strictObject({
9118
9775
  path: z.string(),
9119
9776
  }),
9120
9777
  ]),
9778
+ trend: z.array(z.number()).optional().optional(),
9121
9779
  });
9122
9780
  const digest_nudgesInput = z.strictObject({});
9123
9781
  const digest_nudgesOutput = z.array(z.union([
@@ -9854,6 +10512,18 @@ const reports_peopleOutput = z.strictObject({
9854
10512
  onLeave: z.number(),
9855
10513
  withStartDate: z.number(),
9856
10514
  }),
10515
+ history: z.strictObject({
10516
+ departments: z.array(z.strictObject({ label: z.string(), value: z.number() })),
10517
+ monthly: z.array(z.strictObject({
10518
+ headcount: z.number(),
10519
+ joined: z.number(),
10520
+ left: z.number(),
10521
+ month: z.string(),
10522
+ })),
10523
+ noDepartment: z.number(),
10524
+ tenure: z.array(z.strictObject({ label: z.string(), value: z.number() })),
10525
+ undated: z.number(),
10526
+ }),
9857
10527
  joins: z.strictObject({ current: z.number(), previous: z.number() }),
9858
10528
  roles: z.strictObject({
9859
10529
  admin: z.number(),
@@ -10291,8 +10961,23 @@ const pulse_programOutput = z.strictObject({
10291
10961
  openHours: z.number(),
10292
10962
  reportingFloor: z.number(),
10293
10963
  sendDays: z.array(z.number()),
10964
+ sendEvery: z.number(),
10294
10965
  sendHour: z.number(),
10295
10966
  sendMinute: z.number(),
10967
+ sendMonthWeek: z.union([
10968
+ z.null(),
10969
+ z.literal(1),
10970
+ z.literal(2),
10971
+ z.literal(3),
10972
+ z.literal(4),
10973
+ z.literal(5),
10974
+ ]),
10975
+ sendStart: z.union([z.null(), z.string()]),
10976
+ sendUnit: z.union([
10977
+ z.literal('day'),
10978
+ z.literal('month'),
10979
+ z.literal('week'),
10980
+ ]),
10296
10981
  timezone: z.string(),
10297
10982
  }),
10298
10983
  slackReachable: z.number(),
@@ -10317,8 +11002,25 @@ const pulse_saveProgramInput = z
10317
11002
  openHours: z.number(),
10318
11003
  reportingFloor: z.number(),
10319
11004
  sendDays: z.array(z.number()),
11005
+ sendEvery: z.number().optional().optional(),
10320
11006
  sendHour: z.number(),
10321
11007
  sendMinute: z.number(),
11008
+ sendMonthWeek: z
11009
+ .union([
11010
+ z.null(),
11011
+ z.literal(1),
11012
+ z.literal(2),
11013
+ z.literal(3),
11014
+ z.literal(4),
11015
+ z.literal(5),
11016
+ ])
11017
+ .optional()
11018
+ .optional(),
11019
+ sendStart: z.union([z.null(), z.string()]).optional().optional(),
11020
+ sendUnit: z
11021
+ .union([z.literal('day'), z.literal('month'), z.literal('week')])
11022
+ .optional()
11023
+ .optional(),
10322
11024
  status: z.union([
10323
11025
  z.literal('active'),
10324
11026
  z.literal('draft'),
@@ -11515,6 +12217,7 @@ const pulse_latestReadOutput = z.union([
11515
12217
  ]),
11516
12218
  })),
11517
12219
  floorMet: z.boolean(),
12220
+ groups: z.array(z.strictObject({ label: z.string(), value: z.number() })),
11518
12221
  invited: z.number(),
11519
12222
  participationPct: z.union([z.null(), z.number()]),
11520
12223
  questionText: z.string(),
@@ -12082,6 +12785,25 @@ const praise_settingsOutput = z.strictObject({
12082
12785
  reactionReadScope: z.boolean(),
12083
12786
  reactionScope: z.boolean(),
12084
12787
  revision: z.number(),
12788
+ slack: z.strictObject({
12789
+ reason: z.union([
12790
+ z.literal('connected'),
12791
+ z.literal('grid_pending'),
12792
+ z.literal('missing_permissions'),
12793
+ z.literal('not_installed'),
12794
+ z.literal('paused'),
12795
+ z.literal('revoked'),
12796
+ z.literal('sample_data'),
12797
+ z.literal('unavailable'),
12798
+ z.literal('uninstalled'),
12799
+ z.literal('workspace_changed'),
12800
+ ]),
12801
+ state: z.union([
12802
+ z.literal('connected'),
12803
+ z.literal('needs_reconnect'),
12804
+ z.literal('not_connected'),
12805
+ ]),
12806
+ }),
12085
12807
  status: z.union([z.literal('off'), z.literal('on')]),
12086
12808
  valuesPages: z.array(z.strictObject({
12087
12809
  id: z.string(),
@@ -12153,7 +12875,12 @@ const praise_insightsOutput = z.strictObject({
12153
12875
  praise: z.union([z.null(), z.number()]),
12154
12876
  recognizedShare: z.union([z.null(), z.number()]),
12155
12877
  values: z.array(z.strictObject({ count: z.number(), value: z.string() })),
12156
- weeks: z.array(z.strictObject({ count: z.number(), week: z.string() })),
12878
+ weeks: z.array(z.strictObject({
12879
+ count: z.number(),
12880
+ givers: z.number(),
12881
+ recognized: z.number(),
12882
+ week: z.string(),
12883
+ })),
12157
12884
  });
12158
12885
  const praise_feedInput = z.strictObject({
12159
12886
  before: z.json().optional(),
@@ -12272,54 +12999,17 @@ const praise_setHiddenOutput = z.object({
12272
12999
  });
12273
13000
  const reminders_settingsInput = z.strictObject({});
12274
13001
  const reminders_settingsOutput = z.strictObject({
12275
- manager_check_in: z.strictObject({
12276
- available: z.boolean(),
12277
- choice: z.union([
12278
- z.literal('before_close'),
12279
- z.literal('biweekly'),
12280
- z.literal('every_2_weeks'),
12281
- z.literal('first_90_days'),
12282
- z.literal('first_year'),
12283
- z.literal('monthly'),
12284
- z.literal('next_day'),
12285
- z.literal('off'),
12286
- z.literal('quarterly'),
12287
- z.literal('weekly'),
12288
- ]),
12289
- optedOut: z.number(),
12290
- options: z.array(z.string()),
12291
- }),
12292
- new_hire_check_in: z.strictObject({
12293
- available: z.boolean(),
12294
- choice: z.union([
12295
- z.literal('before_close'),
12296
- z.literal('biweekly'),
12297
- z.literal('every_2_weeks'),
12298
- z.literal('first_90_days'),
12299
- z.literal('first_year'),
12300
- z.literal('monthly'),
12301
- z.literal('next_day'),
12302
- z.literal('off'),
12303
- z.literal('quarterly'),
12304
- z.literal('weekly'),
12305
- ]),
12306
- optedOut: z.number(),
12307
- options: z.array(z.string()),
12308
- }),
12309
13002
  praise: z.strictObject({
12310
13003
  available: z.boolean(),
12311
13004
  choice: z.union([
12312
13005
  z.literal('before_close'),
12313
- z.literal('biweekly'),
12314
13006
  z.literal('every_2_weeks'),
12315
- z.literal('first_90_days'),
12316
- z.literal('first_year'),
12317
13007
  z.literal('monthly'),
12318
13008
  z.literal('next_day'),
12319
13009
  z.literal('off'),
12320
13010
  z.literal('quarterly'),
12321
- z.literal('weekly'),
12322
13011
  ]),
13012
+ days: z.array(z.number()),
12323
13013
  optedOut: z.number(),
12324
13014
  options: z.array(z.string()),
12325
13015
  }),
@@ -12327,16 +13017,13 @@ const reminders_settingsOutput = z.strictObject({
12327
13017
  available: z.boolean(),
12328
13018
  choice: z.union([
12329
13019
  z.literal('before_close'),
12330
- z.literal('biweekly'),
12331
13020
  z.literal('every_2_weeks'),
12332
- z.literal('first_90_days'),
12333
- z.literal('first_year'),
12334
13021
  z.literal('monthly'),
12335
13022
  z.literal('next_day'),
12336
13023
  z.literal('off'),
12337
13024
  z.literal('quarterly'),
12338
- z.literal('weekly'),
12339
13025
  ]),
13026
+ days: z.array(z.number()),
12340
13027
  optedOut: z.number(),
12341
13028
  options: z.array(z.string()),
12342
13029
  }),
@@ -12344,12 +13031,8 @@ const reminders_settingsOutput = z.strictObject({
12344
13031
  const reminders_saveSettingInput = z
12345
13032
  .strictObject({
12346
13033
  choice: z.string(),
12347
- kind: z.union([
12348
- z.literal('manager_check_in'),
12349
- z.literal('new_hire_check_in'),
12350
- z.literal('praise'),
12351
- z.literal('pulse'),
12352
- ]),
13034
+ days: z.array(z.number()).optional().optional(),
13035
+ kind: z.union([z.literal('praise'), z.literal('pulse')]),
12353
13036
  })
12354
13037
  .extend({
12355
13038
  confirm: z.literal('reminders.saveSetting'),
@@ -12362,22 +13045,14 @@ const reminders_saveSettingOutput = z.object({
12362
13045
  changed: z.boolean(),
12363
13046
  choice: z.union([
12364
13047
  z.literal('before_close'),
12365
- z.literal('biweekly'),
12366
13048
  z.literal('every_2_weeks'),
12367
- z.literal('first_90_days'),
12368
- z.literal('first_year'),
12369
13049
  z.literal('monthly'),
12370
13050
  z.literal('next_day'),
12371
13051
  z.literal('off'),
12372
13052
  z.literal('quarterly'),
12373
- z.literal('weekly'),
12374
- ]),
12375
- kind: z.union([
12376
- z.literal('manager_check_in'),
12377
- z.literal('new_hire_check_in'),
12378
- z.literal('praise'),
12379
- z.literal('pulse'),
12380
13053
  ]),
13054
+ days: z.array(z.number()),
13055
+ kind: z.union([z.literal('praise'), z.literal('pulse')]),
12381
13056
  })
12382
13057
  .nullable(),
12383
13058
  });
@@ -12386,57 +13061,36 @@ const reminders_mineOutput = z.strictObject({
12386
13061
  kinds: z.array(z.strictObject({
12387
13062
  choice: z.union([
12388
13063
  z.literal('before_close'),
12389
- z.literal('biweekly'),
12390
13064
  z.literal('default'),
12391
13065
  z.literal('every_2_weeks'),
12392
- z.literal('first_90_days'),
12393
- z.literal('first_year'),
12394
13066
  z.literal('monthly'),
12395
13067
  z.literal('next_day'),
12396
13068
  z.literal('off'),
12397
13069
  z.literal('quarterly'),
12398
- z.literal('weekly'),
12399
13070
  ]),
12400
13071
  effective: z.union([
12401
13072
  z.literal('before_close'),
12402
- z.literal('biweekly'),
12403
13073
  z.literal('every_2_weeks'),
12404
- z.literal('first_90_days'),
12405
- z.literal('first_year'),
12406
13074
  z.literal('monthly'),
12407
13075
  z.literal('next_day'),
12408
13076
  z.literal('off'),
12409
13077
  z.literal('quarterly'),
12410
- z.literal('weekly'),
12411
- ]),
12412
- kind: z.union([
12413
- z.literal('manager_check_in'),
12414
- z.literal('new_hire_check_in'),
12415
- z.literal('praise'),
12416
- z.literal('pulse'),
12417
13078
  ]),
13079
+ kind: z.union([z.literal('praise'), z.literal('pulse')]),
12418
13080
  options: z.array(z.union([
12419
13081
  z.literal('before_close'),
12420
- z.literal('biweekly'),
12421
13082
  z.literal('every_2_weeks'),
12422
- z.literal('first_90_days'),
12423
- z.literal('first_year'),
12424
13083
  z.literal('monthly'),
12425
13084
  z.literal('next_day'),
12426
13085
  z.literal('quarterly'),
12427
- z.literal('weekly'),
12428
13086
  ])),
12429
13087
  team: z.union([
12430
13088
  z.literal('before_close'),
12431
- z.literal('biweekly'),
12432
13089
  z.literal('every_2_weeks'),
12433
- z.literal('first_90_days'),
12434
- z.literal('first_year'),
12435
13090
  z.literal('monthly'),
12436
13091
  z.literal('next_day'),
12437
13092
  z.literal('off'),
12438
13093
  z.literal('quarterly'),
12439
- z.literal('weekly'),
12440
13094
  ]),
12441
13095
  })),
12442
13096
  linked: z.boolean(),
@@ -12444,12 +13098,7 @@ const reminders_mineOutput = z.strictObject({
12444
13098
  const reminders_saveMineInput = z
12445
13099
  .strictObject({
12446
13100
  choice: z.string(),
12447
- kind: z.union([
12448
- z.literal('manager_check_in'),
12449
- z.literal('new_hire_check_in'),
12450
- z.literal('praise'),
12451
- z.literal('pulse'),
12452
- ]),
13101
+ kind: z.union([z.literal('praise'), z.literal('pulse')]),
12453
13102
  })
12454
13103
  .extend({
12455
13104
  confirm: z.literal('reminders.saveMine'),
@@ -12463,57 +13112,36 @@ const reminders_saveMineOutput = z.object({
12463
13112
  kinds: z.array(z.strictObject({
12464
13113
  choice: z.union([
12465
13114
  z.literal('before_close'),
12466
- z.literal('biweekly'),
12467
13115
  z.literal('default'),
12468
13116
  z.literal('every_2_weeks'),
12469
- z.literal('first_90_days'),
12470
- z.literal('first_year'),
12471
13117
  z.literal('monthly'),
12472
13118
  z.literal('next_day'),
12473
13119
  z.literal('off'),
12474
13120
  z.literal('quarterly'),
12475
- z.literal('weekly'),
12476
13121
  ]),
12477
13122
  effective: z.union([
12478
13123
  z.literal('before_close'),
12479
- z.literal('biweekly'),
12480
13124
  z.literal('every_2_weeks'),
12481
- z.literal('first_90_days'),
12482
- z.literal('first_year'),
12483
13125
  z.literal('monthly'),
12484
13126
  z.literal('next_day'),
12485
13127
  z.literal('off'),
12486
13128
  z.literal('quarterly'),
12487
- z.literal('weekly'),
12488
- ]),
12489
- kind: z.union([
12490
- z.literal('manager_check_in'),
12491
- z.literal('new_hire_check_in'),
12492
- z.literal('praise'),
12493
- z.literal('pulse'),
12494
13129
  ]),
13130
+ kind: z.union([z.literal('praise'), z.literal('pulse')]),
12495
13131
  options: z.array(z.union([
12496
13132
  z.literal('before_close'),
12497
- z.literal('biweekly'),
12498
13133
  z.literal('every_2_weeks'),
12499
- z.literal('first_90_days'),
12500
- z.literal('first_year'),
12501
13134
  z.literal('monthly'),
12502
13135
  z.literal('next_day'),
12503
13136
  z.literal('quarterly'),
12504
- z.literal('weekly'),
12505
13137
  ])),
12506
13138
  team: z.union([
12507
13139
  z.literal('before_close'),
12508
- z.literal('biweekly'),
12509
13140
  z.literal('every_2_weeks'),
12510
- z.literal('first_90_days'),
12511
- z.literal('first_year'),
12512
13141
  z.literal('monthly'),
12513
13142
  z.literal('next_day'),
12514
13143
  z.literal('off'),
12515
13144
  z.literal('quarterly'),
12516
- z.literal('weekly'),
12517
13145
  ]),
12518
13146
  })),
12519
13147
  linked: z.boolean(),
@@ -12568,6 +13196,8 @@ const praise_sendInput = z
12568
13196
  z.literal('feed'),
12569
13197
  z.literal('nudge'),
12570
13198
  z.literal('profile'),
13199
+ z.literal('slack_reminder'),
13200
+ z.literal('slack_thank_back'),
12571
13201
  z.literal('suggestion'),
12572
13202
  z.literal('yours'),
12573
13203
  ])
@@ -12924,6 +13554,15 @@ export const managementContract = {
12924
13554
  })
12925
13555
  .input(celebrations_saveInput)
12926
13556
  .output(celebrations_saveOutput),
13557
+ saveAnniversaryDate: base
13558
+ .meta({ scope: 'celebrations:write' })
13559
+ .route({
13560
+ method: 'POST',
13561
+ path: '/manage/celebrations/saveAnniversaryDate',
13562
+ summary: 'Choose which start date work anniversaries count from; reschedules them',
13563
+ })
13564
+ .input(celebrations_saveAnniversaryDateInput)
13565
+ .output(celebrations_saveAnniversaryDateOutput),
12927
13566
  savePreferences: base
12928
13567
  .meta({ scope: 'self:write' })
12929
13568
  .route({
@@ -12942,6 +13581,15 @@ export const managementContract = {
12942
13581
  })
12943
13582
  .input(celebrations_signCardInput)
12944
13583
  .output(celebrations_signCardOutput),
13584
+ startDates: base
13585
+ .meta({ scope: 'celebrations:read' })
13586
+ .route({
13587
+ method: 'POST',
13588
+ path: '/manage/celebrations/startDates',
13589
+ summary: 'celebrations.startDates',
13590
+ })
13591
+ .input(celebrations_startDatesInput)
13592
+ .output(celebrations_startDatesOutput),
12945
13593
  },
12946
13594
  communities: {
12947
13595
  archive: base
@@ -13289,6 +13937,15 @@ export const managementContract = {
13289
13937
  })
13290
13938
  .input(home_feedInput)
13291
13939
  .output(home_feedOutput),
13940
+ places: base
13941
+ .meta({ scope: 'self:read' })
13942
+ .route({
13943
+ method: 'POST',
13944
+ path: '/manage/home/places',
13945
+ summary: 'The areas turned on for you, what is waiting for you, and your onboarding progress',
13946
+ })
13947
+ .input(home_placesInput)
13948
+ .output(home_placesOutput),
13292
13949
  preferences: base
13293
13950
  .meta({ scope: 'profile:write' })
13294
13951
  .route({
@@ -13364,6 +14021,11 @@ export const managementContract = {
13364
14021
  .route({ method: 'POST', path: '/manage/hr/list', summary: 'hr.list' })
13365
14022
  .input(hr_listInput)
13366
14023
  .output(hr_listOutput),
14024
+ mine: base
14025
+ .meta({ scope: 'hr:read' })
14026
+ .route({ method: 'POST', path: '/manage/hr/mine', summary: 'hr.mine' })
14027
+ .input(hr_mineInput)
14028
+ .output(hr_mineOutput),
13367
14029
  readiness: base
13368
14030
  .meta({ scope: 'hr:read' })
13369
14031
  .route({
@@ -13935,6 +14597,15 @@ export const managementContract = {
13935
14597
  })
13936
14598
  .input(onboarding_candidatesInput)
13937
14599
  .output(onboarding_candidatesOutput),
14600
+ completeTodo: base
14601
+ .meta({ scope: 'self:write' })
14602
+ .route({
14603
+ method: 'POST',
14604
+ path: '/manage/onboarding/completeTodo',
14605
+ summary: 'Check off (or reopen) one of your own onboarding to-dos',
14606
+ })
14607
+ .input(onboarding_completeTodoInput)
14608
+ .output(onboarding_completeTodoOutput),
13938
14609
  enroll: base
13939
14610
  .meta({ scope: 'onboarding:write' })
13940
14611
  .route({
@@ -13971,6 +14642,15 @@ export const managementContract = {
13971
14642
  })
13972
14643
  .input(onboarding_firstDaysResultsInput)
13973
14644
  .output(onboarding_firstDaysResultsOutput),
14645
+ journey: base
14646
+ .meta({ scope: 'self:read' })
14647
+ .route({
14648
+ method: 'POST',
14649
+ path: '/manage/onboarding/journey',
14650
+ summary: 'Your onboarding timeline: start date, buddy, manager, upcoming check-ins, your to-dos and resources',
14651
+ })
14652
+ .input(onboarding_journeyInput)
14653
+ .output(onboarding_journeyOutput),
13974
14654
  mine: base
13975
14655
  .meta({ scope: 'self:read' })
13976
14656
  .route({
@@ -14971,6 +15651,15 @@ export const managementContract = {
14971
15651
  })
14972
15652
  .input(teams_slackChannelsInput)
14973
15653
  .output(teams_slackChannelsOutput),
15654
+ slackConnection: base
15655
+ .meta({ scope: 'integrations:read' })
15656
+ .route({
15657
+ method: 'POST',
15658
+ path: '/manage/teams/slackConnection',
15659
+ summary: 'teams.slackConnection',
15660
+ })
15661
+ .input(teams_slackConnectionInput)
15662
+ .output(teams_slackConnectionOutput),
14974
15663
  slackJoinAccess: base
14975
15664
  .meta({ scope: 'team:read' })
14976
15665
  .route({
@@ -15112,6 +15801,15 @@ export const managementContract = {
15112
15801
  })
15113
15802
  .input(users_filterOptionsInput)
15114
15803
  .output(users_filterOptionsOutput),
15804
+ glance: base
15805
+ .meta({ scope: 'users:read' })
15806
+ .route({
15807
+ method: 'POST',
15808
+ path: '/manage/users/glance',
15809
+ summary: 'Headcount, growth, departments, tenure and time zones, and where you fit',
15810
+ })
15811
+ .input(users_glanceInput)
15812
+ .output(users_glanceOutput),
15115
15813
  managerHistory: base
15116
15814
  .meta({ scope: 'users:read' })
15117
15815
  .route({