kaafil-js 0.1.0-beta.3 → 0.1.0-beta.5

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.
@@ -111,7 +111,9 @@ var OPERATION_SECURITY = {
111
111
  acceptPlatformAdminInvite: [],
112
112
  addChecklistItem: ["managerAuth"],
113
113
  addItineraryItem: ["managerAuth"],
114
+ addPlatformIncidentUpdate: ["platformAdminAuth"],
114
115
  adjustFloat: ["managerAuth", "apiKeyAuth", "agencyAdminAuth"],
116
+ advanceTestTime: ["apiKeyAuth"],
115
117
  archiveForm: ["apiKeyAuth", "agencyAdminAuth"],
116
118
  assignManager: ["apiKeyAuth"],
117
119
  assignPickupTraveller: ["managerAuth"],
@@ -120,8 +122,10 @@ var OPERATION_SECURITY = {
120
122
  autoAssignRooming: ["managerAuth"],
121
123
  autoAssignSeating: ["managerAuth"],
122
124
  boardPickupTraveller: ["managerAuth"],
125
+ buildTestFixtures: ["apiKeyAuth"],
123
126
  bulkUpsertBookings: ["apiKeyAuth"],
124
127
  cancelTrip: ["apiKeyAuth"],
128
+ changeMyConsolePassword: ["consoleAuth"],
125
129
  changeOwnPlatformPassword: ["platformAdminAuth"],
126
130
  claimStatusIngest: ["apiKeyAuth"],
127
131
  cloneForm: ["apiKeyAuth", "agencyAdminAuth"],
@@ -131,7 +135,9 @@ var OPERATION_SECURITY = {
131
135
  consoleLogin: [],
132
136
  consoleLogout: ["consoleAuth"],
133
137
  consoleSwitchPlane: ["consoleAuth"],
138
+ copyAgencyEntitlement: ["consoleAuth"],
134
139
  createApiKey: ["consoleAuth"],
140
+ createCommsProviderCredential: ["apiKeyAuth"],
135
141
  createConsoleUser: ["consoleAuth"],
136
142
  createForm: ["apiKeyAuth", "agencyAdminAuth"],
137
143
  createFormField: ["apiKeyAuth", "agencyAdminAuth"],
@@ -139,11 +145,13 @@ var OPERATION_SECURITY = {
139
145
  createMessageTemplate: ["apiKeyAuth"],
140
146
  createPickupStop: ["managerAuth"],
141
147
  createPlatformAdmin: ["platformAdminAuth"],
148
+ createPlatformIncident: ["platformAdminAuth"],
142
149
  createPlatformPartner: ["platformAdminAuth"],
143
150
  createPlatformPartnerConsoleUser: ["platformAdminAuth"],
144
151
  createRoomingRoom: ["managerAuth"],
145
152
  createRoomingStayWindow: ["managerAuth"],
146
153
  createSeatingVehicle: ["managerAuth"],
154
+ createSupportGrant: ["platformAdminAuth"],
147
155
  createTrekWalkIn: ["managerAuth"],
148
156
  deleteBooking: ["apiKeyAuth"],
149
157
  deleteChecklistItem: ["managerAuth"],
@@ -158,8 +166,10 @@ var OPERATION_SECURITY = {
158
166
  deleteSeatingVehicle: ["managerAuth"],
159
167
  dispatchForm: ["managerAuth", "apiKeyAuth"],
160
168
  editWebhookEndpoint: ["consoleAuth"],
169
+ eraseTraveller: ["apiKeyAuth"],
161
170
  exportCloseoutPack: ["managerAuth", "apiKeyAuth"],
162
171
  exportFormResponses: ["apiKeyAuth", "managerAuth"],
172
+ exportTraveller: ["apiKeyAuth"],
163
173
  getForm: ["apiKeyAuth", "agencyAdminAuth", "managerAuth"],
164
174
  getFormAggregate: ["apiKeyAuth"],
165
175
  getFormConsentReceipt: ["apiKeyAuth", "managerAuth"],
@@ -181,7 +191,6 @@ var OPERATION_SECURITY = {
181
191
  listBookings: ["apiKeyAuth", "managerAuth"],
182
192
  listChecklistTemplates: ["managerAuth", "apiKeyAuth"],
183
193
  listCollections: ["managerAuth", "apiKeyAuth"],
184
- listConsoleTrips: ["consoleAuth"],
185
194
  listConsoleUsers: ["consoleAuth"],
186
195
  listEligibleCollections: ["managerAuth", "apiKeyAuth"],
187
196
  listEvents: ["apiKeyAuth"],
@@ -189,19 +198,28 @@ var OPERATION_SECURITY = {
189
198
  listFormBindings: ["apiKeyAuth", "agencyAdminAuth", "managerAuth"],
190
199
  listForms: ["apiKeyAuth", "agencyAdminAuth"],
191
200
  listJourneyTriggers: ["apiKeyAuth", "agencyAdminAuth"],
201
+ listJourneyTriggersConsole: ["consoleAuth"],
192
202
  listManagerNotifications: ["managerAuth"],
193
203
  listMessages: ["apiKeyAuth"],
204
+ listMessagesConsole: ["consoleAuth"],
194
205
  listMessageTemplates: ["apiKeyAuth"],
206
+ listMyConsoleSessions: ["consoleAuth"],
195
207
  listPickupStops: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
196
208
  listPlatformAdmins: ["platformAdminAuth"],
209
+ listPlatformAudit: ["platformAdminAuth"],
210
+ listPlatformIncidents: ["platformAdminAuth"],
197
211
  listPlatformPartnerApiKeys: ["platformAdminAuth"],
198
212
  listPlatformPartnerConsoleUsers: ["platformAdminAuth"],
199
213
  listPlatformPartners: ["platformAdminAuth"],
214
+ listPlatformPlanTiers: ["platformAdminAuth"],
200
215
  listRoomingStayWindows: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
216
+ listSupportIngestLog: ["platformAdminAuth"],
217
+ listSupportWebhookDeliveries: ["platformAdminAuth"],
201
218
  listTripFormResponses: ["managerAuth", "apiKeyAuth"],
202
219
  listTripForms: ["managerAuth", "apiKeyAuth"],
203
220
  listTripVendors: ["apiKeyAuth", "managerAuth", "agencyAdminAuth"],
204
221
  listWebhookDeliveries: ["apiKeyAuth"],
222
+ listWebhookDeliveriesConsole: ["consoleAuth"],
205
223
  listWebhookEndpoints: ["consoleAuth"],
206
224
  lockCloseout: ["managerAuth"],
207
225
  logExpense: ["managerAuth"],
@@ -210,6 +228,7 @@ var OPERATION_SECURITY = {
210
228
  mintAgencyAdminTokens: ["apiKeyAuth"],
211
229
  mintManagerTokens: ["apiKeyAuth"],
212
230
  mintShareToken: ["apiKeyAuth"],
231
+ nudgeConsoleInvite: [],
213
232
  patchAgencyEntitlement: ["consoleAuth"],
214
233
  patchChecklistItem: ["managerAuth"],
215
234
  patchConsoleUser: ["consoleAuth"],
@@ -219,6 +238,7 @@ var OPERATION_SECURITY = {
219
238
  patchItineraryDay: ["managerAuth"],
220
239
  patchItineraryItem: ["managerAuth"],
221
240
  patchJourneyTrigger: ["apiKeyAuth", "agencyAdminAuth"],
241
+ patchJourneyTriggerConsole: ["consoleAuth"],
222
242
  patchMessageTemplate: ["apiKeyAuth"],
223
243
  patchPickupStop: ["managerAuth"],
224
244
  patchPlatformAdmin: ["platformAdminAuth"],
@@ -227,10 +247,12 @@ var OPERATION_SECURITY = {
227
247
  patchRoomingStayWindow: ["managerAuth"],
228
248
  patchSeatingVehicle: ["managerAuth"],
229
249
  patchShareToken: ["apiKeyAuth"],
250
+ platformHealth: ["platformAdminAuth"],
230
251
  platformLogin: [],
231
252
  platformLogout: ["platformAdminAuth"],
232
253
  platformMe: ["platformAdminAuth"],
233
254
  platformRefreshTokens: ["platformAdminAuth"],
255
+ platformWebhookHealth: ["platformAdminAuth"],
234
256
  postponeTrek: ["managerAuth"],
235
257
  publishForm: ["apiKeyAuth", "agencyAdminAuth"],
236
258
  pullChecklistTemplate: ["managerAuth"],
@@ -238,6 +260,7 @@ var OPERATION_SECURITY = {
238
260
  pushManifest: ["apiKeyAuth"],
239
261
  pushTripBalances: ["apiKeyAuth"],
240
262
  putCommsConfig: ["apiKeyAuth"],
263
+ putCommsConfigConsole: ["consoleAuth"],
241
264
  putPlatformPartnerPlan: ["platformAdminAuth"],
242
265
  readAgencyEntitlement: ["consoleAuth"],
243
266
  readAgencyFeedbackSummary: ["agencyAdminAuth", "apiKeyAuth"],
@@ -245,12 +268,10 @@ var OPERATION_SECURITY = {
245
268
  readChecklistAggregate: ["managerAuth", "apiKeyAuth"],
246
269
  readCloseout: ["managerAuth", "apiKeyAuth"],
247
270
  readCommsConfig: ["apiKeyAuth"],
271
+ readCommsConfigConsole: ["consoleAuth"],
248
272
  readConsoleAudit: ["consoleAuth"],
249
- readConsoleChecklist: ["consoleAuth"],
250
- readConsoleItinerary: ["consoleAuth"],
251
- readConsolePickups: ["consoleAuth"],
252
- readConsoleRooming: ["consoleAuth"],
253
- readConsoleSeating: ["consoleAuth"],
273
+ readConsoleCertification: ["consoleAuth"],
274
+ readConsoleMe: ["consoleAuth"],
254
275
  readConsoleUserInvite: ["consoleAuth"],
255
276
  readEndpointDeliveries: ["consoleAuth"],
256
277
  readEndpointDelivery: ["consoleAuth"],
@@ -261,6 +282,7 @@ var OPERATION_SECURITY = {
261
282
  readFloatLedger: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
262
283
  readFloatSummary: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
263
284
  readIngestLog: ["consoleAuth"],
285
+ readIngestLogSummary: ["consoleAuth"],
264
286
  readItinerary: ["apiKeyAuth", "managerAuth", "agencyAdminAuth"],
265
287
  readItineraryChangeLog: ["apiKeyAuth", "managerAuth", "agencyAdminAuth"],
266
288
  readJourney: ["apiKeyAuth", "managerAuth", "agencyAdminAuth"],
@@ -271,16 +293,25 @@ var OPERATION_SECURITY = {
271
293
  readRoomingBoard: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
272
294
  readSeatingBoard: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
273
295
  readShareToken: ["apiKeyAuth"],
296
+ readSupportJourneyState: ["platformAdminAuth"],
297
+ readSupportWebhookDeliveryDetail: ["platformAdminAuth"],
298
+ readTenantDefaultCommsConfig: ["apiKeyAuth"],
299
+ readTestClock: ["apiKeyAuth"],
300
+ readTestQuota: ["apiKeyAuth"],
274
301
  readTrekBoard: ["managerAuth", "apiKeyAuth"],
275
302
  readTrekWalkInMeta: ["managerAuth", "apiKeyAuth"],
276
303
  readTripFeedbackSummary: ["managerAuth", "agencyAdminAuth", "apiKeyAuth"],
277
304
  readUsage: ["consoleAuth"],
278
305
  readWebhookDelivery: ["apiKeyAuth"],
306
+ readWebhookDeliveryConsole: ["consoleAuth"],
279
307
  readWebhookEndpoint: ["consoleAuth"],
308
+ readWebhookEventCatalog: ["consoleAuth"],
280
309
  rebuildJourney: ["apiKeyAuth"],
281
310
  recordCollection: ["managerAuth"],
282
311
  redeliverEndpointDelivery: ["consoleAuth"],
283
312
  redeliverWebhookDelivery: ["apiKeyAuth"],
313
+ redeliverWebhookDeliveryConsole: ["consoleAuth"],
314
+ redriveSupportWebhookDelivery: ["platformAdminAuth"],
284
315
  refreshAgencyAdminTokens: ["agencyAdminAuth"],
285
316
  refreshManagerTokens: ["managerAuth"],
286
317
  regenerateShareToken: ["apiKeyAuth"],
@@ -296,17 +327,23 @@ var OPERATION_SECURITY = {
296
327
  reorderItineraryItem: ["managerAuth"],
297
328
  reorderPickupStops: ["managerAuth"],
298
329
  replaceBookingVouchers: ["apiKeyAuth"],
330
+ replaySupportWebhookRange: ["platformAdminAuth"],
299
331
  replayWebhookEndpoint: ["apiKeyAuth"],
332
+ replayWebhookEndpointConsole: ["consoleAuth"],
300
333
  requestFileUpload: ["managerAuth", "apiKeyAuth"],
301
334
  resetPlatformPartnerConsoleUser: ["platformAdminAuth"],
335
+ resetTestClock: ["apiKeyAuth"],
336
+ resolvePlatformCredential: ["platformAdminAuth"],
302
337
  returnFloat: ["managerAuth"],
303
338
  revokeApiKey: ["consoleAuth"],
339
+ revokeMyConsoleSession: ["consoleAuth"],
304
340
  revokePlatformPartnerApiKey: ["platformAdminAuth"],
305
341
  revokeShareToken: ["apiKeyAuth"],
306
342
  rotateApiKey: ["consoleAuth"],
307
343
  rotateWebhookEndpointSecret: ["consoleAuth"],
308
344
  runJourneyStep: ["apiKeyAuth"],
309
345
  saveCloseoutHandover: ["managerAuth"],
346
+ sendCommsTestMessage: ["apiKeyAuth"],
310
347
  sendMessage: ["apiKeyAuth"],
311
348
  setPlatformPartnerStatus: ["platformAdminAuth"],
312
349
  shareListForms: ["shareAuth"],
@@ -318,6 +355,8 @@ var OPERATION_SECURITY = {
318
355
  syncPullTrip: ["managerAuth", "apiKeyAuth"],
319
356
  syncPush: ["managerAuth", "apiKeyAuth"],
320
357
  syncPushShare: [],
358
+ testCommsProviderCredential: ["apiKeyAuth"],
359
+ testWebhookEndpoint: ["consoleAuth"],
321
360
  toggleChecklistItem: ["managerAuth"],
322
361
  unarchiveForm: ["apiKeyAuth", "agencyAdminAuth"],
323
362
  unassignManager: ["apiKeyAuth"],
@@ -336,7 +375,9 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
336
375
  acceptPlatformAdminInvite: true,
337
376
  addChecklistItem: true,
338
377
  addItineraryItem: true,
378
+ addPlatformIncidentUpdate: false,
339
379
  adjustFloat: true,
380
+ advanceTestTime: false,
340
381
  archiveForm: false,
341
382
  assignManager: true,
342
383
  assignPickupTraveller: true,
@@ -345,8 +386,10 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
345
386
  autoAssignRooming: true,
346
387
  autoAssignSeating: true,
347
388
  boardPickupTraveller: true,
389
+ buildTestFixtures: false,
348
390
  bulkUpsertBookings: true,
349
391
  cancelTrip: true,
392
+ changeMyConsolePassword: true,
350
393
  changeOwnPlatformPassword: false,
351
394
  claimStatusIngest: true,
352
395
  cloneForm: true,
@@ -356,7 +399,9 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
356
399
  consoleLogin: false,
357
400
  consoleLogout: false,
358
401
  consoleSwitchPlane: false,
402
+ copyAgencyEntitlement: true,
359
403
  createApiKey: true,
404
+ createCommsProviderCredential: true,
360
405
  createConsoleUser: true,
361
406
  createForm: true,
362
407
  createFormField: false,
@@ -364,11 +409,13 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
364
409
  createMessageTemplate: true,
365
410
  createPickupStop: true,
366
411
  createPlatformAdmin: false,
412
+ createPlatformIncident: false,
367
413
  createPlatformPartner: false,
368
414
  createPlatformPartnerConsoleUser: false,
369
415
  createRoomingRoom: true,
370
416
  createRoomingStayWindow: true,
371
417
  createSeatingVehicle: true,
418
+ createSupportGrant: false,
372
419
  createTrekWalkIn: true,
373
420
  deleteBooking: true,
374
421
  deleteChecklistItem: false,
@@ -383,8 +430,10 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
383
430
  deleteSeatingVehicle: false,
384
431
  dispatchForm: true,
385
432
  editWebhookEndpoint: true,
433
+ eraseTraveller: true,
386
434
  exportCloseoutPack: false,
387
435
  exportFormResponses: false,
436
+ exportTraveller: false,
388
437
  getForm: false,
389
438
  getFormAggregate: false,
390
439
  getFormConsentReceipt: false,
@@ -406,7 +455,6 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
406
455
  listBookings: false,
407
456
  listChecklistTemplates: false,
408
457
  listCollections: false,
409
- listConsoleTrips: false,
410
458
  listConsoleUsers: false,
411
459
  listEligibleCollections: false,
412
460
  listEvents: false,
@@ -414,19 +462,28 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
414
462
  listFormBindings: false,
415
463
  listForms: false,
416
464
  listJourneyTriggers: false,
465
+ listJourneyTriggersConsole: false,
417
466
  listManagerNotifications: false,
418
467
  listMessages: false,
468
+ listMessagesConsole: false,
419
469
  listMessageTemplates: false,
470
+ listMyConsoleSessions: false,
420
471
  listPickupStops: false,
421
472
  listPlatformAdmins: false,
473
+ listPlatformAudit: false,
474
+ listPlatformIncidents: false,
422
475
  listPlatformPartnerApiKeys: false,
423
476
  listPlatformPartnerConsoleUsers: false,
424
477
  listPlatformPartners: false,
478
+ listPlatformPlanTiers: false,
425
479
  listRoomingStayWindows: false,
480
+ listSupportIngestLog: false,
481
+ listSupportWebhookDeliveries: false,
426
482
  listTripFormResponses: false,
427
483
  listTripForms: false,
428
484
  listTripVendors: false,
429
485
  listWebhookDeliveries: false,
486
+ listWebhookDeliveriesConsole: false,
430
487
  listWebhookEndpoints: false,
431
488
  lockCloseout: true,
432
489
  logExpense: true,
@@ -435,6 +492,7 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
435
492
  mintAgencyAdminTokens: false,
436
493
  mintManagerTokens: false,
437
494
  mintShareToken: true,
495
+ nudgeConsoleInvite: false,
438
496
  patchAgencyEntitlement: true,
439
497
  patchChecklistItem: false,
440
498
  patchConsoleUser: true,
@@ -444,6 +502,7 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
444
502
  patchItineraryDay: false,
445
503
  patchItineraryItem: false,
446
504
  patchJourneyTrigger: true,
505
+ patchJourneyTriggerConsole: true,
447
506
  patchMessageTemplate: false,
448
507
  patchPickupStop: false,
449
508
  patchPlatformAdmin: false,
@@ -452,10 +511,12 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
452
511
  patchRoomingStayWindow: false,
453
512
  patchSeatingVehicle: false,
454
513
  patchShareToken: false,
514
+ platformHealth: false,
455
515
  platformLogin: true,
456
516
  platformLogout: false,
457
517
  platformMe: false,
458
518
  platformRefreshTokens: true,
519
+ platformWebhookHealth: false,
459
520
  postponeTrek: true,
460
521
  publishForm: false,
461
522
  pullChecklistTemplate: true,
@@ -463,6 +524,7 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
463
524
  pushManifest: true,
464
525
  pushTripBalances: true,
465
526
  putCommsConfig: false,
527
+ putCommsConfigConsole: false,
466
528
  putPlatformPartnerPlan: false,
467
529
  readAgencyEntitlement: false,
468
530
  readAgencyFeedbackSummary: false,
@@ -470,12 +532,10 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
470
532
  readChecklistAggregate: false,
471
533
  readCloseout: false,
472
534
  readCommsConfig: false,
535
+ readCommsConfigConsole: false,
473
536
  readConsoleAudit: false,
474
- readConsoleChecklist: false,
475
- readConsoleItinerary: false,
476
- readConsolePickups: false,
477
- readConsoleRooming: false,
478
- readConsoleSeating: false,
537
+ readConsoleCertification: false,
538
+ readConsoleMe: false,
479
539
  readConsoleUserInvite: false,
480
540
  readEndpointDeliveries: false,
481
541
  readEndpointDelivery: false,
@@ -486,6 +546,7 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
486
546
  readFloatLedger: false,
487
547
  readFloatSummary: false,
488
548
  readIngestLog: false,
549
+ readIngestLogSummary: false,
489
550
  readItinerary: false,
490
551
  readItineraryChangeLog: false,
491
552
  readJourney: false,
@@ -496,16 +557,25 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
496
557
  readRoomingBoard: false,
497
558
  readSeatingBoard: false,
498
559
  readShareToken: false,
560
+ readSupportJourneyState: false,
561
+ readSupportWebhookDeliveryDetail: false,
562
+ readTenantDefaultCommsConfig: false,
563
+ readTestClock: false,
564
+ readTestQuota: false,
499
565
  readTrekBoard: false,
500
566
  readTrekWalkInMeta: false,
501
567
  readTripFeedbackSummary: false,
502
568
  readUsage: false,
503
569
  readWebhookDelivery: false,
570
+ readWebhookDeliveryConsole: false,
504
571
  readWebhookEndpoint: false,
572
+ readWebhookEventCatalog: false,
505
573
  rebuildJourney: true,
506
574
  recordCollection: true,
507
575
  redeliverEndpointDelivery: true,
508
576
  redeliverWebhookDelivery: true,
577
+ redeliverWebhookDeliveryConsole: true,
578
+ redriveSupportWebhookDelivery: false,
509
579
  refreshAgencyAdminTokens: false,
510
580
  refreshManagerTokens: false,
511
581
  regenerateShareToken: true,
@@ -521,17 +591,23 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
521
591
  reorderItineraryItem: true,
522
592
  reorderPickupStops: true,
523
593
  replaceBookingVouchers: false,
594
+ replaySupportWebhookRange: false,
524
595
  replayWebhookEndpoint: true,
596
+ replayWebhookEndpointConsole: true,
525
597
  requestFileUpload: true,
526
598
  resetPlatformPartnerConsoleUser: false,
599
+ resetTestClock: false,
600
+ resolvePlatformCredential: false,
527
601
  returnFloat: true,
528
602
  revokeApiKey: true,
603
+ revokeMyConsoleSession: true,
529
604
  revokePlatformPartnerApiKey: false,
530
605
  revokeShareToken: false,
531
606
  rotateApiKey: true,
532
607
  rotateWebhookEndpointSecret: true,
533
608
  runJourneyStep: true,
534
609
  saveCloseoutHandover: true,
610
+ sendCommsTestMessage: true,
535
611
  sendMessage: true,
536
612
  setPlatformPartnerStatus: false,
537
613
  shareListForms: false,
@@ -543,6 +619,8 @@ var OPERATION_ACCEPTS_IDEMPOTENCY_KEY = {
543
619
  syncPullTrip: false,
544
620
  syncPush: false,
545
621
  syncPushShare: false,
622
+ testCommsProviderCredential: true,
623
+ testWebhookEndpoint: false,
546
624
  toggleChecklistItem: true,
547
625
  unarchiveForm: false,
548
626
  unassignManager: true,
@@ -594,8 +672,12 @@ var KaafilErrorCode = {
594
672
  StayWindowOverlap: "STAY_WINDOW_OVERLAP",
595
673
  StopHasPending: "STOP_HAS_PENDING",
596
674
  SubjectRequired: "SUBJECT_REQUIRED",
675
+ SupportGrantRequired: "SUPPORT_GRANT_REQUIRED",
597
676
  SyncTargetRefused: "SYNC_TARGET_REFUSED",
598
677
  TenantScopeMissing: "TENANT_SCOPE_MISSING",
678
+ TestClockBackwards: "TEST_CLOCK_BACKWARDS",
679
+ TestFixtureScenarioUnknown: "TEST_FIXTURE_SCENARIO_UNKNOWN",
680
+ TestTripLimit: "TEST_TRIP_LIMIT",
599
681
  Unauthenticated: "UNAUTHENTICATED",
600
682
  UploadMismatch: "UPLOAD_MISMATCH",
601
683
  ValidationError: "VALIDATION_ERROR"
@@ -647,8 +729,12 @@ var ERROR_CODE_TABLE = {
647
729
  STAY_WINDOW_OVERLAP: { status: 422, retryability: "no", outboxClass: "FATAL" },
648
730
  STOP_HAS_PENDING: { status: 422, retryability: "no", outboxClass: "FATAL" },
649
731
  SUBJECT_REQUIRED: { status: 422, retryability: "no", outboxClass: "FATAL" },
732
+ SUPPORT_GRANT_REQUIRED: { status: 403, retryability: "no", outboxClass: "FATAL" },
650
733
  SYNC_TARGET_REFUSED: { status: 422, retryability: "no", outboxClass: "FATAL" },
651
734
  TENANT_SCOPE_MISSING: { status: 500, retryability: "yes", outboxClass: "TRANSIENT" },
735
+ TEST_CLOCK_BACKWARDS: { status: 422, retryability: "no", outboxClass: "FATAL" },
736
+ TEST_FIXTURE_SCENARIO_UNKNOWN: { status: 422, retryability: "no", outboxClass: "FATAL" },
737
+ TEST_TRIP_LIMIT: { status: 422, retryability: "no", outboxClass: "FATAL" },
652
738
  UNAUTHENTICATED: { status: 401, retryability: "after-refresh", outboxClass: "FATAL" },
653
739
  UPLOAD_MISMATCH: { status: 422, retryability: "no", outboxClass: "FATAL" },
654
740
  VALIDATION_ERROR: { status: 422, retryability: "no", outboxClass: "FATAL" }
@@ -1919,6 +2005,10 @@ var OutboxStatus = {
1919
2005
  /** Terminal success. Pruned on the next persist. */
1920
2006
  Done: "done"
1921
2007
  };
2008
+ var OutboxRetryCause = {
2009
+ Transport: "transport",
2010
+ Server: "server"
2011
+ };
1922
2012
  function createOutbox(options) {
1923
2013
  const key = `${options.keyPrefix}:outbox`;
1924
2014
  const mintId = options.newId ?? newIdempotencyKey;
@@ -1985,6 +2075,7 @@ function createOutbox(options) {
1985
2075
  status: OutboxStatus.Pending,
1986
2076
  attemptCount: 0,
1987
2077
  nextRetryAt: null,
2078
+ retryCause: void 0,
1988
2079
  refreshAttempted: false,
1989
2080
  parkReason: void 0
1990
2081
  };
@@ -2038,19 +2129,39 @@ function createOutbox(options) {
2038
2129
  status: OutboxStatus.Parked,
2039
2130
  parkReason: reason,
2040
2131
  attemptCount: (op?.attemptCount ?? 0) + 1,
2041
- nextRetryAt: null
2132
+ nextRetryAt: null,
2133
+ retryCause: void 0
2042
2134
  });
2043
2135
  },
2044
- async scheduleRetry(opId, nextRetryAt) {
2136
+ async scheduleRetry(opId, nextRetryAt, cause) {
2045
2137
  const op = ops.get(opId);
2046
2138
  await mutate(opId, {
2047
2139
  status: OutboxStatus.Pending,
2048
2140
  attemptCount: (op?.attemptCount ?? 0) + 1,
2049
- nextRetryAt
2141
+ nextRetryAt,
2142
+ retryCause: cause
2050
2143
  });
2051
2144
  },
2145
+ async clearTransportBackoff() {
2146
+ let cleared = 0;
2147
+ for (const [id, op] of ops) {
2148
+ if (op.status !== OutboxStatus.Pending || op.nextRetryAt === null || op.retryCause !== OutboxRetryCause.Transport) {
2149
+ continue;
2150
+ }
2151
+ ops.set(id, { ...op, nextRetryAt: null, retryCause: void 0 });
2152
+ cleared += 1;
2153
+ }
2154
+ if (cleared > 0) {
2155
+ await persist();
2156
+ }
2157
+ return cleared;
2158
+ },
2052
2159
  async requeue(opId) {
2053
- await mutate(opId, { status: OutboxStatus.Pending });
2160
+ await mutate(opId, {
2161
+ status: OutboxStatus.Pending,
2162
+ nextRetryAt: null,
2163
+ retryCause: void 0
2164
+ });
2054
2165
  },
2055
2166
  async markRefreshAttempted(opId) {
2056
2167
  await mutate(opId, { refreshAttempted: true });
@@ -2064,6 +2175,7 @@ function createOutbox(options) {
2064
2175
  ...op,
2065
2176
  status: OutboxStatus.Pending,
2066
2177
  nextRetryAt: null,
2178
+ retryCause: void 0,
2067
2179
  attemptCount: op.attemptCount + 1,
2068
2180
  ...patch.body !== void 0 ? { body: patch.body } : {},
2069
2181
  ...patch.ifMatch !== void 0 ? { ifMatch: patch.ifMatch } : {}
@@ -2168,6 +2280,7 @@ function createDrainer(options) {
2168
2280
  const now = options.now ?? Date.now;
2169
2281
  const random = options.random ?? Math.random;
2170
2282
  let inFlight = null;
2283
+ const ownSignal = new AbortController();
2171
2284
  function observeServerTime(outcome) {
2172
2285
  if (outcome.serverTime !== void 0) {
2173
2286
  options.onServerTime?.(outcome.serverTime);
@@ -2246,7 +2359,11 @@ function createDrainer(options) {
2246
2359
  ...outcome.retryAfterSeconds !== void 0 ? { retryAfterSeconds: outcome.retryAfterSeconds } : {},
2247
2360
  random
2248
2361
  });
2249
- await outbox.scheduleRetry(op.id, now() + delay);
2362
+ await outbox.scheduleRetry(
2363
+ op.id,
2364
+ now() + delay,
2365
+ outcome.status === null ? OutboxRetryCause.Transport : OutboxRetryCause.Server
2366
+ );
2250
2367
  events.emit("sync.error", {
2251
2368
  opId: op.id,
2252
2369
  tripRef: op.tripRef,
@@ -2342,12 +2459,14 @@ function createDrainer(options) {
2342
2459
  let outcomes;
2343
2460
  try {
2344
2461
  outcomes = await sendBatch(ready, signal);
2345
- } catch {
2462
+ } catch (error) {
2463
+ const cause = isKaafilLike(error) && error.kind === "transport" ? OutboxRetryCause.Transport : OutboxRetryCause.Server;
2346
2464
  const [head, ...rest] = ready;
2347
2465
  if (head !== void 0) {
2348
2466
  await outbox.scheduleRetry(
2349
2467
  head.id,
2350
- now() + computeRetryDelayMs(head.attemptCount + 1, { random })
2468
+ now() + computeRetryDelayMs(head.attemptCount + 1, { random }),
2469
+ cause
2351
2470
  );
2352
2471
  }
2353
2472
  for (const op of rest) {
@@ -2399,20 +2518,68 @@ function createDrainer(options) {
2399
2518
  });
2400
2519
  return report;
2401
2520
  }
2521
+ let kickTimer;
2522
+ let pendingKickRestored = false;
2402
2523
  const drainer = {
2403
2524
  async drain(drainOptions = {}) {
2404
2525
  if (inFlight !== null) {
2405
2526
  return inFlight;
2406
2527
  }
2407
- const pass = runPass(drainOptions.signal).finally(() => {
2528
+ const signal = drainOptions.signal ?? ownSignal.signal;
2529
+ const pass = (async () => {
2530
+ if (drainOptions.connectivityRestored === true) {
2531
+ await outbox.clearTransportBackoff();
2532
+ }
2533
+ return runPass(signal);
2534
+ })().finally(() => {
2408
2535
  inFlight = null;
2409
2536
  });
2410
2537
  inFlight = pass;
2411
2538
  return pass;
2412
2539
  },
2413
- kick() {
2414
- void drainer.drain().catch(() => {
2415
- });
2540
+ // Deferred to a fresh macrotask, on purpose. `enqueue()` calls this after
2541
+ // EVERY write, and a caller enqueueing several writes in a row (a batch
2542
+ // import, this SDK's own offline smoke test, `06`'s worked example) does
2543
+ // so as a sequence of awaited calls with no real I/O between them —
2544
+ // which means their continuations are all still microtasks. A `kick()`
2545
+ // that started draining synchronously would mark the FIRST op of the
2546
+ // burst `inflight` before the caller's loop even reaches its second
2547
+ // iteration, so `outbox.counts().pending` would under-report a queue
2548
+ // that is, in fact, completely durable (`./outbox.ts`'s promise is about
2549
+ // durability, not about `pending` never dipping). Parking the kick
2550
+ // behind a macrotask lets the whole synchronous burst finish enqueueing
2551
+ // — and, for a real UI, the current paint — before the drain takes its
2552
+ // first op off the pending list. Nothing about durability changes: the
2553
+ // write-ahead persist in `enqueue()` already happened before this method
2554
+ // is even called.
2555
+ kick(kickOptions = {}) {
2556
+ if (kickTimer !== void 0) {
2557
+ pendingKickRestored = pendingKickRestored || kickOptions.connectivityRestored === true;
2558
+ return;
2559
+ }
2560
+ pendingKickRestored = kickOptions.connectivityRestored === true;
2561
+ kickTimer = setTimeout(() => {
2562
+ kickTimer = void 0;
2563
+ const restored = pendingKickRestored;
2564
+ pendingKickRestored = false;
2565
+ void drainer.drain({ connectivityRestored: restored }).catch(() => {
2566
+ });
2567
+ }, 0);
2568
+ },
2569
+ // Called only from `OfflineEngine.close()` (`./engine.ts`). Two separate
2570
+ // handles, both cleared: a `kick()` that is scheduled but has not fired
2571
+ // yet (the `setTimeout` itself), and a pass already running under
2572
+ // `ownSignal` — which, per `drain()` above, is every automatic kick and
2573
+ // any signal-less explicit call. Aborting propagates into
2574
+ // `transport.sendOne`/`sendBatch` and from there into
2575
+ // `../http/client.ts`'s own retry ladder, which is otherwise the one
2576
+ // thing nothing here could ever cut short.
2577
+ cancelKick() {
2578
+ if (kickTimer !== void 0) {
2579
+ clearTimeout(kickTimer);
2580
+ kickTimer = void 0;
2581
+ }
2582
+ ownSignal.abort();
2416
2583
  },
2417
2584
  bindOpportunisticTriggers() {
2418
2585
  const target = typeof globalThis.addEventListener === "function" ? globalThis : void 0;
@@ -2421,7 +2588,7 @@ function createDrainer(options) {
2421
2588
  };
2422
2589
  }
2423
2590
  const onOnline = () => {
2424
- drainer.kick();
2591
+ drainer.kick({ connectivityRestored: true });
2425
2592
  };
2426
2593
  const onVisible = () => {
2427
2594
  const state = globalThis.document?.visibilityState;
@@ -3097,15 +3264,16 @@ function createOfflineEngine(options) {
3097
3264
  drainer.kick();
3098
3265
  return op;
3099
3266
  },
3100
- async drain() {
3267
+ async drain(drainOptions = {}) {
3101
3268
  await share?.parkOpsPastGrace();
3102
- const report = await drainer.drain();
3269
+ const report = await drainer.drain(drainOptions);
3103
3270
  await blobs?.drain();
3104
3271
  return report;
3105
3272
  },
3106
3273
  close() {
3107
3274
  unbind?.();
3108
3275
  unbind = void 0;
3276
+ drainer.cancelKick();
3109
3277
  events.clear();
3110
3278
  }
3111
3279
  };
@@ -5183,6 +5351,7 @@ exports.MAX_BATCH_OPS = MAX_BATCH_OPS;
5183
5351
  exports.ManagerRole = ManagerRole;
5184
5352
  exports.ManifestMode = ManifestMode;
5185
5353
  exports.OutboxClass = OutboxClass;
5354
+ exports.OutboxRetryCause = OutboxRetryCause;
5186
5355
  exports.OutboxStatus = OutboxStatus;
5187
5356
  exports.PartyKind = PartyKind;
5188
5357
  exports.PickupKind = PickupKind;