@shuffl/api-contracts 0.2.0 → 0.3.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'),
@@ -213,6 +217,7 @@ const credentials_api_createInput = z
213
217
  z.literal('onboarding.enrollmentPreview'),
214
218
  z.literal('onboarding.firstDaysCheckIns'),
215
219
  z.literal('onboarding.firstDaysResults'),
220
+ z.literal('onboarding.journey'),
216
221
  z.literal('onboarding.mine'),
217
222
  z.literal('onboarding.person'),
218
223
  z.literal('onboarding.previewEnrollment'),
@@ -335,6 +340,7 @@ const credentials_api_createInput = z
335
340
  z.literal('teams.saveSlackProfileLink'),
336
341
  z.literal('teams.setup'),
337
342
  z.literal('teams.slackChannels'),
343
+ z.literal('teams.slackConnection'),
338
344
  z.literal('teams.slackJoinAccess'),
339
345
  z.literal('teams.slackProfileLink'),
340
346
  z.literal('teams.status'),
@@ -351,6 +357,7 @@ const credentials_api_createInput = z
351
357
  z.literal('users.details'),
352
358
  z.literal('users.filterOptions'),
353
359
  z.literal('users.get'),
360
+ z.literal('users.glance'),
354
361
  z.literal('users.list'),
355
362
  z.literal('users.managerHistory'),
356
363
  z.literal('users.managers'),
