@t4h.framework/amber 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/activities/AbstractAmberHttpRequestActivity.d.ts +12 -0
  2. package/dist/activities/AbstractAmberHttpRequestActivity.d.ts.map +1 -0
  3. package/dist/activities/AbstractAmberHttpRequestActivity.js +21 -0
  4. package/dist/activities/AbstractAmberHttpRequestActivity.js.map +1 -0
  5. package/dist/activities/AmberCommentTicketActivity.d.ts +13 -0
  6. package/dist/activities/AmberCommentTicketActivity.d.ts.map +1 -0
  7. package/dist/activities/AmberCommentTicketActivity.js +22 -0
  8. package/dist/activities/AmberCommentTicketActivity.js.map +1 -0
  9. package/dist/activities/AmberCreateTicketActivity.d.ts +15 -0
  10. package/dist/activities/AmberCreateTicketActivity.d.ts.map +1 -0
  11. package/dist/activities/AmberCreateTicketActivity.js +68 -0
  12. package/dist/activities/AmberCreateTicketActivity.js.map +1 -0
  13. package/dist/activities/AmberGetTicketActivity.d.ts +12 -0
  14. package/dist/activities/AmberGetTicketActivity.d.ts.map +1 -0
  15. package/dist/activities/AmberGetTicketActivity.js +30 -0
  16. package/dist/activities/AmberGetTicketActivity.js.map +1 -0
  17. package/dist/activities/AmberInteractTicketActivity.d.ts +13 -0
  18. package/dist/activities/AmberInteractTicketActivity.d.ts.map +1 -0
  19. package/dist/activities/AmberInteractTicketActivity.js +23 -0
  20. package/dist/activities/AmberInteractTicketActivity.js.map +1 -0
  21. package/dist/activities/AmberLockTicketActivity.d.ts +14 -0
  22. package/dist/activities/AmberLockTicketActivity.d.ts.map +1 -0
  23. package/dist/activities/AmberLockTicketActivity.js +33 -0
  24. package/dist/activities/AmberLockTicketActivity.js.map +1 -0
  25. package/dist/activities/AmberReleaseTicketLockActivity.d.ts +12 -0
  26. package/dist/activities/AmberReleaseTicketLockActivity.d.ts.map +1 -0
  27. package/dist/activities/AmberReleaseTicketLockActivity.js +30 -0
  28. package/dist/activities/AmberReleaseTicketLockActivity.js.map +1 -0
  29. package/dist/activities/AmberTabulateTicketActivity.d.ts +13 -0
  30. package/dist/activities/AmberTabulateTicketActivity.d.ts.map +1 -0
  31. package/dist/activities/AmberTabulateTicketActivity.js +22 -0
  32. package/dist/activities/AmberTabulateTicketActivity.js.map +1 -0
  33. package/dist/activities/AmberTransferTicketActivity.d.ts +77 -0
  34. package/dist/activities/AmberTransferTicketActivity.d.ts.map +1 -0
  35. package/dist/activities/AmberTransferTicketActivity.js +121 -0
  36. package/dist/activities/AmberTransferTicketActivity.js.map +1 -0
  37. package/dist/activities/AmberUpdateTicketActivity.d.ts +13 -0
  38. package/dist/activities/AmberUpdateTicketActivity.d.ts.map +1 -0
  39. package/dist/activities/AmberUpdateTicketActivity.js +22 -0
  40. package/dist/activities/AmberUpdateTicketActivity.js.map +1 -0
  41. package/dist/index.d.ts +11 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +11 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/models/Amber.d.ts +16 -0
  46. package/dist/models/Amber.d.ts.map +1 -0
  47. package/dist/models/Amber.js +42 -0
  48. package/dist/models/Amber.js.map +1 -0
  49. package/dist/models/AmberConnection.d.ts +7 -0
  50. package/dist/models/AmberConnection.d.ts.map +1 -0
  51. package/dist/models/AmberConnection.js +11 -0
  52. package/dist/models/AmberConnection.js.map +1 -0
  53. package/dist/models/Ticket.d.ts +28 -0
  54. package/dist/models/Ticket.d.ts.map +1 -0
  55. package/dist/models/Ticket.js +116 -0
  56. package/dist/models/Ticket.js.map +1 -0
  57. package/dist/types/ServiceTabulate.d.ts +13 -0
  58. package/dist/types/ServiceTabulate.d.ts.map +1 -0
  59. package/dist/types/ServiceTabulate.js +2 -0
  60. package/dist/types/ServiceTabulate.js.map +1 -0
  61. package/dist/types/ServiceTicket.d.ts +46 -0
  62. package/dist/types/ServiceTicket.d.ts.map +1 -0
  63. package/dist/types/ServiceTicket.js +2 -0
  64. package/dist/types/ServiceTicket.js.map +1 -0
  65. package/dist/types/ServiceTicketComment.d.ts +6 -0
  66. package/dist/types/ServiceTicketComment.d.ts.map +1 -0
  67. package/dist/types/ServiceTicketComment.js +2 -0
  68. package/dist/types/ServiceTicketComment.js.map +1 -0
  69. package/dist/types/ServiceTicketInteraction.d.ts +24 -0
  70. package/dist/types/ServiceTicketInteraction.d.ts.map +1 -0
  71. package/dist/types/ServiceTicketInteraction.js +2 -0
  72. package/dist/types/ServiceTicketInteraction.js.map +1 -0
  73. package/dist/types/ServiceTicketLock.d.ts +7 -0
  74. package/dist/types/ServiceTicketLock.d.ts.map +1 -0
  75. package/dist/types/ServiceTicketLock.js +2 -0
  76. package/dist/types/ServiceTicketLock.js.map +1 -0
  77. package/dist/types/ServiceTransfer.d.ts +14 -0
  78. package/dist/types/ServiceTransfer.d.ts.map +1 -0
  79. package/dist/types/ServiceTransfer.js +2 -0
  80. package/dist/types/ServiceTransfer.js.map +1 -0
  81. package/dist/types/ServiceUpdate.d.ts +6 -0
  82. package/dist/types/ServiceUpdate.d.ts.map +1 -0
  83. package/dist/types/ServiceUpdate.js +2 -0
  84. package/dist/types/ServiceUpdate.js.map +1 -0
  85. package/package.json +2 -2
