@d19n/youfibre-odin-sdk 2.0.347 → 2.0.348

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.
@@ -352,6 +352,7 @@ export declare enum CaseProblem {
352
352
  * - `FACEBOOK_COMMENT` - Facebook comment
353
353
  * - `FACEBOOK_MESSENGER` - Facebook Messenger
354
354
  * - `IN_APP_CHAT` - In-App Chat
355
+ * - `INSTAGRAM_COMMENT` - Instagram comment
355
356
  * - `INSTAGRAM_DM` - Instagram DM
356
357
  * - `SMS`
357
358
  * - `TLOS_APP` - TLOS App
@@ -359,8 +360,7 @@ export declare enum CaseProblem {
359
360
  * - `TRUSTPILOT_SERVICE_REVIEW` - Trustpilot review
360
361
  * - `TWITTER_X_DM` - Twitter/X DM
361
362
  * - `TWITTER_X_MENTION` - Twitter/X Mention
362
- * - `WEB_CHAT` - Web chat
363
- * - ... and 2 more
363
+ * - ... and 3 more
364
364
  */
365
365
  export declare enum CaseChannel {
366
366
  CALL = "CALL",
@@ -370,6 +370,7 @@ export declare enum CaseChannel {
370
370
  FACEBOOK_COMMENT = "FACEBOOK_COMMENT",
371
371
  FACEBOOK_MESSENGER = "FACEBOOK_MESSENGER",
372
372
  IN_APP_CHAT = "IN_APP_CHAT",
373
+ INSTAGRAM_COMMENT = "INSTAGRAM_COMMENT",
373
374
  INSTAGRAM_DM = "INSTAGRAM_DM",
374
375
  SMS = "SMS",
375
376
  TLOS_APP = "TLOS_APP",
@@ -343,6 +343,7 @@ var CaseProblem;
343
343
  * - `FACEBOOK_COMMENT` - Facebook comment
344
344
  * - `FACEBOOK_MESSENGER` - Facebook Messenger
345
345
  * - `IN_APP_CHAT` - In-App Chat
346
+ * - `INSTAGRAM_COMMENT` - Instagram comment
346
347
  * - `INSTAGRAM_DM` - Instagram DM
347
348
  * - `SMS`
348
349
  * - `TLOS_APP` - TLOS App
@@ -350,8 +351,7 @@ var CaseProblem;
350
351
  * - `TRUSTPILOT_SERVICE_REVIEW` - Trustpilot review
351
352
  * - `TWITTER_X_DM` - Twitter/X DM
352
353
  * - `TWITTER_X_MENTION` - Twitter/X Mention
353
- * - `WEB_CHAT` - Web chat
354
- * - ... and 2 more
354
+ * - ... and 3 more
355
355
  */
356
356
  var CaseChannel;
357
357
  (function (CaseChannel) {
@@ -362,6 +362,7 @@ var CaseChannel;
362
362
  CaseChannel["FACEBOOK_COMMENT"] = "FACEBOOK_COMMENT";
363
363
  CaseChannel["FACEBOOK_MESSENGER"] = "FACEBOOK_MESSENGER";
364
364
  CaseChannel["IN_APP_CHAT"] = "IN_APP_CHAT";
365
+ CaseChannel["INSTAGRAM_COMMENT"] = "INSTAGRAM_COMMENT";
365
366
  CaseChannel["INSTAGRAM_DM"] = "INSTAGRAM_DM";
366
367
  CaseChannel["SMS"] = "SMS";
367
368
  CaseChannel["TLOS_APP"] = "TLOS_APP";
@@ -32,6 +32,7 @@ export declare enum ConversationEntityTypes {
32
32
  * - `FACEBOOK_COMMENT` - Facebook comment
33
33
  * - `FACEBOOK_MESSENGER` - Facebook Messenger
34
34
  * - `IN_APP_CHAT` - In-App Chat
35
+ * - `INSTAGRAM_COMMENT` - Instagram comment
35
36
  * - `INSTAGRAM_DM` - Instagram DM
36
37
  * - `SMS`
37
38
  * - `TRUSTPILOT_SERVICE_REVIEW` - Trustpilot Service Review
@@ -44,6 +45,7 @@ export declare enum ConversationChannel {
44
45
  FACEBOOK_COMMENT = "FACEBOOK_COMMENT",
45
46
  FACEBOOK_MESSENGER = "FACEBOOK_MESSENGER",
46
47
  IN_APP_CHAT = "IN_APP_CHAT",
48
+ INSTAGRAM_COMMENT = "INSTAGRAM_COMMENT",
47
49
  INSTAGRAM_DM = "INSTAGRAM_DM",
48
50
  SMS = "SMS",
49
51
  TRUSTPILOT_SERVICE_REVIEW = "TRUSTPILOT_SERVICE_REVIEW",
@@ -32,6 +32,7 @@ var ConversationEntityTypes;
32
32
  * - `FACEBOOK_COMMENT` - Facebook comment
33
33
  * - `FACEBOOK_MESSENGER` - Facebook Messenger
34
34
  * - `IN_APP_CHAT` - In-App Chat
35
+ * - `INSTAGRAM_COMMENT` - Instagram comment
35
36
  * - `INSTAGRAM_DM` - Instagram DM
36
37
  * - `SMS`
37
38
  * - `TRUSTPILOT_SERVICE_REVIEW` - Trustpilot Service Review
@@ -45,6 +46,7 @@ var ConversationChannel;
45
46
  ConversationChannel["FACEBOOK_COMMENT"] = "FACEBOOK_COMMENT";
46
47
  ConversationChannel["FACEBOOK_MESSENGER"] = "FACEBOOK_MESSENGER";
47
48
  ConversationChannel["IN_APP_CHAT"] = "IN_APP_CHAT";
49
+ ConversationChannel["INSTAGRAM_COMMENT"] = "INSTAGRAM_COMMENT";
48
50
  ConversationChannel["INSTAGRAM_DM"] = "INSTAGRAM_DM";
49
51
  ConversationChannel["SMS"] = "SMS";
50
52
  ConversationChannel["TRUSTPILOT_SERVICE_REVIEW"] = "TRUSTPILOT_SERVICE_REVIEW";
@@ -30,7 +30,7 @@
30
30
  * full types are available).
31
31
  */
32
32
  import type { VMO2OrderNotification, VMO2SMRNotification } from './types/vmo2';
33
- import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeKciDto, FibreCafeServiceProblemCancellationReasonCode } from './types/fibrecafe';
33
+ import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeStartOrderActivateAccept202, FibreCafeOrderAmendAccept202, FibreCafeKciDto, FibreCafeServiceProblemCancellationReasonCode } from './types/fibrecafe';
34
34
  /**
35
35
  * Reasons a cancellation request can be made (NET wire-level enum value
36
36
  * passed through to the FibreCafe gateway).
@@ -258,6 +258,18 @@ export interface WholesaleProvider<TPrincipal = unknown> {
258
258
  cancelOrder(yfOrderId: string, reasonCode: CancellationReasonCode): Promise<FibreCafeOrderCreate202>;
259
259
  /** Active-customer cease (post-Active churn / OTS-losing). */
260
260
  ceaseOrder(yfOrderId: string, serviceId: string): Promise<FibreCafeOrderCreate202>;
261
+ /**
262
+ * ORD-326: ask the supplier to activate an in-flight START order now, ahead
263
+ * of its requested date. Accepted synchronously; the COMPLETED (or REAPPOINT)
264
+ * KCI follows.
265
+ */
266
+ activateStartOrder(yfOrderId: string): Promise<FibreCafeStartOrderActivateAccept202>;
267
+ /**
268
+ * ORD-335: move an in-flight provide order's requested completion date — the
269
+ * day the supplier activates a START. Sent as an order amendment; the
270
+ * AMENDED KCI confirms it.
271
+ */
272
+ amendRequestedCompletionDate(yfOrderId: string, requestedCompletionDate: string): Promise<FibreCafeOrderAmendAccept202>;
261
273
  /**
262
274
  * Tenant-initiated cancel of an inflight SERVICE WO. Structurally
263
275
  * parallel to `rescheduleServiceWorkOrder` — same flat-primitive args,
@@ -29,7 +29,7 @@
29
29
  */
30
30
  import type { WholesaleProvider, CreateOrderOptions, CancellationReasonCode, CancelServiceWorkOrderArgs, FindOrderByExternalRefArgs, FindOrderByExternalRefResult, ReserveAppointmentArgs, ListAppointmentsArgs, ScheduleServiceWorkOrderArgs, RescheduleServiceWorkOrderArgs, AmendAppointmentArgs, RequestTenantReappointmentArgs, SyncWorkOrderToSupplierArgs, UpdateOrderExternalRefArgs } from '../interface';
31
31
  import type { VMO2OrderNotification, VMO2SMRNotification } from '../types/vmo2';
32
- import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeKciDto } from '../types/fibrecafe';
32
+ import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeStartOrderActivateAccept202, FibreCafeKciDto } from '../types/fibrecafe';
33
33
  /**
34
34
  * Function-bag of dependencies the NetomniaProvider delegates to.
35
35
  *
@@ -61,6 +61,8 @@ export interface NetomniaProviderDeps<TPrincipal = unknown, TKci = FibreCafeKciD
61
61
  amendOrder: (principal: TPrincipal, yfOrderId: string) => Promise<FibreCafeOrderCreate202 | null>;
62
62
  cancelOrder: (yfOrderId: string, reasonCode: CancellationReasonCode) => Promise<FibreCafeOrderCreate202>;
63
63
  ceaseOrder: (yfOrderId: string, serviceId: string) => Promise<FibreCafeOrderCreate202>;
64
+ activateStartOrder: (yfOrderId: string) => Promise<FibreCafeStartOrderActivateAccept202>;
65
+ amendRequestedCompletionDate: (yfOrderId: string, requestedCompletionDate: string) => Promise<FibreCafeOrderAmendAccept202>;
64
66
  cancelServiceWorkOrder: (args: CancelServiceWorkOrderArgs) => Promise<FibreCafeRescheduleServiceWorkOrder200>;
65
67
  /**
66
68
  * Required, deliberately. Wiring it is what makes the supplier-order
@@ -91,6 +93,8 @@ export declare class NetomniaProvider<TPrincipal = unknown> implements Wholesale
91
93
  amendOrder(principal: TPrincipal, yfOrderId: string): Promise<FibreCafeOrderCreate202>;
92
94
  cancelOrder(yfOrderId: string, reasonCode: CancellationReasonCode): Promise<FibreCafeOrderCreate202>;
93
95
  ceaseOrder(yfOrderId: string, serviceId: string): Promise<FibreCafeOrderCreate202>;
96
+ activateStartOrder(yfOrderId: string): Promise<FibreCafeStartOrderActivateAccept202>;
97
+ amendRequestedCompletionDate(yfOrderId: string, requestedCompletionDate: string): Promise<FibreCafeOrderAmendAccept202>;
94
98
  cancelServiceWorkOrder(args: CancelServiceWorkOrderArgs): Promise<FibreCafeRescheduleServiceWorkOrder200>;
95
99
  findOrderByExternalRef(args: FindOrderByExternalRefArgs): Promise<FindOrderByExternalRefResult>;
96
100
  receiveKci(principal: TPrincipal, dto: FibreCafeKciDto): Promise<void>;
@@ -50,6 +50,12 @@ class NetomniaProvider {
50
50
  ceaseOrder(yfOrderId, serviceId) {
51
51
  return this.deps.ceaseOrder(yfOrderId, serviceId);
52
52
  }
53
+ activateStartOrder(yfOrderId) {
54
+ return this.deps.activateStartOrder(yfOrderId);
55
+ }
56
+ amendRequestedCompletionDate(yfOrderId, requestedCompletionDate) {
57
+ return this.deps.amendRequestedCompletionDate(yfOrderId, requestedCompletionDate);
58
+ }
53
59
  cancelServiceWorkOrder(args) {
54
60
  return this.deps.cancelServiceWorkOrder(args);
55
61
  }
@@ -72,6 +72,8 @@ function buildDeps() {
72
72
  amendOrder: {},
73
73
  cancelOrder: {},
74
74
  ceaseOrder: {},
75
+ activateStartOrder: { id: 'net-order-1', externalRef: 'ORD-1', recordNumber: 'OR1' },
76
+ amendRequestedCompletionDate: {},
75
77
  cancelServiceWorkOrder: { workOrderId: 'WO-CANC-1', appointmentId: '' },
76
78
  findOrderByExternalRef: { found: true, supplierOrderId: 'NET-ORD-1', supplierOrderRef: 'ORD123' },
77
79
  };
@@ -124,6 +126,14 @@ function buildDeps() {
124
126
  log.push({ method: 'ceaseOrder', args: [yfOrderId, serviceId] });
125
127
  return Promise.resolve(stubs.ceaseOrder);
126
128
  },
129
+ activateStartOrder: (yfOrderId) => {
130
+ log.push({ method: 'activateStartOrder', args: [yfOrderId] });
131
+ return Promise.resolve(stubs.activateStartOrder);
132
+ },
133
+ amendRequestedCompletionDate: (yfOrderId, requestedCompletionDate) => {
134
+ log.push({ method: 'amendRequestedCompletionDate', args: [yfOrderId, requestedCompletionDate] });
135
+ return Promise.resolve(stubs.amendRequestedCompletionDate);
136
+ },
127
137
  cancelServiceWorkOrder: (args) => {
128
138
  log.push({ method: 'cancelServiceWorkOrder', args: [args] });
129
139
  return Promise.resolve(stubs.cancelServiceWorkOrder);
@@ -296,6 +306,26 @@ function run() {
296
306
  assert('orderId forwarded', log[0].args[0] === 'ORD-1');
297
307
  assert('reasonCode forwarded', log[0].args[1] === 'CUSTOMER_CHANGED_MIND');
298
308
  }
309
+ console.log('Test: activateStartOrder delegates to deps and returns the accept body');
310
+ {
311
+ const { deps, log } = buildDeps();
312
+ const p = new netomnia_provider_1.NetomniaProvider(deps);
313
+ const res = yield p.activateStartOrder('ORD-1');
314
+ assert('called once', log.length === 1);
315
+ assert('correct method', log[0].method === 'activateStartOrder');
316
+ assert('orderId forwarded', log[0].args[0] === 'ORD-1');
317
+ assert('accept body returned', res.id === 'net-order-1' && res.externalRef === 'ORD-1');
318
+ }
319
+ console.log('Test: amendRequestedCompletionDate delegates to deps');
320
+ {
321
+ const { deps, log } = buildDeps();
322
+ const p = new netomnia_provider_1.NetomniaProvider(deps);
323
+ yield p.amendRequestedCompletionDate('ORD-1', '2026-10-05');
324
+ assert('called once', log.length === 1);
325
+ assert('correct method', log[0].method === 'amendRequestedCompletionDate');
326
+ assert('orderId forwarded', log[0].args[0] === 'ORD-1');
327
+ assert('date forwarded', log[0].args[1] === '2026-10-05');
328
+ }
299
329
  console.log('Test: ceaseOrder delegates to deps');
300
330
  {
301
331
  const { deps, log } = buildDeps();
@@ -344,6 +344,17 @@ export declare type FibreCafeOrderCreateDto = FibreCafeProvideServiceOrderDto |
344
344
  /** 202 — order accepted; will be acknowledged via KCI. Empty body. */
345
345
  export interface FibreCafeOrderCreate202 {
346
346
  }
347
+ /**
348
+ * ORD-327: accept body of `POST service-orders/:externalRef/activate`. The
349
+ * outcome arrives later as a KCI — COMPLETED, or REAPPOINT (ACTIVATION_FAILED).
350
+ */
351
+ export interface FibreCafeStartOrderActivateAccept202 {
352
+ /** Supplier order id. */
353
+ id: string;
354
+ /** Tenant order id — the YF Order id. */
355
+ externalRef: string;
356
+ recordNumber?: string;
357
+ }
347
358
  export interface FibreCafeServiceOrderCancellationDto {
348
359
  /** Caller-generated cancellation request id. */
349
360
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.347",
3
+ "version": "2.0.348",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",