@@ -822,6 +829,7 @@ const exports_teamOutput = z.strictObject({
822
829
  managedBy: z.union([z.null(), z.string()]),
823
830
  managerId: z.union([z.null(), z.string()]),
824
831
  memberId: z.string(),
832
+ originalStartDate: z.union([z.null(), z.string()]),
825
833
  revision: z.number(),
826
834
  startDate: z.union([z.null(), z.string()]),
827
835
  teamId: z.string(),
@@ -919,6 +927,7 @@ const exports_teamOutput = z.strictObject({
919
927
  schedule: z.union([
920
928
  z.strictObject({
921
929
  anchor: z.string(),
930
+ days: z.array(z.number()).optional().optional(),
922
931
  frequency: z.union([
923
932
  z.literal('days'),
924
933
  z.literal('hours'),
@@ -1556,6 +1565,7 @@ const sync_currentOutput = z.strictObject({
1556
1565
  z.literal('deel'),
1557
1566
  z.literal('entra'),
1558
1567
  z.literal('google_team'),
1568
+ z.literal('google_workspace'),
1559
1569
  z.literal('gusto'),
1560
1570
  z.literal('hibob'),
1561
1571
  z.literal('jumpcloud'),
@@ -1589,6 +1599,28 @@ const sync_currentOutput = z.strictObject({
1589
1599
  status: z.string(),
1590
1600
  trigger: z.string(),
1591
1601
  })),
1602
+ slack: z.union([
1603
+ z.null(),
1604
+ z.strictObject({
1605
+ reason: z.union([
1606
+ z.literal('connected'),
1607
+ z.literal('grid_pending'),
1608
+ z.literal('missing_permissions'),
1609
+ z.literal('not_installed'),
1610
+ z.literal('paused'),
1611
+ z.literal('revoked'),
1612
+ z.literal('sample_data'),
1613
+ z.literal('unavailable'),
1614
+ z.literal('uninstalled'),
1615
+ z.literal('workspace_changed'),
1616
+ ]),
1617
+ state: z.union([
1618
+ z.literal('connected'),
1619
+ z.literal('needs_reconnect'),
1620
+ z.literal('not_connected'),
1621
+ ]),
1622
+ }),
1623
+ ]),
1592
1624
  status: z.union([
1593
1625
  z.literal('connected'),
1594
1626
  z.literal('disconnected'),
@@ -1607,6 +1639,7 @@ const sync_connectInput = z
1607
1639
  z.literal('deel'),
1608
1640
  z.literal('entra'),
1609
1641
  z.literal('google_team'),
1642
+ z.literal('google_workspace'),
1610
1643
  z.literal('gusto'),
1611
1644
  z.literal('hibob'),
1612
1645
  z.literal('jumpcloud'),
@@ -1723,8 +1756,10 @@ const credentials_api_listOutput = z.strictObject({
1723
1756
  z.literal('celebrations.removeCardNote'),
1724
1757
  z.literal('celebrations.review'),
1725
1758
  z.literal('celebrations.save'),
1759
+ z.literal('celebrations.saveAnniversaryDate'),
1726
1760
  z.literal('celebrations.savePreferences'),
1727
1761
  z.literal('celebrations.signCard'),
1762
+ z.literal('celebrations.startDates'),
1728
1763
  z.literal('channels.list'),
1729
1764
  z.literal('commands.get'),
1730
1765
  z.literal('communities.archive'),
@@ -1764,6 +1799,7 @@ const credentials_api_listOutput = z.strictObject({
1764
1799
  z.literal('getStarted.intro'),
1765
1800
  z.literal('getStarted.wizard'),
1766
1801
  z.literal('home.feed'),
1802
+ z.literal('home.places'),
1767
1803
  z.literal('home.preferences'),
1768
1804
  z.literal('home.react'),
1769
1805
  z.literal('home.story'),
@@ -1773,6 +1809,7 @@ const credentials_api_listOutput = z.strictObject({
1773
1809
  z.literal('hr.deliver'),
1774
1810
  z.literal('hr.get'),
1775
1811
  z.literal('hr.list'),
1812
+ z.literal('hr.mine'),
1776
1813
  z.literal('hr.readiness'),
1777
1814
  z.literal('hr.rebuildCategories'),
1778
1815
  z.literal('hr.renameTeam'),
@@ -1842,6 +1879,7 @@ const credentials_api_listOutput = z.strictObject({
1842
1879
  z.literal('onboarding.enrollmentPreview'),
1843
1880
  z.literal('onboarding.firstDaysCheckIns'),
1844
1881
  z.literal('onboarding.firstDaysResults'),
1882
+ z.literal('onboarding.journey'),
1845
1883
  z.literal('onboarding.mine'),
1846
1884
  z.literal('onboarding.person'),
1847
1885
  z.literal('onboarding.previewEnrollment'),
@@ -1964,6 +2002,7 @@ const credentials_api_listOutput = z.strictObject({
1964
2002
  z.literal('teams.saveSlackProfileLink'),
1965
2003
  z.literal('teams.setup'),
1966
2004
  z.literal('teams.slackChannels'),
2005
+ z.literal('teams.slackConnection'),
1967
2006
  z.literal('teams.slackJoinAccess'),
1968
2007
  z.literal('teams.slackProfileLink'),
1969
2008
  z.literal('teams.status'),
@@ -1980,6 +2019,7 @@ const credentials_api_listOutput = z.strictObject({
1980
2019
  z.literal('users.details'),
1981
2020
  z.literal('users.filterOptions'),
1982
2021
  z.literal('users.get'),
2022
+ z.literal('users.glance'),
1983
2023
  z.literal('users.list'),
1984
2024
  z.literal('users.managerHistory'),
1985
2025
  z.literal('users.managers'),
@@ -2082,8 +2122,10 @@ const credentials_api_listOutput = z.strictObject({
2082
2122
  z.literal('celebrations.removeCardNote'),
2083
2123
  z.literal('celebrations.review'),
2084
2124
  z.literal('celebrations.save'),
2125
+ z.literal('celebrations.saveAnniversaryDate'),
2085
2126
  z.literal('celebrations.savePreferences'),
2086
2127
  z.literal('celebrations.signCard'),
2128
+ z.literal('celebrations.startDates'),
2087
2129
  z.literal('channels.list'),
2088
2130
  z.literal('commands.get'),
2089
2131
  z.literal('communities.archive'),
@@ -2123,6 +2165,7 @@ const credentials_api_listOutput = z.strictObject({
2123
2165
  z.literal('getStarted.intro'),
2124
2166
  z.literal('getStarted.wizard'),
2125
2167
  z.literal('home.feed'),
2168
+ z.literal('home.places'),
2126
2169
  z.literal('home.preferences'),
2127
2170
  z.literal('home.react'),
2128
2171
  z.literal('home.story'),
@@ -2132,6 +2175,7 @@ const credentials_api_listOutput = z.strictObject({
2132
2175
  z.literal('hr.deliver'),
2133
2176
  z.literal('hr.get'),
2134
2177
  z.literal('hr.list'),
2178
+ z.literal('hr.mine'),
2135
2179
  z.literal('hr.readiness'),
2136
2180
  z.literal('hr.rebuildCategories'),
2137
2181
  z.literal('hr.renameTeam'),
@@ -2201,6 +2245,7 @@ const credentials_api_listOutput = z.strictObject({
2201
2245
  z.literal('onboarding.enrollmentPreview'),
2202
2246
  z.literal('onboarding.firstDaysCheckIns'),
2203
2247
  z.literal('onboarding.firstDaysResults'),
2248
+ z.literal('onboarding.journey'),
2204
2249
  z.literal('onboarding.mine'),
2205
2250
  z.literal('onboarding.person'),
2206
2251
  z.literal('onboarding.previewEnrollment'),
@@ -2323,6 +2368,7 @@ const credentials_api_listOutput = z.strictObject({
2323
2368
  z.literal('teams.saveSlackProfileLink'),
2324
2369
  z.literal('teams.setup'),
2325
2370
  z.literal('teams.slackChannels'),
2371
+ z.literal('teams.slackConnection'),
2326
2372
  z.literal('teams.slackJoinAccess'),
2327
2373
  z.literal('teams.slackProfileLink'),
2328
2374
  z.literal('teams.status'),
@@ -2339,6 +2385,7 @@ const credentials_api_listOutput = z.strictObject({
2339
2385
  z.literal('users.details'),
2340
2386
  z.literal('users.filterOptions'),
2341
2387
  z.literal('users.get'),
2388
+ z.literal('users.glance'),
2342
2389
  z.literal('users.list'),
2343
2390
  z.literal('users.managerHistory'),
2344
2391
  z.literal('users.managers'),
@@ -2508,6 +2555,7 @@ const users_detailsOutput = z.strictObject({
2508
2555
  managedBy: z.union([z.null(), z.string()]),
2509
2556
  managerId: z.union([z.null(), z.string()]),
2510
2557
  memberId: z.string(),
2558
+ originalStartDate: z.union([z.null(), z.string()]),
2511
2559
  revision: z.number(),
2512
2560
  startDate: z.union([z.null(), z.string()]),
2513
2561
  teamId: z.string(),
@@ -2690,6 +2738,27 @@ const users_filterOptionsOutput = z.strictObject({
2690
2738
  name: z.string(),
2691
2739
  })),
2692
2740
  });
2741
+ const users_glanceInput = z.strictObject({});
2742
+ const users_glanceOutput = z.strictObject({
2743
+ averageTenureYears: z.union([z.null(), z.number()]),
2744
+ dated: z.number(),
2745
+ departments: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2746
+ enough: z.boolean(),
2747
+ growth: z.array(z.strictObject({ at: z.string(), value: z.number() })),
2748
+ headcount: z.number(),
2749
+ hiredThisYear: z.number(),
2750
+ me: z.union([
2751
+ z.null(),
2752
+ z.strictObject({
2753
+ joinedAfter: z.number(),
2754
+ joinedBefore: z.number(),
2755
+ start: z.string(),
2756
+ }),
2757
+ ]),
2758
+ tenure: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2759
+ timezones: z.array(z.strictObject({ label: z.string(), value: z.number() })),
2760
+ topics: z.array(z.string()),
2761
+ });
2693
2762
  const users_participantsInput = z.strictObject({
2694
2763
  programId: z.string().optional().optional(),
2695
2764
  });
@@ -2820,6 +2889,7 @@ const users_saveInput = z
2820
2889
  managerId: z.union([z.null(), z.string()]),
2821
2890
  memberId: z.string(),
2822
2891
  name: z.string(),
2892
+ originalStartDate: z.union([z.null(), z.string()]).optional().optional(),
2823
2893
  startDate: z.union([z.null(), z.string()]),
2824
2894
  teamIds: z.array(z.string()),
2825
2895
  timezone: z.union([z.null(), z.string()]),
@@ -2845,6 +2915,7 @@ const users_saveOutput = z.object({
2845
2915
  managedBy: z.union([z.null(), z.string()]),
2846
2916
  managerId: z.union([z.null(), z.string()]),
2847
2917
  memberId: z.string(),
2918
+ originalStartDate: z.union([z.null(), z.string()]),
2848
2919
  revision: z.number(),
2849
2920
  startDate: z.union([z.null(), z.string()]),
2850
2921
  teamId: z.string(),
@@ -3055,6 +3126,7 @@ const timeOff_balancesOutput = z.union([
3055
3126
  z.literal('deel'),
3056
3127
  z.literal('entra'),
3057
3128
  z.literal('google_team'),
3129
+ z.literal('google_workspace'),
3058
3130
  z.literal('gusto'),
3059
3131
  z.literal('hibob'),
3060
3132
  z.literal('jumpcloud'),
@@ -3224,6 +3296,10 @@ const profiles_getOutput = z.strictObject({
3224
3296
  })),
3225
3297
  });
3226
3298
  const profiles_whoKnowsInput = z.strictObject({
3299
+ from: z
3300
+ .union([z.literal('command_palette'), z.literal('people_page')])
3301
+ .optional()
3302
+ .optional(),
3227
3303
  limit: z.number().optional().optional(),
3228
3304
  personIds: z.array(z.string()).optional().optional(),
3229
3305
  topic: z.string().optional().optional(),
@@ -3898,6 +3974,7 @@ const communities_membersOutput = z.strictObject({
3898
3974
  members: z.array(z.strictObject({
3899
3975
  canRemove: z.boolean(),
3900
3976
  id: z.string(),
3977
+ joinedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
3901
3978
  name: z.string(),
3902
3979
  photoUrl: z.union([z.null(), z.string()]),
3903
3980
  role: z.union([z.null(), z.literal('moderator'), z.literal('owner')]),
@@ -4396,6 +4473,22 @@ const home_feedOutput = z.strictObject({
4396
4473
  userId: z.union([z.null(), z.string()]),
4397
4474
  })),
4398
4475
  });
4476
+ const home_placesInput = z.strictObject({});
4477
+ const home_placesOutput = z.strictObject({
4478
+ places: z.array(z.strictObject({
4479
+ id: z.union([
4480
+ z.literal('badges'),
4481
+ z.literal('celebrations'),
4482
+ z.literal('chats'),
4483
+ z.literal('communities'),
4484
+ z.literal('knowledge'),
4485
+ z.literal('onboarding'),
4486
+ z.literal('praise'),
4487
+ z.literal('pulse'),
4488
+ ]),
4489
+ waiting: z.boolean(),
4490
+ })),
4491
+ });
4399
4492
  const home_reactInput = z
4400
4493
  .strictObject({
4401
4494
  emoji: z.union([
@@ -5088,6 +5181,7 @@ const programs_schedulePreviewInput = z.strictObject({
5088
5181
  }),
5089
5182
  z.strictObject({
5090
5183
  anchor: z.string(),
5184
+ days: z.array(z.number()).optional().optional(),
5091
5185
  frequency: z.union([
5092
5186
  z.literal('days'),
5093
5187
  z.literal('hours'),
@@ -6518,6 +6612,27 @@ const hr_listOutput = z.array(z.strictObject({
6518
6612
  ]),
6519
6613
  updatedAt: z.iso.datetime({ offset: true }),
6520
6614
  }));
6615
+ const hr_mineInput = z.strictObject({});
6616
+ const hr_mineOutput = z.array(z.strictObject({
6617
+ createdAt: z.iso.datetime({ offset: true }),
6618
+ destinationName: z.string(),
6619
+ id: z.string(),
6620
+ latestReply: z.union([
6621
+ z.null(),
6622
+ z.strictObject({
6623
+ body: z.string(),
6624
+ createdAt: z.iso.datetime({ offset: true }),
6625
+ }),
6626
+ ]),
6627
+ sharedText: z.string(),
6628
+ status: z.union([
6629
+ z.literal('open'),
6630
+ z.literal('resolved'),
6631
+ z.literal('waiting_on_employee'),
6632
+ z.literal('waiting_on_hr'),
6633
+ ]),
6634
+ updatedAt: z.iso.datetime({ offset: true }),
6635
+ }));
6521
6636
  const hr_getInput = z.strictObject({ caseId: z.string() });
6522
6637
  const hr_getOutput = z.strictObject({
6523
6638
  case: z.strictObject({
@@ -6871,7 +6986,20 @@ const support_getOutput = z.strictObject({
6871
6986
  }),
6872
6987
  });
6873
6988
  const support_createInput = z
6874
- .strictObject({ body: z.string(), subject: z.string().optional().optional() })
6989
+ .strictObject({
6990
+ body: z.string(),
6991
+ guides: z
6992
+ .union([
6993
+ z.literal('abstain'),
6994
+ z.literal('answer'),
6995
+ z.literal('empty'),
6996
+ z.literal('not_checked'),
6997
+ z.literal('unavailable'),
6998
+ ])
6999
+ .optional()
7000
+ .optional(),
7001
+ subject: z.string().optional().optional(),
7002
+ })
6875
7003
  .extend({ requestKey: z.string().min(1).max(128) });
6876
7004
  const support_createOutput = z.object({
6877
7005
  receipt: commandReceiptSchema,
@@ -6963,6 +7091,7 @@ const operations_activityOutput = z.array(z.strictObject({
6963
7091
  entityId: z.union([z.null(), z.string()]),
6964
7092
  entityName: z.union([z.null(), z.string()]),
6965
7093
  id: z.string(),
7094
+ summary: z.string(),
6966
7095
  teamId: z.string(),
6967
7096
  }));
6968
7097
  const operations_statusInput = z.strictObject({});
@@ -7116,6 +7245,7 @@ const reports_overviewOutput = z.strictObject({
7116
7245
  schedule: z.union([
7117
7246
  z.strictObject({
7118
7247
  anchor: z.string(),
7248
+ days: z.array(z.number()).optional().optional(),
7119
7249
  frequency: z.union([
7120
7250
  z.literal('days'),
7121
7251
  z.literal('hours'),
@@ -7449,15 +7579,25 @@ const teams_setupOutput = z.strictObject({
7449
7579
  progress: z.strictObject({ ready: z.number(), total: z.number() }),
7450
7580
  slack: z.strictObject({
7451
7581
  available: z.boolean(),
7452
- connected: z.boolean(),
7582
+ live: z.boolean(),
7453
7583
  missingScopes: z.array(z.string()),
7454
7584
  ready: z.boolean(),
7455
- status: z.union([
7585
+ reason: z.union([
7456
7586
  z.literal('connected'),
7457
- z.literal('incomplete'),
7458
- z.literal('local_fixture'),
7459
- z.literal('permissions_required'),
7587
+ z.literal('grid_pending'),
7588
+ z.literal('missing_permissions'),
7589
+ z.literal('not_installed'),
7590
+ z.literal('paused'),
7460
7591
  z.literal('revoked'),
7592
+ z.literal('sample_data'),
7593
+ z.literal('unavailable'),
7594
+ z.literal('uninstalled'),
7595
+ z.literal('workspace_changed'),
7596
+ ]),
7597
+ state: z.union([
7598
+ z.literal('connected'),
7599
+ z.literal('needs_reconnect'),
7600
+ z.literal('not_connected'),
7461
7601
  ]),
7462
7602
  }),
7463
7603
  steps: z.array(z.strictObject({
@@ -7491,6 +7631,30 @@ const teams_connectionPermissionsOutput = z.strictObject({
7491
7631
  })),
7492
7632
  signature: z.union([z.null(), z.string()]),
7493
7633
  });
7634
+ const teams_slackConnectionInput = z.strictObject({});
7635
+ const teams_slackConnectionOutput = z.strictObject({
7636
+ available: z.boolean(),
7637
+ live: z.boolean(),
7638
+ missingScopes: z.array(z.string()),
7639
+ ready: z.boolean(),
7640
+ reason: z.union([
7641
+ z.literal('connected'),
7642
+ z.literal('grid_pending'),
7643
+ z.literal('missing_permissions'),
7644
+ z.literal('not_installed'),
7645
+ z.literal('paused'),
7646
+ z.literal('revoked'),
7647
+ z.literal('sample_data'),
7648
+ z.literal('unavailable'),
7649
+ z.literal('uninstalled'),
7650
+ z.literal('workspace_changed'),
7651
+ ]),
7652
+ state: z.union([
7653
+ z.literal('connected'),
7654
+ z.literal('needs_reconnect'),
7655
+ z.literal('not_connected'),
7656
+ ]),
7657
+ });
7494
7658
  const teams_initializeInput = z
7495
7659
  .strictObject({})
7496
7660
  .extend({ requestKey: z.string().min(1).max(128) });
@@ -7735,6 +7899,7 @@ const onboarding_saveProgramOutput = z.object({
7735
7899
  schedule: z.union([
7736
7900
  z.strictObject({
7737
7901
  anchor: z.string(),
7902
+ days: z.array(z.number()).optional().optional(),
7738
7903
  frequency: z.union([
7739
7904
  z.literal('days'),
7740
7905
  z.literal('hours'),
@@ -8087,6 +8252,87 @@ const onboarding_mineOutput = z.union([
8087
8252
  personId: z.string(),
8088
8253
  }),
8089
8254
  ]);
8255
+ const onboarding_journeyInput = z.strictObject({});
8256
+ const onboarding_journeyOutput = z.union([
8257
+ z.null(),
8258
+ z.strictObject({
8259
+ buddy: z.union([
8260
+ z.null(),
8261
+ z.strictObject({
8262
+ email: z.union([z.null(), z.string()]),
8263
+ id: z.string(),
8264
+ name: z.string(),
8265
+ photoUrl: z.union([z.null(), z.string()]),
8266
+ slackUserId: z.union([z.null(), z.string()]),
8267
+ title: z.union([z.null(), z.string()]),
8268
+ userId: z.union([z.null(), z.string()]),
8269
+ }),
8270
+ ]),
8271
+ checkpoints: z.array(z.strictObject({
8272
+ checkpoint: z.union([
8273
+ z.literal('day_30'),
8274
+ z.literal('day_365'),
8275
+ z.literal('day_60'),
8276
+ z.literal('day_90'),
8277
+ ]),
8278
+ closesAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8279
+ date: z.string(),
8280
+ day: z.number(),
8281
+ label: z.string(),
8282
+ state: z.union([
8283
+ z.literal('answered'),
8284
+ z.literal('closed'),
8285
+ z.literal('due'),
8286
+ z.literal('open'),
8287
+ z.literal('skipped'),
8288
+ z.literal('upcoming'),
8289
+ ]),
8290
+ title: z.string(),
8291
+ })),
8292
+ day: z.union([z.null(), z.number()]),
8293
+ enrolled: z.boolean(),
8294
+ manager: z.union([
8295
+ z.null(),
8296
+ z.strictObject({
8297
+ email: z.union([z.null(), z.string()]),
8298
+ id: z.string(),
8299
+ name: z.string(),
8300
+ photoUrl: z.union([z.null(), z.string()]),
8301
+ slackUserId: z.union([z.null(), z.string()]),
8302
+ title: z.union([z.null(), z.string()]),
8303
+ userId: z.union([z.null(), z.string()]),
8304
+ }),
8305
+ ]),
8306
+ managerCheckIns: z.union([
8307
+ z.null(),
8308
+ z.strictObject({
8309
+ cadence: z.union([z.literal('biweekly'), z.literal('weekly')]),
8310
+ week: z.union([z.null(), z.number()]),
8311
+ weeks: z.number(),
8312
+ }),
8313
+ ]),
8314
+ programName: z.union([z.null(), z.string()]),
8315
+ startDate: z.union([z.null(), z.string()]),
8316
+ steps: z.array(z.strictObject({
8317
+ answer: z.union([
8318
+ z.null(),
8319
+ z.literal('all_good'),
8320
+ z.literal('need_help'),
8321
+ ]),
8322
+ date: z.string(),
8323
+ day: z.number(),
8324
+ kind: z.union([z.literal('check_in'), z.literal('introduction')]),
8325
+ state: z.union([
8326
+ z.literal('done'),
8327
+ z.literal('planned'),
8328
+ z.literal('stopped'),
8329
+ ]),
8330
+ status: z.string(),
8331
+ stepId: z.string(),
8332
+ })),
8333
+ today: z.string(),
8334
+ }),
8335
+ ]);
8090
8336
  const onboarding_firstDaysCheckInsInput = z.strictObject({});
8091
8337
  const onboarding_firstDaysCheckInsOutput = z.array(z.strictObject({
8092
8338
  checkpoint: z.union([
@@ -8334,7 +8580,6 @@ const celebrations_saveInput = z
8334
8580
  enabled: z.boolean(),
8335
8581
  eventType: z.union([z.literal('anniversary'), z.literal('birthday')]),
8336
8582
  expectedRevision: z.number(),
8337
- previewFingerprint: z.union([z.null(), z.string()]).optional().optional(),
8338
8583
  sendHour: z.number(),
8339
8584
  sendMinute: z.number(),
8340
8585
  template: z.string(),
@@ -8368,7 +8613,6 @@ const celebrations_previewInput = z.strictObject({
8368
8613
  template: z.string(),
8369
8614
  });
8370
8615
  const celebrations_previewOutput = z.strictObject({
8371
- fingerprint: z.string(),
8372
8616
  messages: z.array(z.union([
8373
8617
  z.strictObject({
8374
8618
  audience: z.literal('person'),
@@ -8554,6 +8798,54 @@ const celebrations_deliveriesOutput = z.strictObject({
8554
8798
  years: z.union([z.null(), z.number()]),
8555
8799
  })),
8556
8800
  });
8801
+ const celebrations_startDatesInput = z.strictObject({});
8802
+ const celebrations_startDatesOutput = z.strictObject({
8803
+ anniversariesOn: z.boolean(),
8804
+ anniversaryDate: z.union([
8805
+ z.literal('latest_hire'),
8806
+ z.literal('original_hire'),
8807
+ ]),
8808
+ findings: z.array(z.strictObject({
8809
+ count: z.number(),
8810
+ date: z.union([z.null(), z.string()]),
8811
+ kind: z.union([
8812
+ z.literal('future'),
8813
+ z.literal('long_ago'),
8814
+ z.literal('shared'),
8815
+ ]),
8816
+ people: z.array(z.strictObject({
8817
+ id: z.string(),
8818
+ name: z.string(),
8819
+ startDate: z.string(),
8820
+ })),
8821
+ })),
8822
+ firstHires: z.number(),
8823
+ lastCheckedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8824
+ nextCheckAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8825
+ revision: z.number(),
8826
+ });
8827
+ const celebrations_saveAnniversaryDateInput = z
8828
+ .strictObject({
8829
+ anniversaryDate: z.union([
8830
+ z.literal('latest_hire'),
8831
+ z.literal('original_hire'),
8832
+ ]),
8833
+ expectedRevision: z.number(),
8834
+ })
8835
+ .extend({
8836
+ confirm: z.literal('celebrations.saveAnniversaryDate'),
8837
+ requestKey: z.string().min(1).max(128),
8838
+ });
8839
+ const celebrations_saveAnniversaryDateOutput = z.object({
8840
+ receipt: commandReceiptSchema,
8841
+ result: z
8842
+ .strictObject({
8843
+ changed: z.boolean(),
8844
+ revision: z.number(),
8845
+ scheduled: z.number(),
8846
+ })
8847
+ .nullable(),
8848
+ });
8557
8849
  const celebrations_mineInput = z.strictObject({});
8558
8850
  const celebrations_mineOutput = z.array(z.strictObject({
8559
8851
  eventType: z.union([z.literal('anniversary'), z.literal('birthday')]),
@@ -8673,6 +8965,7 @@ const celebrations_preferencesOutput = z.strictObject({
8673
8965
  enabled: z.boolean(),
8674
8966
  }),
8675
8967
  }),
8968
+ startDate: z.union([z.null(), z.string()]),
8676
8969
  updatedAt: z.union([z.null(), z.iso.datetime({ offset: true })]),
8677
8970
  });
8678
8971
  const celebrations_savePreferencesInput = z
@@ -8818,7 +9111,9 @@ const notifications_preferencesOutput = z.strictObject({
8818
9111
  kinds: z.array(z.union([
8819
9112
  z.literal('billing_limit'),
8820
9113
  z.literal('celebration'),
9114
+ z.literal('check_in'),
8821
9115
  z.literal('connections_intro'),
9116
+ z.literal('getting_started'),
8822
9117
  z.literal('hr_digest'),
8823
9118
  z.literal('hr_reply'),
8824
9119
  z.literal('hr_request'),
@@ -8842,7 +9137,9 @@ const notifications_preferencesOutput = z.strictObject({
8842
9137
  kind: z.union([
8843
9138
  z.literal('billing_limit'),
8844
9139
  z.literal('celebration'),
9140
+ z.literal('check_in'),
8845
9141
  z.literal('connections_intro'),
9142
+ z.literal('getting_started'),
8846
9143
  z.literal('hr_digest'),
8847
9144
  z.literal('hr_reply'),
8848
9145
  z.literal('hr_request'),
@@ -8870,7 +9167,9 @@ const notifications_saveInput = z
8870
9167
  kind: z.union([
8871
9168
  z.literal('billing_limit'),
8872
9169
  z.literal('celebration'),
9170
+ z.literal('check_in'),
8873
9171
  z.literal('connections_intro'),
9172
+ z.literal('getting_started'),
8874
9173
  z.literal('hr_digest'),
8875
9174
  z.literal('hr_reply'),
8876
9175
  z.literal('hr_request'),
@@ -8897,7 +9196,9 @@ const notifications_saveOutput = z.object({
8897
9196
  kinds: z.array(z.union([
8898
9197
  z.literal('billing_limit'),
8899
9198
  z.literal('celebration'),
9199
+ z.literal('check_in'),
8900
9200
  z.literal('connections_intro'),
9201
+ z.literal('getting_started'),
8901
9202
  z.literal('hr_digest'),
8902
9203
  z.literal('hr_reply'),
8903
9204
  z.literal('hr_request'),
@@ -8925,7 +9226,9 @@ const notifications_saveOutput = z.object({
8925
9226
  kind: z.union([
8926
9227
  z.literal('billing_limit'),
8927
9228
  z.literal('celebration'),
9229
+ z.literal('check_in'),
8928
9230
  z.literal('connections_intro'),
9231
+ z.literal('getting_started'),
8929
9232
  z.literal('hr_digest'),
8930
9233
  z.literal('hr_reply'),
8931
9234
  z.literal('hr_request'),
@@ -9081,6 +9384,14 @@ const digest_previewOutput = z.strictObject({
9081
9384
  ]),
9082
9385
  link: z.strictObject({ label: z.string(), path: z.string() }),
9083
9386
  note: z.string().optional().optional(),
9387
+ ratio: z
9388
+ .strictObject({
9389
+ label: z.string(),
9390
+ part: z.number(),
9391
+ whole: z.number(),
9392
+ })
9393
+ .optional()
9394
+ .optional(),
9084
9395
  stats: z.array(z.strictObject({ label: z.string(), value: z.string() })),
9085
9396
  title: z.string(),
9086
9397
  })),
@@ -9115,6 +9426,7 @@ const digest_previewOutput = z.strictObject({
9115
9426
  path: z.string(),
9116
9427
  }),
9117
9428
  ]),
9429
+ trend: z.array(z.number()).optional().optional(),
9118
9430
  });
9119
9431
  const digest_nudgesInput = z.strictObject({});
9120
9432
  const digest_nudgesOutput = z.array(z.union([
@@ -10288,8 +10600,23 @@ const pulse_programOutput = z.strictObject({
10288
10600
  openHours: z.number(),
10289
10601
  reportingFloor: z.number(),
10290
10602
  sendDays: z.array(z.number()),
10603
+ sendEvery: z.number(),
10291
10604
  sendHour: z.number(),
10292
10605
  sendMinute: z.number(),
10606
+ sendMonthWeek: z.union([
10607
+ z.null(),
10608
+ z.literal(1),
10609
+ z.literal(2),
10610
+ z.literal(3),
10611
+ z.literal(4),
10612
+ z.literal(5),
10613
+ ]),
10614
+ sendStart: z.union([z.null(), z.string()]),
10615
+ sendUnit: z.union([
10616
+ z.literal('day'),
10617
+ z.literal('month'),
10618
+ z.literal('week'),
10619
+ ]),
10293
10620
  timezone: z.string(),
10294
10621
  }),
10295
10622
  slackReachable: z.number(),
@@ -10314,8 +10641,25 @@ const pulse_saveProgramInput = z
10314
10641
  openHours: z.number(),
10315
10642
  reportingFloor: z.number(),
10316
10643
  sendDays: z.array(z.number()),
10644
+ sendEvery: z.number().optional().optional(),
10317
10645
  sendHour: z.number(),
10318
10646
  sendMinute: z.number(),
10647
+ sendMonthWeek: z
10648
+ .union([
10649
+ z.null(),
10650
+ z.literal(1),
10651
+ z.literal(2),
10652
+ z.literal(3),
10653
+ z.literal(4),
10654
+ z.literal(5),
10655
+ ])
10656
+ .optional()
10657
+ .optional(),
10658
+ sendStart: z.union([z.null(), z.string()]).optional().optional(),
10659
+ sendUnit: z
10660
+ .union([z.literal('day'), z.literal('month'), z.literal('week')])
10661
+ .optional()
10662
+ .optional(),
10319
10663
  status: z.union([
10320
10664
  z.literal('active'),
10321
10665
  z.literal('draft'),
@@ -11512,6 +11856,7 @@ const pulse_latestReadOutput = z.union([
11512
11856
  ]),
11513
11857
  })),
11514
11858
  floorMet: z.boolean(),
11859
+ groups: z.array(z.strictObject({ label: z.string(), value: z.number() })),
11515
11860
  invited: z.number(),
11516
11861
  participationPct: z.union([z.null(), z.number()]),
11517
11862
  questionText: z.string(),
@@ -12079,6 +12424,25 @@ const praise_settingsOutput = z.strictObject({
12079
12424
  reactionReadScope: z.boolean(),
12080
12425
  reactionScope: z.boolean(),
12081
12426
  revision: z.number(),
12427
+ slack: z.strictObject({
12428
+ reason: z.union([
12429
+ z.literal('connected'),
12430
+ z.literal('grid_pending'),
12431
+ z.literal('missing_permissions'),
12432
+ z.literal('not_installed'),
12433
+ z.literal('paused'),
12434
+ z.literal('revoked'),
12435
+ z.literal('sample_data'),
12436
+ z.literal('unavailable'),
12437
+ z.literal('uninstalled'),
12438
+ z.literal('workspace_changed'),
12439
+ ]),
12440
+ state: z.union([
12441
+ z.literal('connected'),
12442
+ z.literal('needs_reconnect'),
12443
+ z.literal('not_connected'),
12444
+ ]),
12445
+ }),
12082
12446
  status: z.union([z.literal('off'), z.literal('on')]),
12083
12447
  valuesPages: z.array(z.strictObject({
12084
12448
  id: z.string(),
@@ -12283,6 +12647,7 @@ const reminders_settingsOutput = z.strictObject({
12283
12647
  z.literal('quarterly'),
12284
12648
  z.literal('weekly'),
12285
12649
  ]),
12650
+ days: z.array(z.number()),
12286
12651
  optedOut: z.number(),
12287
12652
  options: z.array(z.string()),
12288
12653
  }),
@@ -12300,6 +12665,7 @@ const reminders_settingsOutput = z.strictObject({
12300
12665
  z.literal('quarterly'),
12301
12666
  z.literal('weekly'),
12302
12667
  ]),
12668
+ days: z.array(z.number()),
12303
12669
  optedOut: z.number(),
12304
12670
  options: z.array(z.string()),
12305
12671
  }),
@@ -12317,6 +12683,7 @@ const reminders_settingsOutput = z.strictObject({
12317
12683
  z.literal('quarterly'),
12318
12684
  z.literal('weekly'),
12319
12685
  ]),
12686
+ days: z.array(z.number()),
12320
12687
  optedOut: z.number(),
12321
12688
  options: z.array(z.string()),
12322
12689
  }),
@@ -12334,6 +12701,7 @@ const reminders_settingsOutput = z.strictObject({
12334
12701
  z.literal('quarterly'),
12335
12702
  z.literal('weekly'),
12336
12703
  ]),
12704
+ days: z.array(z.number()),
12337
12705
  optedOut: z.number(),
12338
12706
  options: z.array(z.string()),
12339
12707
  }),
@@ -12341,6 +12709,7 @@ const reminders_settingsOutput = z.strictObject({
12341
12709
  const reminders_saveSettingInput = z
12342
12710
  .strictObject({
12343
12711
  choice: z.string(),
12712
+ days: z.array(z.number()).optional().optional(),
12344
12713
  kind: z.union([
12345
12714
  z.literal('manager_check_in'),
12346
12715
  z.literal('new_hire_check_in'),
@@ -12369,6 +12738,7 @@ const reminders_saveSettingOutput = z.object({
12369
12738
  z.literal('quarterly'),
12370
12739
  z.literal('weekly'),
12371
12740
  ]),
12741
+ days: z.array(z.number()),
12372
12742
  kind: z.union([
12373
12743
  z.literal('manager_check_in'),
12374
12744
  z.literal('new_hire_check_in'),
@@ -12565,6 +12935,8 @@ const praise_sendInput = z
12565
12935
  z.literal('feed'),
12566
12936
  z.literal('nudge'),
12567
12937
  z.literal('profile'),
12938
+ z.literal('slack_reminder'),
12939
+ z.literal('slack_thank_back'),
12568
12940
  z.literal('suggestion'),
12569
12941
  z.literal('yours'),
12570
12942
  ])
@@ -12921,6 +13293,15 @@ export const managementContract = {
12921
13293
  })
12922
13294
  .input(celebrations_saveInput)
12923
13295
  .output(celebrations_saveOutput),
13296
+ saveAnniversaryDate: base
13297
+ .meta({ scope: 'celebrations:write' })
13298
+ .route({
13299
+ method: 'POST',
13300
+ path: '/manage/celebrations/saveAnniversaryDate',
13301
+ summary: 'Choose which start date work anniversaries count from; reschedules them',
13302
+ })
13303
+ .input(celebrations_saveAnniversaryDateInput)
13304
+ .output(celebrations_saveAnniversaryDateOutput),
12924
13305
  savePreferences: base
12925
13306
  .meta({ scope: 'self:write' })
12926
13307
  .route({
@@ -12939,6 +13320,15 @@ export const managementContract = {
12939
13320
  })
12940
13321
  .input(celebrations_signCardInput)
12941
13322
  .output(celebrations_signCardOutput),
13323
+ startDates: base
13324
+ .meta({ scope: 'celebrations:read' })
13325
+ .route({
13326
+ method: 'POST',
13327
+ path: '/manage/celebrations/startDates',
13328
+ summary: 'celebrations.startDates',
13329
+ })
13330
+ .input(celebrations_startDatesInput)
13331
+ .output(celebrations_startDatesOutput),
12942
13332
  },
12943
13333
  communities: {
12944
13334
  archive: base
@@ -13286,6 +13676,15 @@ export const managementContract = {
13286
13676
  })
13287
13677
  .input(home_feedInput)
13288
13678
  .output(home_feedOutput),
13679
+ places: base
13680
+ .meta({ scope: 'self:read' })
13681
+ .route({
13682
+ method: 'POST',
13683
+ path: '/manage/home/places',
13684
+ summary: 'The areas turned on for you, what is waiting for you, and your onboarding progress',
13685
+ })
13686
+ .input(home_placesInput)
13687
+ .output(home_placesOutput),
13289
13688
  preferences: base
13290
13689
  .meta({ scope: 'profile:write' })
13291
13690
  .route({
@@ -13361,6 +13760,11 @@ export const managementContract = {
13361
13760
  .route({ method: 'POST', path: '/manage/hr/list', summary: 'hr.list' })
13362
13761
  .input(hr_listInput)
13363
13762
  .output(hr_listOutput),
13763
+ mine: base
13764
+ .meta({ scope: 'hr:read' })
13765
+ .route({ method: 'POST', path: '/manage/hr/mine', summary: 'hr.mine' })
13766
+ .input(hr_mineInput)
13767
+ .output(hr_mineOutput),
13364
13768
  readiness: base
13365
13769
  .meta({ scope: 'hr:read' })
13366
13770
  .route({
@@ -13968,6 +14372,15 @@ export const managementContract = {
13968
14372
  })
13969
14373
  .input(onboarding_firstDaysResultsInput)
13970
14374
  .output(onboarding_firstDaysResultsOutput),
14375
+ journey: base
14376
+ .meta({ scope: 'self:read' })
14377
+ .route({
14378
+ method: 'POST',
14379
+ path: '/manage/onboarding/journey',
14380
+ summary: 'Your onboarding timeline: start date, buddy, manager and upcoming check-ins',
14381
+ })
14382
+ .input(onboarding_journeyInput)
14383
+ .output(onboarding_journeyOutput),
13971
14384
  mine: base
13972
14385
  .meta({ scope: 'self:read' })
13973
14386
  .route({
@@ -14968,6 +15381,15 @@ export const managementContract = {
14968
15381
  })
14969
15382
  .input(teams_slackChannelsInput)
14970
15383
  .output(teams_slackChannelsOutput),
15384
+ slackConnection: base
15385
+ .meta({ scope: 'integrations:read' })
15386
+ .route({
15387
+ method: 'POST',
15388
+ path: '/manage/teams/slackConnection',
15389
+ summary: 'teams.slackConnection',
15390
+ })
15391
+ .input(teams_slackConnectionInput)
15392
+ .output(teams_slackConnectionOutput),
14971
15393
  slackJoinAccess: base
14972
15394
  .meta({ scope: 'team:read' })
14973
15395
  .route({
@@ -15109,6 +15531,15 @@ export const managementContract = {
15109
15531
  })
15110
15532
  .input(users_filterOptionsInput)
15111
15533
  .output(users_filterOptionsOutput),
15534
+ glance: base
15535
+ .meta({ scope: 'users:read' })
15536
+ .route({
15537
+ method: 'POST',
15538
+ path: '/manage/users/glance',
15539
+ summary: 'Headcount, growth, departments, tenure and time zones, and where you fit',
15540
+ })
15541
+ .input(users_glanceInput)
15542
+ .output(users_glanceOutput),
15112
15543
  managerHistory: base
15113
15544
  .meta({ scope: 'users:read' })
15114
15545
  .route({