@@ -0,0 +1,121 @@
1
+ import { Claim, AsyncActivity, GetActivityUniqueIdentifierClaim, GetWorkflowUniqueIdentifierClaim, } from '@t4h.framework/core';
2
+ import { HttpClientRequestClaim } from '@t4h.framework/http';
3
+ import { Type } from 'typebox';
4
+ import {} from './AbstractAmberHttpRequestActivity.js';
5
+ const schema = Type.Object({
6
+ service: Type.Object({
7
+ id: Type.String({
8
+ format: 'uuid',
9
+ }),
10
+ }),
11
+ tabulation: Type.Object({
12
+ name: Type.String(),
13
+ tabulationOption: Type.Object({
14
+ id: Type.String({
15
+ format: 'uuid',
16
+ }),
17
+ name: Type.String(),
18
+ }),
19
+ notes: Type.Array(Type.Object({
20
+ content: Type.String(),
21
+ createdAt: Type.String({
22
+ format: 'date-time',
23
+ }),
24
+ type: Type.Enum(['public', 'private']),
25
+ id: Type.String({
26
+ format: 'uuid',
27
+ }),
28
+ })),
29
+ }),
30
+ serviceTransfer: Type.Object({
31
+ id: Type.String({
32
+ format: 'uuid',
33
+ }),
34
+ skill: Type.Object({
35
+ id: Type.String({
36
+ format: 'uuid',
37
+ }),
38
+ name: Type.String(),
39
+ }),
40
+ }),
41
+ });
42
+ export class AmberTransferTicketActivity extends AsyncActivity {
43
+ claims = new Claim({
44
+ http: HttpClientRequestClaim,
45
+ getProjectVersionWorkflowRunId: GetWorkflowUniqueIdentifierClaim,
46
+ getProjectVersionWorkflowActivityRunId: GetActivityUniqueIdentifierClaim,
47
+ });
48
+ async bootstrap(input) {
49
+ const url = new URL(`${input.url}/services/${input.id}/transfers`, input.baseUrl);
50
+ const projectVersionWorkflowRun = this.claims.getProjectVersionWorkflowRunId.getWorkflowUniqueIdentifier();
51
+ const projectVersionWorkflowRunActivity = this.claims.getProjectVersionWorkflowActivityRunId.getActivityUniqueIdentifier();
52
+ const auth = Buffer.from(`${input.auth.username}:${input.auth.password}`).toString('base64');
53
+ const responseUpdateMetadata = await this.claims.http.request({
54
+ url: new URL(`${input.url}/services/${input.id}`, input.baseUrl),
55
+ method: 'PATCH',
56
+ body: Buffer.from(JSON.stringify({
57
+ state: {
58
+ metadata: {
59
+ [`t4h-framework:workflow-run:${projectVersionWorkflowRun}`]: projectVersionWorkflowRunActivity,
60
+ },
61
+ },
62
+ })),
63
+ headers: {
64
+ 'Content-Type': 'application/json',
65
+ Authorization: `Basic ${auth}`,
66
+ },
67
+ redirect: 'follow',
68
+ retry: true,
69
+ });
70
+ if (responseUpdateMetadata.status !== 200)
71
+ return this.rejected(`Failed to update metadata for ticket ${input.id}: ${responseUpdateMetadata.status}`);
72
+ if (input.input.status === 'in-queue' || input.input.lockRelease)
73
+ Object.assign(input.input, {
74
+ lock: {
75
+ release: { ref: projectVersionWorkflowRun },
76
+ },
77
+ });
78
+ const response = await this.claims.http.request({
79
+ url,
80
+ method: 'POST',
81
+ body: Buffer.from(JSON.stringify(input.input)),
82
+ headers: {
83
+ 'Content-Type': 'application/json',
84
+ Authorization: `Basic ${auth}`,
85
+ },
86
+ redirect: 'follow',
87
+ retry: true,
88
+ });
89
+ if (response.status !== 200)
90
+ return this.rejected(`Failed to transfer ticket ${input.id}: ${response.status}`);
91
+ const chunks = await response.body.toArray();
92
+ const buffer = Buffer.concat(chunks);
93
+ const data = JSON.parse(buffer.toString('utf-8'));
94
+ if (input.input.status === 'in-queue')
95
+ return this.pending({
96
+ output: {
97
+ service: input.id,
98
+ serviceTransfer: data.id,
99
+ },
100
+ schema,
101
+ });
102
+ return this.done({
103
+ service: input.id,
104
+ serviceTransfer: data.id,
105
+ });
106
+ }
107
+ advance(payload) {
108
+ return this.done({
109
+ service: payload.service,
110
+ serviceTransfer: payload.serviceTransfer,
111
+ tabulationOption: payload.tabulation.tabulationOption,
112
+ });
113
+ }
114
+ toInput(input) {
115
+ return input;
116
+ }
117
+ toOutput(output) {
118
+ return output;
119
+ }
120
+ }
121
+ //# sourceMappingURL=AmberTransferTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberTransferTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberTransferTicketActivity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AbstractAmberHttpRequestActivity, type AmberHttpRequestActivityInput } from './AbstractAmberHttpRequestActivity.js';
2
+ import type { ServiceUpdateInput } from '../types/ServiceUpdate.js';
3
+ export type AmberUpdateTicketActivityInput = Omit<AmberHttpRequestActivityInput, 'method' | 'body'> & {
4
+ input: ServiceUpdateInput;
5
+ id: string;
6
+ };
7
+ export declare class AmberUpdateTicketActivity extends AbstractAmberHttpRequestActivity<[
8
+ AmberUpdateTicketActivityInput
9
+ ], AmberHttpRequestActivityInput> {
10
+ toInput(input: AmberUpdateTicketActivityInput): AmberHttpRequestActivityInput;
11
+ toOutput(output: any, input: AmberUpdateTicketActivityInput): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=AmberUpdateTicketActivity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberUpdateTicketActivity.d.ts","sourceRoot":"","sources":["../../src/activities/AmberUpdateTicketActivity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,KAAK,6BAA6B,EACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,6BAA6B,EAC7B,QAAQ,GAAG,MAAM,CAClB,GAAG;IACF,KAAK,EAAE,kBAAkB,CAAA;IACzB,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,qBAAa,yBAA0B,SAAQ,gCAAgC,CAC7E;IAAC,8BAA8B;CAAC,EAChC,6BAA6B,CAC9B;IACQ,OAAO,CACZ,KAAK,EAAE,8BAA8B,GACpC,6BAA6B;IASnB,QAAQ,CACnB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,22 @@
1
+ import { Response } from '@t4h.framework/http';
2
+ import { AbstractAmberHttpRequestActivity, } from './AbstractAmberHttpRequestActivity.js';
3
+ export class AmberUpdateTicketActivity extends AbstractAmberHttpRequestActivity {
4
+ toInput(input) {
5
+ return {
6
+ ...input,
7
+ url: `${input.url}/services/${input.id}`,
8
+ method: 'PATCH',
9
+ body: { json: input.input },
10
+ };
11
+ }
12
+ async toOutput(output, input) {
13
+ const response = new Response(output);
14
+ if (response.status !== 200)
15
+ throw new Error(`Failed to update ticket ${input.id}`, {
16
+ cause: {
17
+ httpStatusCode: response.status,
18
+ },
19
+ });
20
+ }
21
+ }
22
+ //# sourceMappingURL=AmberUpdateTicketActivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberUpdateTicketActivity.js","sourceRoot":"","sources":["../../src/activities/AmberUpdateTicketActivity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EACL,gCAAgC,GAEjC,MAAM,uCAAuC,CAAA;AAW9C,MAAM,OAAO,yBAA0B,SAAQ,gCAG9C;IACQ,OAAO,CACZ,KAAqC;QAErC,OAAO;YACL,GAAG,KAAK;YACR,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,EAAE;YACxC,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE;SAC5B,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,MAAW,EACX,KAAqC;QAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;QAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,EAAE,EAAE,EAAE;gBACrD,KAAK,EAAE;oBACL,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC,CAAA;IACN,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export * from './models/Amber.js';
2
+ export * from './activities/AmberCreateTicketActivity.js';
3
+ export * from './activities/AmberCommentTicketActivity.js';
4
+ export * from './activities/AmberGetTicketActivity.js';
5
+ export * from './activities/AmberInteractTicketActivity.js';
6
+ export * from './activities/AmberTabulateTicketActivity.js';
7
+ export * from './activities/AmberTransferTicketActivity.js';
8
+ export * from './activities/AmberUpdateTicketActivity.js';
9
+ export * from './activities/AmberLockTicketActivity.js';
10
+ export * from './activities/AmberReleaseTicketLockActivity.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,2CAA2C,CAAA;AACzD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,wCAAwC,CAAA;AACtD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,gDAAgD,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ export * from './models/Amber.js';
2
+ export * from './activities/AmberCreateTicketActivity.js';
3
+ export * from './activities/AmberCommentTicketActivity.js';
4
+ export * from './activities/AmberGetTicketActivity.js';
5
+ export * from './activities/AmberInteractTicketActivity.js';
6
+ export * from './activities/AmberTabulateTicketActivity.js';
7
+ export * from './activities/AmberTransferTicketActivity.js';
8
+ export * from './activities/AmberUpdateTicketActivity.js';
9
+ export * from './activities/AmberLockTicketActivity.js';
10
+ export * from './activities/AmberReleaseTicketLockActivity.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,2CAA2C,CAAA;AACzD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,wCAAwC,CAAA;AACtD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,yCAAyC,CAAA;AACvD,cAAc,gDAAgD,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { type AmberCreateTicketActivityInput } from '../activities/AmberCreateTicketActivity.js';
2
+ import { type AmberGetTicketActivityInput } from '../activities/AmberGetTicketActivity.js';
3
+ export type AmberConfig = {
4
+ url: string;
5
+ tenant: string;
6
+ channel: string;
7
+ clientId: string;
8
+ clientSecret: string;
9
+ };
10
+ export declare class Amber {
11
+ #private;
12
+ constructor(config: AmberConfig);
13
+ createTicket(input: Omit<AmberCreateTicketActivityInput, 'auth' | 'url' | 'channel'>): Promise<Promise<import("./Ticket.js").Ticket>>;
14
+ getTicket(input: Omit<AmberGetTicketActivityInput, 'auth' | 'url'>): Promise<Promise<import("./Ticket.js").Ticket>>;
15
+ }
16
+ //# sourceMappingURL=Amber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Amber.d.ts","sourceRoot":"","sources":["../../src/models/Amber.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,yCAAyC,CAAA;AAahD,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAMD,qBAAa,KAAK;;gBAIJ,MAAM,EAAE,WAAW;IAYxB,YAAY,CACjB,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IAalE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,MAAM,GAAG,KAAK,CAAC;CAU1E"}
@@ -0,0 +1,42 @@
1
+ import { History } from '@t4h.framework/core';
2
+ import { AmberConnection } from './AmberConnection.js';
3
+ import { AmberCreateTicketActivity, } from '../activities/AmberCreateTicketActivity.js';
4
+ import { AmberGetTicketActivity, } from '../activities/AmberGetTicketActivity.js';
5
+ const CHANNEL_BASE_URL = 'v1/tenants/:safeTenantId/channels/:channel';
6
+ const getAmberUrl = (url, channel, tenant) => {
7
+ const channelUrl = CHANNEL_BASE_URL.replace(':safeTenantId', tenant).replace(':channel', channel);
8
+ return new URL(channelUrl, url);
9
+ };
10
+ const amberCreateTicketActivity = History.bind(AmberCreateTicketActivity);
11
+ const amberGetTicketActivity = History.bind(AmberGetTicketActivity);
12
+ export class Amber {
13
+ #config;
14
+ #connection;
15
+ constructor(config) {
16
+ this.#config = config;
17
+ const url = getAmberUrl(config.url, config.channel, config.tenant);
18
+ this.#connection = new AmberConnection(url.href, config.clientId, config.clientSecret);
19
+ }
20
+ createTicket(input) {
21
+ return amberCreateTicketActivity({
22
+ ...input,
23
+ channel: this.#config.channel,
24
+ auth: {
25
+ username: this.#config.clientId,
26
+ password: this.#config.clientSecret,
27
+ },
28
+ url: this.#connection.url,
29
+ });
30
+ }
31
+ getTicket(input) {
32
+ return amberGetTicketActivity({
33
+ ...input,
34
+ auth: {
35
+ username: this.#config.clientId,
36
+ password: this.#config.clientSecret,
37
+ },
38
+ url: this.#connection.url,
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=Amber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Amber.js","sourceRoot":"","sources":["../../src/models/Amber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,yBAAyB,GAE1B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAA;AAEhD,MAAM,gBAAgB,GAAG,4CAA4C,CAAA;AAErE,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,MAAc,EAAE,EAAE;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,OAAO,CAC1E,UAAU,EACV,OAAO,CACR,CAAA;IAED,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC,CAAA;AAUD,MAAM,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;AAEzE,MAAM,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;AAEnE,MAAM,OAAO,KAAK;IAChB,OAAO,CAAa;IACpB,WAAW,CAAiB;IAE5B,YAAY,MAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QAErB,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAElE,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CACpC,GAAG,CAAC,IAAI,EACR,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,CACpB,CAAA;IACH,CAAC;IAEM,YAAY,CACjB,KAAuE;QAEvE,OAAO,yBAAyB,CAAC;YAC/B,GAAG,KAAK;YACR,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;aACpC;YACD,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG;SAC1B,CAAC,CAAA;IACJ,CAAC;IAEM,SAAS,CAAC,KAAwD;QACvE,OAAO,sBAAsB,CAAC;YAC5B,GAAG,KAAK;YACR,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAC/B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;aACpC;YACD,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG;SAC1B,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export declare class AmberConnection {
2
+ readonly url: string;
3
+ readonly clientId: string;
4
+ readonly clientSecret: string;
5
+ constructor(url: string, clientId: string, clientSecret: string);
6
+ }
7
+ //# sourceMappingURL=AmberConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberConnection.d.ts","sourceRoot":"","sources":["../../src/models/AmberConnection.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;aAER,GAAG,EAAE,MAAM;aACX,QAAQ,EAAE,MAAM;aAChB,YAAY,EAAE,MAAM;gBAFpB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM;CAEvC"}
@@ -0,0 +1,11 @@
1
+ export class AmberConnection {
2
+ url;
3
+ clientId;
4
+ clientSecret;
5
+ constructor(url, clientId, clientSecret) {
6
+ this.url = url;
7
+ this.clientId = clientId;
8
+ this.clientSecret = clientSecret;
9
+ }
10
+ }
11
+ //# sourceMappingURL=AmberConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmberConnection.js","sourceRoot":"","sources":["../../src/models/AmberConnection.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAER;IACA;IACA;IAHlB,YACkB,GAAW,EACX,QAAgB,EAChB,YAAoB;QAFpB,QAAG,GAAH,GAAG,CAAQ;QACX,aAAQ,GAAR,QAAQ,CAAQ;QAChB,iBAAY,GAAZ,YAAY,CAAQ;IACnC,CAAC;CACL"}
@@ -0,0 +1,28 @@
1
+ import { type AmberCommentTicketActivityInput } from '../activities/AmberCommentTicketActivity.js';
2
+ import { type AmberInteractTicketActivityInput } from '../activities/AmberInteractTicketActivity.js';
3
+ import { type AmberLockTicketActivityInput } from '../activities/AmberLockTicketActivity.js';
4
+ import { type AmberTabulateTicketActivityInput } from '../activities/AmberTabulateTicketActivity.js';
5
+ import { AmberTransferTicketActivity, type AmberTransferTicketActivityInput } from '../activities/AmberTransferTicketActivity.js';
6
+ import { type AmberUpdateTicketActivityInput } from '../activities/AmberUpdateTicketActivity.js';
7
+ type Input<TInput> = Omit<TInput, 'auth' | 'url' | 'id'>;
8
+ type TicketConfig = {
9
+ clientId: string;
10
+ clientSecret: string;
11
+ url: string;
12
+ };
13
+ export declare class Ticket {
14
+ #private;
15
+ readonly id: string;
16
+ private readonly config;
17
+ constructor(id: string, config: TicketConfig);
18
+ tabulate(input: Input<AmberTabulateTicketActivityInput>): Promise<Promise<void>>;
19
+ transfer(input: Input<AmberTransferTicketActivityInput>): Promise<import("@t4h.framework/core").AsyncActivityAwaitable<AmberTransferTicketActivity>>;
20
+ comment(input: Input<AmberCommentTicketActivityInput>): Promise<Promise<void>>;
21
+ interact(input: Input<AmberInteractTicketActivityInput>): Promise<Promise<void>>;
22
+ finish(): Promise<Promise<void>>;
23
+ update(input: Input<AmberUpdateTicketActivityInput>): Promise<Promise<void>>;
24
+ lock(input: Input<AmberLockTicketActivityInput>): Promise<Promise<void>>;
25
+ releaseLock(): Promise<Promise<void>>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=Ticket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ticket.d.ts","sourceRoot":"","sources":["../../src/models/Ticket.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,0CAA0C,CAAA;AAEjD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,2BAA2B,EAC3B,KAAK,gCAAgC,EACtC,MAAM,8CAA8C,CAAA;AACrD,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,4CAA4C,CAAA;AAEnD,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,CAAA;AAkBxD,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,qBAAa,MAAM;;aAIC,EAAE,EAAE,MAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADP,EAAE,EAAE,MAAM,EACT,MAAM,EAAE,YAAY;IAShC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,gCAAgC,CAAC;IAYvD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,gCAAgC,CAAC;IAYvD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,+BAA+B,CAAC;IAYrD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,gCAAgC,CAAC;IAYvD,MAAM;IAcN,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,8BAA8B,CAAC;IAYnD,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,4BAA4B,CAAC;IAY/C,WAAW;CAUnB"}
@@ -0,0 +1,116 @@
1
+ import { History } from '@t4h.framework/core';
2
+ import { AmberConnection } from './AmberConnection.js';
3
+ import { AmberCommentTicketActivity, } from '../activities/AmberCommentTicketActivity.js';
4
+ import { AmberInteractTicketActivity, } from '../activities/AmberInteractTicketActivity.js';
5
+ import { AmberLockTicketActivity, } from '../activities/AmberLockTicketActivity.js';
6
+ import { AmberReleaseTicketLockActivity } from '../activities/AmberReleaseTicketLockActivity.js';
7
+ import { AmberTabulateTicketActivity, } from '../activities/AmberTabulateTicketActivity.js';
8
+ import { AmberTransferTicketActivity, } from '../activities/AmberTransferTicketActivity.js';
9
+ import { AmberUpdateTicketActivity, } from '../activities/AmberUpdateTicketActivity.js';
10
+ const amberTicketCommentActivity = History.bind(AmberCommentTicketActivity);
11
+ const amberUpdateTicketActivity = History.bind(AmberUpdateTicketActivity);
12
+ const amberTransferTicketActivity = History.bind(AmberTransferTicketActivity);
13
+ const amberTabulateTicketActivity = History.bind(AmberTabulateTicketActivity);
14
+ const amberInteractTicketActivity = History.bind(AmberInteractTicketActivity);
15
+ const amberLockTicketActivity = History.bind(AmberLockTicketActivity);
16
+ const amberReleaseTicketLockActivity = History.bind(AmberReleaseTicketLockActivity);
17
+ export class Ticket {
18
+ id;
19
+ config;
20
+ #connection;
21
+ constructor(id, config) {
22
+ this.id = id;
23
+ this.config = config;
24
+ this.#connection = new AmberConnection(config.url, config.clientId, config.clientSecret);
25
+ }
26
+ tabulate(input) {
27
+ return amberTabulateTicketActivity({
28
+ ...input,
29
+ id: this.id,
30
+ auth: {
31
+ username: this.#connection.clientId,
32
+ password: this.#connection.clientSecret,
33
+ },
34
+ url: this.#connection.url,
35
+ });
36
+ }
37
+ transfer(input) {
38
+ return amberTransferTicketActivity({
39
+ ...input,
40
+ id: this.id,
41
+ auth: {
42
+ username: this.#connection.clientId,
43
+ password: this.#connection.clientSecret,
44
+ },
45
+ url: this.#connection.url,
46
+ });
47
+ }
48
+ comment(input) {
49
+ return amberTicketCommentActivity({
50
+ ...input,
51
+ id: this.id,
52
+ auth: {
53
+ username: this.#connection.clientId,
54
+ password: this.#connection.clientSecret,
55
+ },
56
+ url: this.#connection.url,
57
+ });
58
+ }
59
+ interact(input) {
60
+ return amberInteractTicketActivity({
61
+ ...input,
62
+ id: this.id,
63
+ auth: {
64
+ username: this.#connection.clientId,
65
+ password: this.#connection.clientSecret,
66
+ },
67
+ url: this.#connection.url,
68
+ });
69
+ }
70
+ finish() {
71
+ return amberUpdateTicketActivity({
72
+ input: {
73
+ status: 'finished',
74
+ },
75
+ id: this.id,
76
+ auth: {
77
+ username: this.#connection.clientId,
78
+ password: this.#connection.clientSecret,
79
+ },
80
+ url: this.#connection.url,
81
+ });
82
+ }
83
+ update(input) {
84
+ return amberUpdateTicketActivity({
85
+ ...input,
86
+ id: this.id,
87
+ auth: {
88
+ username: this.#connection.clientId,
89
+ password: this.#connection.clientSecret,
90
+ },
91
+ url: this.#connection.url,
92
+ });
93
+ }
94
+ lock(input) {
95
+ return amberLockTicketActivity({
96
+ ...input,
97
+ id: this.id,
98
+ auth: {
99
+ username: this.#connection.clientId,
100
+ password: this.#connection.clientSecret,
101
+ },
102
+ url: this.#connection.url,
103
+ });
104
+ }
105
+ releaseLock() {
106
+ return amberReleaseTicketLockActivity({
107
+ id: this.id,
108
+ auth: {
109
+ username: this.#connection.clientId,
110
+ password: this.#connection.clientSecret,
111
+ },
112
+ url: this.#connection.url,
113
+ });
114
+ }
115
+ }
116
+ //# sourceMappingURL=Ticket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Ticket.js","sourceRoot":"","sources":["../../src/models/Ticket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ServiceStatus } from './ServiceTicket.js';
2
+ export type ServiceTabulationNoteInput = {
3
+ type: 'public' | 'private';
4
+ content: string;
5
+ };
6
+ export type ServiceTabulationInput = {
7
+ tabulationOption: string;
8
+ isInformative?: boolean;
9
+ status?: ServiceStatus;
10
+ notes?: ServiceTabulationNoteInput[];
11
+ disableChannelCommunication?: boolean;
12
+ };
13
+ //# sourceMappingURL=ServiceTabulate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTabulate.d.ts","sourceRoot":"","sources":["../../src/types/ServiceTabulate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,KAAK,CAAC,EAAE,0BAA0B,EAAE,CAAA;IACpC,2BAA2B,CAAC,EAAE,OAAO,CAAA;CACtC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServiceTabulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTabulate.js","sourceRoot":"","sources":["../../src/types/ServiceTabulate.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ import type { Binary } from '@t4h.framework/core';
2
+ import type { ServiceTicketLockInput } from './ServiceTicketLock.js';
3
+ export type CustomerInput = {
4
+ isOwner: boolean;
5
+ type: string;
6
+ refs?: Record<string, string>;
7
+ metadata?: Record<string, string>;
8
+ };
9
+ export type ServiceTicketAttachmentFileInput = {
10
+ file: Binary;
11
+ };
12
+ export type ServiceTicketAttachmentVersionStatus = 'new' | 'approved' | 'rejected' | 'requested' | 'sent';
13
+ export type ServiceTicketAttachmentInput = {
14
+ title: string;
15
+ files: ServiceTicketAttachmentFileInput[];
16
+ status?: ServiceTicketAttachmentVersionStatus;
17
+ versionOf?: string;
18
+ };
19
+ export type ServiceType = 'ticket';
20
+ export type ServiceStatus = 'idle' | 'in-queue' | 'in-attendance' | 'finished';
21
+ export type ServiceInput<T extends ServiceType> = {
22
+ type: T;
23
+ channel: string;
24
+ status?: ServiceStatus;
25
+ attributes?: Record<string, string>;
26
+ refs?: Record<string, string>;
27
+ customers: CustomerInput[];
28
+ metadata?: Record<string, string>;
29
+ };
30
+ export type ServiceTicketFieldValue = {
31
+ name: string;
32
+ value: string | number | boolean | null;
33
+ contentType?: string | null;
34
+ };
35
+ export type ServiceTicketField = {
36
+ [key: string]: ServiceTicketFieldValue;
37
+ };
38
+ export type ServiceTicketInput = ServiceInput<'ticket'> & {
39
+ protocol: string;
40
+ attachments?: ServiceTicketAttachmentInput[];
41
+ skill: string;
42
+ fields?: ServiceTicketField[];
43
+ tabulationOption: string;
44
+ lock?: Omit<ServiceTicketLockInput, 'ref' | 'expiresAt'> | true;
45
+ };
46
+ //# sourceMappingURL=ServiceTicket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicket.d.ts","sourceRoot":"","sources":["../../src/types/ServiceTicket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAEpE,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,oCAAoC,GAC5C,KAAK,GACL,UAAU,GACV,UAAU,GACV,WAAW,GACX,MAAM,CAAA;AAEV,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,gCAAgC,EAAE,CAAA;IACzC,MAAM,CAAC,EAAE,oCAAoC,CAAA;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAA;AAElC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,eAAe,GAAG,UAAU,CAAA;AAE9E,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,WAAW,IAAI;IAChD,IAAI,EAAE,CAAC,CAAA;IACP,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,WAAW,CAAC,GAAG,IAAI,CAAA;CAChE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServiceTicket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicket.js","sourceRoot":"","sources":["../../src/types/ServiceTicket.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export type ServiceTicketCommentInput = {
2
+ type: 'public' | 'private';
3
+ content: string;
4
+ sendByEmailTo?: string;
5
+ };
6
+ //# sourceMappingURL=ServiceTicketComment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketComment.d.ts","sourceRoot":"","sources":["../../src/types/ServiceTicketComment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServiceTicketComment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketComment.js","sourceRoot":"","sources":["../../src/types/ServiceTicketComment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import type { ServiceTicketAttachmentInput } from './ServiceTicket.js';
2
+ type ServiceTicketInteractionServiceCustomerInput = {
3
+ metadata?: Record<string, string>;
4
+ refs: Record<string, string>;
5
+ };
6
+ type ServiceTicketInteractionWithContent = {
7
+ type?: string;
8
+ content: string;
9
+ contentType: 'text/plain' | 'text/markdown';
10
+ attachments?: ServiceTicketAttachmentInput[];
11
+ metadata?: Record<string, string>;
12
+ customer?: ServiceTicketInteractionServiceCustomerInput | null;
13
+ };
14
+ type ServiceTicketInteractionWithAttachments = {
15
+ type?: string;
16
+ content: null;
17
+ contentType: null;
18
+ attachments: [ServiceTicketAttachmentInput, ...ServiceTicketAttachmentInput[]];
19
+ metadata?: Record<string, string>;
20
+ customer?: ServiceTicketInteractionServiceCustomerInput | null;
21
+ };
22
+ export type ServiceTicketInteractionInput = ServiceTicketInteractionWithContent | ServiceTicketInteractionWithAttachments;
23
+ export {};
24
+ //# sourceMappingURL=ServiceTicketInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketInteraction.d.ts","sourceRoot":"","sources":["../../src/types/ServiceTicketInteraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AAEtE,KAAK,4CAA4C,GAAG;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B,CAAA;AAED,KAAK,mCAAmC,GAAG;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,YAAY,GAAG,eAAe,CAAA;IAC3C,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,4CAA4C,GAAG,IAAI,CAAA;CAC/D,CAAA;AAED,KAAK,uCAAuC,GAAG;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,IAAI,CAAA;IACb,WAAW,EAAE,IAAI,CAAA;IACjB,WAAW,EAAE,CAAC,4BAA4B,EAAE,GAAG,4BAA4B,EAAE,CAAC,CAAA;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,QAAQ,CAAC,EAAE,4CAA4C,GAAG,IAAI,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,6BAA6B,GACrC,mCAAmC,GACnC,uCAAuC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServiceTicketInteraction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketInteraction.js","sourceRoot":"","sources":["../../src/types/ServiceTicketInteraction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type ServiceTicketLockInput = {
2
+ ref: string;
3
+ expiresAt?: Date;
4
+ title?: string;
5
+ metadata?: Record<string, string>;
6
+ };
7
+ //# sourceMappingURL=ServiceTicketLock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketLock.d.ts","sourceRoot":"","sources":["../../src/types/ServiceTicketLock.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ServiceTicketLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTicketLock.js","sourceRoot":"","sources":["../../src/types/ServiceTicketLock.ts"],"names":[],"mappings":""}