@dossier-wiki/cloud-sdk 0.1.0 → 0.2.0-staging.568b313
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.
- package/README.md +697 -46
- package/dist/cjs/api.js +34 -0
- package/dist/cjs/api.js.map +1 -0
- package/dist/cjs/error.js +29 -0
- package/dist/cjs/error.js.map +1 -0
- package/dist/cjs/http.js +75 -0
- package/dist/cjs/http.js.map +1 -0
- package/dist/cjs/index.js +48 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/resources/aml.js +88 -0
- package/dist/cjs/resources/aml.js.map +1 -0
- package/dist/cjs/resources/documents.js +170 -0
- package/dist/cjs/resources/documents.js.map +1 -0
- package/dist/cjs/resources/form-templates.js +117 -0
- package/dist/cjs/resources/form-templates.js.map +1 -0
- package/dist/cjs/resources/kyc/index.js +32 -0
- package/dist/cjs/resources/kyc/index.js.map +1 -0
- package/dist/cjs/resources/kyc/sessions.js +103 -0
- package/dist/cjs/resources/kyc/sessions.js.map +1 -0
- package/dist/cjs/resources/kyc/workflows.js +150 -0
- package/dist/cjs/resources/kyc/workflows.js.map +1 -0
- package/dist/cjs/resources/media.js +62 -0
- package/dist/cjs/resources/media.js.map +1 -0
- package/dist/cjs/schemas/index.js +9 -0
- package/dist/cjs/schemas/index.js.map +1 -0
- package/dist/cjs/schemas/kyc/workflow-steps.js +145 -0
- package/dist/cjs/schemas/kyc/workflow-steps.js.map +1 -0
- package/dist/cjs/service.js +132 -0
- package/dist/cjs/service.js.map +1 -0
- package/dist/cjs/session.js +379 -0
- package/dist/cjs/session.js.map +1 -0
- package/dist/cjs/types.js +36 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/webhooks.js +93 -0
- package/dist/cjs/webhooks.js.map +1 -0
- package/dist/esm/api.js +33 -0
- package/dist/esm/api.js.map +1 -0
- package/dist/esm/error.js +25 -0
- package/dist/esm/error.js.map +1 -0
- package/dist/esm/http.js +71 -0
- package/dist/esm/http.js.map +1 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/resources/aml.js +84 -0
- package/dist/esm/resources/aml.js.map +1 -0
- package/dist/esm/resources/documents.js +166 -0
- package/dist/esm/resources/documents.js.map +1 -0
- package/dist/esm/resources/form-templates.js +113 -0
- package/dist/esm/resources/form-templates.js.map +1 -0
- package/dist/esm/resources/kyc/index.js +26 -0
- package/dist/esm/resources/kyc/index.js.map +1 -0
- package/dist/esm/resources/kyc/sessions.js +99 -0
- package/dist/esm/resources/kyc/sessions.js.map +1 -0
- package/dist/esm/resources/kyc/workflows.js +146 -0
- package/dist/esm/resources/kyc/workflows.js.map +1 -0
- package/dist/esm/resources/media.js +58 -0
- package/dist/esm/resources/media.js.map +1 -0
- package/dist/esm/schemas/index.js +2 -0
- package/dist/esm/schemas/index.js.map +1 -0
- package/dist/esm/schemas/kyc/workflow-steps.js +142 -0
- package/dist/esm/schemas/kyc/workflow-steps.js.map +1 -0
- package/dist/esm/service.js +127 -0
- package/dist/esm/service.js.map +1 -0
- package/dist/esm/session.js +375 -0
- package/dist/esm/session.js.map +1 -0
- package/dist/{types.js → esm/types.js} +11 -27
- package/dist/esm/types.js.map +1 -0
- package/dist/{webhooks.js → esm/webhooks.js} +10 -11
- package/dist/esm/webhooks.js.map +1 -0
- package/dist/{api.d.ts → types/api.d.ts} +297 -166
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/error.d.ts +24 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/http.d.ts +17 -0
- package/dist/types/http.d.ts.map +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/resources/aml.d.ts +79 -0
- package/dist/types/resources/aml.d.ts.map +1 -0
- package/dist/types/resources/documents.d.ts +153 -0
- package/dist/types/resources/documents.d.ts.map +1 -0
- package/dist/types/resources/form-templates.d.ts +104 -0
- package/dist/types/resources/form-templates.d.ts.map +1 -0
- package/dist/types/resources/kyc/index.d.ts +34 -0
- package/dist/types/resources/kyc/index.d.ts.map +1 -0
- package/dist/types/resources/kyc/sessions.d.ts +92 -0
- package/dist/types/resources/kyc/sessions.d.ts.map +1 -0
- package/dist/types/resources/kyc/workflows.d.ts +135 -0
- package/dist/types/resources/kyc/workflows.d.ts.map +1 -0
- package/dist/types/resources/media.d.ts +56 -0
- package/dist/types/resources/media.d.ts.map +1 -0
- package/dist/types/schemas/index.d.ts +3 -0
- package/dist/types/schemas/index.d.ts.map +1 -0
- package/dist/types/schemas/kyc/workflow-steps.d.ts +5113 -0
- package/dist/types/schemas/kyc/workflow-steps.d.ts.map +1 -0
- package/dist/types/service.d.ts +143 -0
- package/dist/types/service.d.ts.map +1 -0
- package/dist/types/session.d.ts +176 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/{types.d.ts → types/types.d.ts} +100 -2
- package/dist/types/types.d.ts.map +1 -0
- package/dist/{webhooks.d.ts → types/webhooks.d.ts} +5 -5
- package/dist/types/webhooks.d.ts.map +1 -0
- package/package.json +26 -32
- package/dist/api.d.ts.map +0 -1
- package/dist/api.js +0 -22
- package/dist/api.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +0 -1
- package/dist/service.d.ts +0 -39
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -150
- package/dist/service.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/webhooks.d.ts.map +0 -1
- package/dist/webhooks.js.map +0 -1
- package/docs/REFERENCE.md +0 -114
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KycSessionsResource = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* KYC session management — create and manage customer verification sessions.
|
|
6
|
+
*
|
|
7
|
+
* Access via `service.kyc.sessions`.
|
|
8
|
+
*
|
|
9
|
+
* A KYC session represents a single customer verification journey. When created,
|
|
10
|
+
* the customer receives a `sessionUrl` they visit to complete the configured
|
|
11
|
+
* workflow steps (identity verification, liveness, form collection, etc.).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const { session, sessionUrl, token } = await service.kyc.sessions.create({
|
|
16
|
+
* customer: { name: 'Nimal Perera', email: 'nimal@example.com' },
|
|
17
|
+
* workflowId: 'wf_abc123',
|
|
18
|
+
* });
|
|
19
|
+
* // Send sessionUrl to the customer
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
class KycSessionsResource {
|
|
23
|
+
/** @internal */
|
|
24
|
+
constructor(http) {
|
|
25
|
+
this.http = http;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a new KYC session for a customer.
|
|
29
|
+
*
|
|
30
|
+
* If `customer.email` and `customer.name` are both provided, an invitation
|
|
31
|
+
* email with the session link is automatically sent to the customer.
|
|
32
|
+
*
|
|
33
|
+
* @param input - Session configuration: customer details, expiry, workflow ID.
|
|
34
|
+
* @returns The created session, a short-lived customer access `token`, and the `sessionUrl`.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* const { session, sessionUrl } = await service.kyc.sessions.create({
|
|
39
|
+
* customer: { name: 'Alice Brown', email: 'alice@example.com', externalId: 'cust_001' },
|
|
40
|
+
* workflowId: 'wf_standard_kyc',
|
|
41
|
+
* expiresInMs: 86_400_000, // 24 hours
|
|
42
|
+
* });
|
|
43
|
+
* await sendEmail(session.customer.email, sessionUrl);
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
create(input) {
|
|
47
|
+
return this.http.request('POST', '/kyc-sessions', { body: input });
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* List KYC sessions for your organization with optional filtering and pagination.
|
|
51
|
+
*
|
|
52
|
+
* @param filters - Optional query filters: `searchQuery`, `checkpoint`, `status`,
|
|
53
|
+
* `isComplete`, `isInvalid`, date ranges, and sort/pagination options.
|
|
54
|
+
* @returns A paginated list of sessions with `totalCount`.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const { sessions, totalCount } = await service.kyc.sessions.list({
|
|
59
|
+
* isComplete: true,
|
|
60
|
+
* sortBy: 'completedAt',
|
|
61
|
+
* sortOrder: 'desc',
|
|
62
|
+
* limit: 50,
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
list(filters = {}) {
|
|
67
|
+
return this.http.request('GET', '/kyc-sessions', { query: filters });
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Retrieve a single KYC session by ID.
|
|
71
|
+
*
|
|
72
|
+
* The response includes the full session state, per-step submission history,
|
|
73
|
+
* signed media URLs, and the admin decision record if one has been made.
|
|
74
|
+
*
|
|
75
|
+
* @param id - The session ID.
|
|
76
|
+
* @returns The full session output.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* const session = await service.kyc.sessions.get('ses_abc123');
|
|
81
|
+
* console.log(session.status); // 'complete' | 'in-progress' | ...
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
get(id) {
|
|
85
|
+
return this.http.request('GET', `/kyc-sessions/${encodeURIComponent(id)}`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Delete a KYC session and all associated data.
|
|
89
|
+
*
|
|
90
|
+
* @param id - The session ID to delete.
|
|
91
|
+
* @returns A success confirmation.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```ts
|
|
95
|
+
* const { success } = await service.kyc.sessions.delete('ses_abc123');
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
delete(id) {
|
|
99
|
+
return this.http.request('DELETE', `/kyc-sessions/${encodeURIComponent(id)}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.KycSessionsResource = KycSessionsResource;
|
|
103
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../../src/resources/kyc/sessions.ts"],"names":[],"mappings":";;;AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,mBAAmB;IAC5B,gBAAgB;IAChB,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAA0B;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,UAAgC,EAAE;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG,CAAC,EAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;CACJ;AAjFD,kDAiFC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KycWorkflowsResource = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* KYC workflow management — define the ordered steps customers go through
|
|
6
|
+
* during a verification session.
|
|
7
|
+
*
|
|
8
|
+
* Access via `service.kyc.workflows`.
|
|
9
|
+
*
|
|
10
|
+
* A workflow is a reusable template of verification steps (e.g. identity
|
|
11
|
+
* verification → liveness → form collection). Each step has a type, routing
|
|
12
|
+
* rules, and an optional config that controls its behavior. When creating a
|
|
13
|
+
* session, you reference a workflow ID to apply that step sequence.
|
|
14
|
+
*
|
|
15
|
+
* Use {@link stepDefaults} to fetch pre-built step configurations for each
|
|
16
|
+
* step type before building your workflow.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const defaults = await service.kyc.workflows.stepDefaults();
|
|
21
|
+
* const idStep = defaults.find(d => d.type === 'id_verification');
|
|
22
|
+
*
|
|
23
|
+
* const workflow = await service.kyc.workflows.create({
|
|
24
|
+
* name: 'Standard KYC',
|
|
25
|
+
* steps: [
|
|
26
|
+
* {
|
|
27
|
+
* stepId: idStep.defaultStepId,
|
|
28
|
+
* type: 'id_verification',
|
|
29
|
+
* input: idStep.defaultInput,
|
|
30
|
+
* output: { schema: idStep.schema },
|
|
31
|
+
* rules: idStep.defaultRules as WorkflowRules,
|
|
32
|
+
* locales: idStep.defaultLocales,
|
|
33
|
+
* skippable: idStep.skippable,
|
|
34
|
+
* },
|
|
35
|
+
* ],
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
class KycWorkflowsResource {
|
|
40
|
+
/** @internal */
|
|
41
|
+
constructor(http) {
|
|
42
|
+
this.http = http;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create a new KYC workflow.
|
|
46
|
+
*
|
|
47
|
+
* Use the {@link schemas.CreateWorkflowSchema} Zod schema to validate your
|
|
48
|
+
* input before calling this method — it enforces the discriminated-union
|
|
49
|
+
* constraint on each step's `type` and `input.config`.
|
|
50
|
+
*
|
|
51
|
+
* @param input - Workflow name, description, and ordered array of steps.
|
|
52
|
+
* @returns The created workflow.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* import { schemas } from '@dossier-wiki/cloud-sdk';
|
|
57
|
+
*
|
|
58
|
+
* const parsed = schemas.CreateWorkflowSchema.parse(rawInput);
|
|
59
|
+
* const workflow = await service.kyc.workflows.create(parsed);
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
create(input) {
|
|
63
|
+
return this.http.request('POST', '/kyc-workflows', { body: input });
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* List all KYC workflows available to your organization (own + public).
|
|
67
|
+
*
|
|
68
|
+
* @returns An array of workflows.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* const workflows = await service.kyc.workflows.list();
|
|
73
|
+
* workflows.forEach(wf => console.log(wf.id, wf.name, wf.version));
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
list() {
|
|
77
|
+
return this.http.request('GET', '/kyc-workflows');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Retrieve a single KYC workflow by ID.
|
|
81
|
+
*
|
|
82
|
+
* @param id - The workflow ID.
|
|
83
|
+
* @returns The full workflow including all steps.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* const wf = await service.kyc.workflows.get('wf_abc123');
|
|
88
|
+
* console.log(wf.steps.map(s => s.type));
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
get(id) {
|
|
92
|
+
return this.http.request('GET', `/kyc-workflows/${encodeURIComponent(id)}`);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Update an existing KYC workflow.
|
|
96
|
+
*
|
|
97
|
+
* Updating a workflow creates a new version — existing sessions referencing
|
|
98
|
+
* the old version are not affected.
|
|
99
|
+
*
|
|
100
|
+
* @param id - The workflow ID to update.
|
|
101
|
+
* @param input - Fields to update (all optional).
|
|
102
|
+
* @returns The updated workflow.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* const updated = await service.kyc.workflows.update('wf_abc123', {
|
|
107
|
+
* name: 'Enhanced KYC v2',
|
|
108
|
+
* });
|
|
109
|
+
* console.log(updated.version); // incremented
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
update(id, input) {
|
|
113
|
+
return this.http.request('PUT', `/kyc-workflows/${encodeURIComponent(id)}`, { body: input });
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Delete a KYC workflow.
|
|
117
|
+
*
|
|
118
|
+
* Only the owning organization can delete a workflow. Workflows referenced
|
|
119
|
+
* by active sessions cannot be deleted.
|
|
120
|
+
*
|
|
121
|
+
* @param id - The workflow ID to delete.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* await service.kyc.workflows.delete('wf_old123');
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
delete(id) {
|
|
129
|
+
return this.http.request('DELETE', `/kyc-workflows/${encodeURIComponent(id)}`);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the default configuration for every available step type.
|
|
133
|
+
*
|
|
134
|
+
* Use this to bootstrap a new workflow — each default includes the step's
|
|
135
|
+
* suggested `input`, `rules`, `locales`, and output `schema`.
|
|
136
|
+
*
|
|
137
|
+
* @returns An array of step defaults, one per step type.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const defaults = await service.kyc.workflows.stepDefaults();
|
|
142
|
+
* const livenessDefault = defaults.find(d => d.type === 'liveness');
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
stepDefaults() {
|
|
146
|
+
return this.http.request('GET', '/kyc-workflows/step-defaults');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.KycWorkflowsResource = KycWorkflowsResource;
|
|
150
|
+
//# sourceMappingURL=workflows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../../src/resources/kyc/workflows.ts"],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAa,oBAAoB;IAC7B,gBAAgB;IAChB,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,KAA6B;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,EAAU,EAAE,KAA6B;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IACpE,CAAC;CACJ;AAjHD,oDAiHC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MediaResource = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Signed media file access.
|
|
6
|
+
*
|
|
7
|
+
* Access via `service.media`.
|
|
8
|
+
*
|
|
9
|
+
* Media tokens are short-lived signed URLs embedded in session results, document
|
|
10
|
+
* processing instances, and submission records. Pass the token to {@link get}
|
|
11
|
+
* to stream the original file bytes.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* // Extract a media token from a session step submission
|
|
16
|
+
* const token = session.result.steps[0].summary?.media[0]?.key;
|
|
17
|
+
* if (token) {
|
|
18
|
+
* const res = await service.media.get(token);
|
|
19
|
+
* const blob = await res.blob();
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
class MediaResource {
|
|
24
|
+
/** @internal */
|
|
25
|
+
constructor(http) {
|
|
26
|
+
this.http = http;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Fetch a signed media file by its storage token.
|
|
30
|
+
*
|
|
31
|
+
* Returns the raw `Response` so the caller can stream or buffer the binary
|
|
32
|
+
* payload — e.g. save to disk, pipe to an upload, or convert to a `Blob`.
|
|
33
|
+
*
|
|
34
|
+
* Tokens are single-use and expire after a short window. Fetch the token
|
|
35
|
+
* from a session result or document processing instance immediately before
|
|
36
|
+
* calling this method.
|
|
37
|
+
*
|
|
38
|
+
* @param token - The signed media token from a session or processing result.
|
|
39
|
+
* @param init - Optional fetch init options (e.g. `signal` for cancellation).
|
|
40
|
+
* @returns The raw `Response` with binary body.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* const res = await service.media.get(token);
|
|
45
|
+
* if (!res.ok) throw new Error(`Media fetch failed: ${res.status}`);
|
|
46
|
+
*
|
|
47
|
+
* // Save to disk (Node.js)
|
|
48
|
+
* const { Writable } = await import('stream');
|
|
49
|
+
* const dest = createWriteStream('./document-front.jpg');
|
|
50
|
+
* Readable.fromWeb(res.body!).pipe(dest);
|
|
51
|
+
*
|
|
52
|
+
* // Convert to Blob (browser)
|
|
53
|
+
* const blob = await res.blob();
|
|
54
|
+
* const url = URL.createObjectURL(blob);
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
get(token, init) {
|
|
58
|
+
return this.http.stream(`/media/${encodeURIComponent(token)}`, '*/*', init);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.MediaResource = MediaResource;
|
|
62
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/resources/media.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,aAAa;IACtB,gBAAgB;IAChB,YAA6B,IAAkB;QAAlB,SAAI,GAAJ,IAAI,CAAc;IAAG,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,GAAG,CAAC,KAAa,EAAE,IAAkB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;CACJ;AApCD,sCAoCC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateWorkflowSchema = exports.CreateWorkflowSchema = exports.KycStepTypeSchema = exports.WorkflowStepSchema = void 0;
|
|
4
|
+
var workflow_steps_js_1 = require("./kyc/workflow-steps.js");
|
|
5
|
+
Object.defineProperty(exports, "WorkflowStepSchema", { enumerable: true, get: function () { return workflow_steps_js_1.WorkflowStepSchema; } });
|
|
6
|
+
Object.defineProperty(exports, "KycStepTypeSchema", { enumerable: true, get: function () { return workflow_steps_js_1.KycStepTypeSchema; } });
|
|
7
|
+
Object.defineProperty(exports, "CreateWorkflowSchema", { enumerable: true, get: function () { return workflow_steps_js_1.CreateWorkflowSchema; } });
|
|
8
|
+
Object.defineProperty(exports, "UpdateWorkflowSchema", { enumerable: true, get: function () { return workflow_steps_js_1.UpdateWorkflowSchema; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/index.ts"],"names":[],"mappings":";;;AAAA,6DAKiC;AAJ7B,uHAAA,kBAAkB,OAAA;AAClB,sHAAA,iBAAiB,OAAA;AACjB,yHAAA,oBAAoB,OAAA;AACpB,yHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateWorkflowSchema = exports.CreateWorkflowSchema = exports.WorkflowStepSchema = exports.KycStepTypeSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.KycStepTypeSchema = zod_1.z.enum([
|
|
6
|
+
'id_verification',
|
|
7
|
+
'document_collection',
|
|
8
|
+
'liveness',
|
|
9
|
+
'form_collection',
|
|
10
|
+
'esignature',
|
|
11
|
+
'action',
|
|
12
|
+
]);
|
|
13
|
+
const WorkflowRulesSchema = zod_1.z.object({
|
|
14
|
+
onSuccess: zod_1.z.string(), // stepId | 'COMPLETE_SESSION'
|
|
15
|
+
onFailure: zod_1.z.string(), // stepId | 'FAIL_SESSION'
|
|
16
|
+
conditions: zod_1.z
|
|
17
|
+
.array(zod_1.z.object({
|
|
18
|
+
variable: zod_1.z.string(),
|
|
19
|
+
operator: zod_1.z.enum(['gt', 'lt', 'eq', 'neq']),
|
|
20
|
+
value: zod_1.z.unknown(),
|
|
21
|
+
targetStepId: zod_1.z.string(),
|
|
22
|
+
}))
|
|
23
|
+
.optional(),
|
|
24
|
+
});
|
|
25
|
+
const InputMappingSchema = zod_1.z.object({
|
|
26
|
+
target: zod_1.z.string(),
|
|
27
|
+
sourceStepId: zod_1.z.string(),
|
|
28
|
+
sourcePath: zod_1.z.string(),
|
|
29
|
+
});
|
|
30
|
+
const DocumentTypeOptionSchema = zod_1.z
|
|
31
|
+
.object({
|
|
32
|
+
id: zod_1.z.string(),
|
|
33
|
+
typeId: zod_1.z.string(),
|
|
34
|
+
name: zod_1.z.string(),
|
|
35
|
+
kind: zod_1.z.string().nullish(),
|
|
36
|
+
category: zod_1.z.string().nullish(),
|
|
37
|
+
captureProfile: zod_1.z
|
|
38
|
+
.object({ method: zod_1.z.string(), layout: zod_1.z.string() })
|
|
39
|
+
.partial()
|
|
40
|
+
.passthrough()
|
|
41
|
+
.nullish(),
|
|
42
|
+
acceptedMimeTypes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
43
|
+
})
|
|
44
|
+
.passthrough();
|
|
45
|
+
const AllowedDocumentsSchema = zod_1.z.record(zod_1.z.array(DocumentTypeOptionSchema).min(1));
|
|
46
|
+
const IdVerificationConfigSchema = zod_1.z.object({
|
|
47
|
+
strategy: zod_1.z
|
|
48
|
+
.enum(['document_based', 'aadhaar_otp', 'nfc'])
|
|
49
|
+
.default('document_based'),
|
|
50
|
+
allowedDocuments: AllowedDocumentsSchema.optional(),
|
|
51
|
+
maxSubmissions: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(3), zod_1.z.literal(4), zod_1.z.literal(7)]).optional(),
|
|
52
|
+
allowUpload: zod_1.z.boolean().optional().default(true),
|
|
53
|
+
});
|
|
54
|
+
const DocumentCollectionConfigSchema = zod_1.z.object({
|
|
55
|
+
allowedDocuments: AllowedDocumentsSchema.optional(),
|
|
56
|
+
allowUpload: zod_1.z.boolean().optional().default(true),
|
|
57
|
+
maxSubmissions: zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(3), zod_1.z.literal(4), zod_1.z.literal(7)]).optional(),
|
|
58
|
+
});
|
|
59
|
+
const LivenessConfigSchema = zod_1.z.object({
|
|
60
|
+
challengeType: zod_1.z.enum(['selfie', 'distance']).optional(),
|
|
61
|
+
timeLimitSeconds: zod_1.z.number().min(5).max(120).optional(),
|
|
62
|
+
minFaceLuminance: zod_1.z.number().min(0).max(255).optional(),
|
|
63
|
+
minFaceDetectionConfidence: zod_1.z.number().min(0).max(1).optional(),
|
|
64
|
+
});
|
|
65
|
+
const FormFieldSchema = zod_1.z.object({
|
|
66
|
+
id: zod_1.z.string(),
|
|
67
|
+
label: zod_1.z.string(),
|
|
68
|
+
type: zod_1.z.enum([
|
|
69
|
+
'text', 'long_text', 'number', 'currency', 'country', 'language',
|
|
70
|
+
'email', 'phone', 'date', 'select', 'multi_select', 'dropdown',
|
|
71
|
+
'toggle', 'boolean', 'file', 'heading', 'paragraph', 'description', 'divider',
|
|
72
|
+
]),
|
|
73
|
+
placeholder: zod_1.z.string().optional(),
|
|
74
|
+
helpText: zod_1.z.string().optional(),
|
|
75
|
+
required: zod_1.z.boolean().optional(),
|
|
76
|
+
content: zod_1.z.string().optional(),
|
|
77
|
+
consentText: zod_1.z.string().optional(),
|
|
78
|
+
defaultValue: zod_1.z.unknown().optional(),
|
|
79
|
+
options: zod_1.z.array(zod_1.z.object({ label: zod_1.z.string(), value: zod_1.z.string() })).optional(),
|
|
80
|
+
validation: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
81
|
+
});
|
|
82
|
+
const FormCollectionConfigSchema = zod_1.z.object({
|
|
83
|
+
templateId: zod_1.z.string().nullable().optional(),
|
|
84
|
+
fields: zod_1.z.array(FormFieldSchema).optional(),
|
|
85
|
+
});
|
|
86
|
+
const EsignatureConfigSchema = zod_1.z.object({
|
|
87
|
+
signatureTypesAllowed: zod_1.z.array(zod_1.z.enum(['draw', 'upload'])).min(1),
|
|
88
|
+
});
|
|
89
|
+
const ActionConfigSchema = zod_1.z.object({
|
|
90
|
+
actionType: zod_1.z.enum(['SEND_WEBHOOK', 'EMAIL_USER', 'NOTIFY_COMPLIANCE']),
|
|
91
|
+
});
|
|
92
|
+
// Base fields shared by all step variants
|
|
93
|
+
const baseStep = {
|
|
94
|
+
stepId: zod_1.z.string(),
|
|
95
|
+
rules: WorkflowRulesSchema,
|
|
96
|
+
output: zod_1.z.object({ schema: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional() }),
|
|
97
|
+
skippable: zod_1.z.boolean().optional(),
|
|
98
|
+
locales: zod_1.z.record(zod_1.z.string(), zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())).optional(),
|
|
99
|
+
};
|
|
100
|
+
const baseInput = {
|
|
101
|
+
mapping: zod_1.z.array(InputMappingSchema).optional(),
|
|
102
|
+
};
|
|
103
|
+
// Discriminated union — each variant narrows input.config to the step-specific type
|
|
104
|
+
exports.WorkflowStepSchema = zod_1.z.discriminatedUnion('type', [
|
|
105
|
+
zod_1.z.object({
|
|
106
|
+
...baseStep,
|
|
107
|
+
type: zod_1.z.literal('id_verification'),
|
|
108
|
+
input: zod_1.z.object({ ...baseInput, config: IdVerificationConfigSchema.optional() }),
|
|
109
|
+
}),
|
|
110
|
+
zod_1.z.object({
|
|
111
|
+
...baseStep,
|
|
112
|
+
type: zod_1.z.literal('document_collection'),
|
|
113
|
+
input: zod_1.z.object({ ...baseInput, config: DocumentCollectionConfigSchema.optional() }),
|
|
114
|
+
}),
|
|
115
|
+
zod_1.z.object({
|
|
116
|
+
...baseStep,
|
|
117
|
+
type: zod_1.z.literal('liveness'),
|
|
118
|
+
input: zod_1.z.object({ ...baseInput, config: LivenessConfigSchema.optional() }),
|
|
119
|
+
}),
|
|
120
|
+
zod_1.z.object({
|
|
121
|
+
...baseStep,
|
|
122
|
+
type: zod_1.z.literal('form_collection'),
|
|
123
|
+
input: zod_1.z.object({ ...baseInput, config: FormCollectionConfigSchema.optional() }),
|
|
124
|
+
}),
|
|
125
|
+
zod_1.z.object({
|
|
126
|
+
...baseStep,
|
|
127
|
+
type: zod_1.z.literal('esignature'),
|
|
128
|
+
input: zod_1.z.object({ ...baseInput, config: EsignatureConfigSchema.optional() }),
|
|
129
|
+
}),
|
|
130
|
+
zod_1.z.object({
|
|
131
|
+
...baseStep,
|
|
132
|
+
type: zod_1.z.literal('action'),
|
|
133
|
+
input: zod_1.z.object({ ...baseInput, config: ActionConfigSchema.optional() }),
|
|
134
|
+
}),
|
|
135
|
+
]);
|
|
136
|
+
exports.CreateWorkflowSchema = zod_1.z.object({
|
|
137
|
+
name: zod_1.z.string(),
|
|
138
|
+
description: zod_1.z.string().optional(),
|
|
139
|
+
isPublic: zod_1.z.boolean().optional(),
|
|
140
|
+
allowedOrganizations: zod_1.z.array(zod_1.z.string()).optional(),
|
|
141
|
+
defaultConfig: zod_1.z.record(zod_1.z.unknown()).optional(),
|
|
142
|
+
steps: zod_1.z.array(exports.WorkflowStepSchema),
|
|
143
|
+
});
|
|
144
|
+
exports.UpdateWorkflowSchema = exports.CreateWorkflowSchema.partial();
|
|
145
|
+
//# sourceMappingURL=workflow-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-steps.js","sourceRoot":"","sources":["../../../../src/schemas/kyc/workflow-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DossiersAPIService = exports.DOSSIERS_API_BASE_URL = exports.DossiersAPIError = void 0;
|
|
4
|
+
const http_js_1 = require("./http.js");
|
|
5
|
+
const aml_js_1 = require("./resources/aml.js");
|
|
6
|
+
const documents_js_1 = require("./resources/documents.js");
|
|
7
|
+
const form_templates_js_1 = require("./resources/form-templates.js");
|
|
8
|
+
const index_js_1 = require("./resources/kyc/index.js");
|
|
9
|
+
const media_js_1 = require("./resources/media.js");
|
|
10
|
+
var error_js_1 = require("./error.js");
|
|
11
|
+
Object.defineProperty(exports, "DossiersAPIError", { enumerable: true, get: function () { return error_js_1.DossiersAPIError; } });
|
|
12
|
+
/** Default API base URL. Override via `DossiersAPIServiceOptions.baseUrl`. */
|
|
13
|
+
exports.DOSSIERS_API_BASE_URL = 'https://api.dossiers.wiki';
|
|
14
|
+
/**
|
|
15
|
+
* The main entry point for the Dossiers SDK.
|
|
16
|
+
*
|
|
17
|
+
* Construct a single instance per application and reuse it — the service
|
|
18
|
+
* is stateless and safe to share across requests.
|
|
19
|
+
*
|
|
20
|
+
* Methods are organized into namespaced resource groups:
|
|
21
|
+
* - `service.aml` — sanctions search, PEP/adverse media dossiers, ongoing screening
|
|
22
|
+
* - `service.kyc.sessions` — create and manage customer verification sessions
|
|
23
|
+
* - `service.kyc.workflows` — define the step sequences customers go through
|
|
24
|
+
* - `service.documents` — initiate and track AI-powered document processing
|
|
25
|
+
* - `service.formTemplates` — manage reusable form schemas for form collection steps
|
|
26
|
+
* - `service.media` — fetch signed media files from sessions and processing results
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { DossiersAPIService } from '@dossier-wiki/cloud-sdk';
|
|
31
|
+
*
|
|
32
|
+
* const service = new DossiersAPIService({
|
|
33
|
+
* apiKey: process.env.DOSSIERS_API_KEY!,
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // AML
|
|
37
|
+
* const hits = await service.aml.searchSanctions({ fullName: 'John Doe' });
|
|
38
|
+
*
|
|
39
|
+
* // KYC
|
|
40
|
+
* const { sessionUrl } = await service.kyc.sessions.create({
|
|
41
|
+
* customer: { name: 'Alice Brown', email: 'alice@example.com' },
|
|
42
|
+
* workflowId: 'wf_abc123',
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // Document processing
|
|
46
|
+
* const instance = await service.documents.initiate({
|
|
47
|
+
* processorId: 'INVOICE',
|
|
48
|
+
* files: [{ url: 'https://example.com/invoice.pdf', mimeType: 'application/pdf' }],
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
class DossiersAPIService {
|
|
53
|
+
constructor(options) {
|
|
54
|
+
if (!options.apiKey)
|
|
55
|
+
throw new Error('DossiersAPIService: apiKey is required');
|
|
56
|
+
const http = new http_js_1.DossiersHttp(options.apiKey, (options.baseUrl ?? exports.DOSSIERS_API_BASE_URL).replace(/\/$/, ''), options.fetch ?? fetch);
|
|
57
|
+
this.aml = new aml_js_1.AmlResource(http);
|
|
58
|
+
this.kyc = new index_js_1.KycResource(http);
|
|
59
|
+
this.documents = new documents_js_1.DocumentsResource(http);
|
|
60
|
+
this.formTemplates = new form_templates_js_1.FormTemplatesResource(http);
|
|
61
|
+
this.media = new media_js_1.MediaResource(http);
|
|
62
|
+
}
|
|
63
|
+
// -----------------------------------------------------------------------
|
|
64
|
+
// Deprecated flat methods (v0.1 layout)
|
|
65
|
+
//
|
|
66
|
+
// The original SDK exposed every operation directly on the service. That
|
|
67
|
+
// surface grew unwieldy, so v0.2 groups operations into resource namespaces
|
|
68
|
+
// (`service.aml`, `service.kyc.sessions`, `service.documents`, ...).
|
|
69
|
+
//
|
|
70
|
+
// These delegators keep pre-v0.2 code working unchanged. They forward to the
|
|
71
|
+
// resource methods and add no behaviour of their own — prefer the resource
|
|
72
|
+
// API for new code. A future major version will remove them.
|
|
73
|
+
// -----------------------------------------------------------------------
|
|
74
|
+
/** @deprecated Use `service.aml.searchSanctions()` instead. */
|
|
75
|
+
searchSanctions(input) {
|
|
76
|
+
return this.aml.searchSanctions(input);
|
|
77
|
+
}
|
|
78
|
+
/** @deprecated Use `service.aml.searchDossiers()` instead. */
|
|
79
|
+
searchDossiers(input) {
|
|
80
|
+
return this.aml.searchDossiers(input);
|
|
81
|
+
}
|
|
82
|
+
/** @deprecated Use `service.aml.createScreeningRequest()` instead. */
|
|
83
|
+
createScreeningRequest(input) {
|
|
84
|
+
return this.aml.createScreeningRequest(input);
|
|
85
|
+
}
|
|
86
|
+
/** @deprecated Use `service.kyc.sessions.create()` instead. */
|
|
87
|
+
createKycSession(input) {
|
|
88
|
+
return this.kyc.sessions.create(input);
|
|
89
|
+
}
|
|
90
|
+
/** @deprecated Use `service.kyc.sessions.list()` instead. */
|
|
91
|
+
listKycSessions(filters) {
|
|
92
|
+
return this.kyc.sessions.list(filters);
|
|
93
|
+
}
|
|
94
|
+
/** @deprecated Use `service.kyc.sessions.get()` instead. */
|
|
95
|
+
getKycSession(id) {
|
|
96
|
+
return this.kyc.sessions.get(id);
|
|
97
|
+
}
|
|
98
|
+
/** @deprecated Use `service.kyc.sessions.delete()` instead. */
|
|
99
|
+
deleteKycSession(id) {
|
|
100
|
+
return this.kyc.sessions.delete(id);
|
|
101
|
+
}
|
|
102
|
+
/** @deprecated Use `service.documents.initiate()` instead. */
|
|
103
|
+
initiateDocumentProcessing(input) {
|
|
104
|
+
return this.documents.initiate(input);
|
|
105
|
+
}
|
|
106
|
+
/** @deprecated Use `service.documents.list()` instead. */
|
|
107
|
+
listDocumentProcessingInstances(query) {
|
|
108
|
+
return this.documents.list(query);
|
|
109
|
+
}
|
|
110
|
+
/** @deprecated Use `service.documents.listProcessors()` instead. */
|
|
111
|
+
listDocumentProcessors() {
|
|
112
|
+
return this.documents.listProcessors();
|
|
113
|
+
}
|
|
114
|
+
/** @deprecated Use `service.documents.get()` instead. */
|
|
115
|
+
getDocumentProcessingInstance(id) {
|
|
116
|
+
return this.documents.get(id);
|
|
117
|
+
}
|
|
118
|
+
/** @deprecated Use `service.documents.getStage()` instead. */
|
|
119
|
+
getDocumentProcessingStage(id, stageId) {
|
|
120
|
+
return this.documents.getStage(id, stageId);
|
|
121
|
+
}
|
|
122
|
+
/** @deprecated Use `service.documents.delete()` instead. */
|
|
123
|
+
deleteDocumentProcessingInstance(id) {
|
|
124
|
+
return this.documents.delete(id);
|
|
125
|
+
}
|
|
126
|
+
/** @deprecated Use `service.documents.stream()` instead. */
|
|
127
|
+
streamDocumentProcessingEvents(id, init) {
|
|
128
|
+
return this.documents.stream(id, init);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.DossiersAPIService = DossiersAPIService;
|
|
132
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
|