@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.
Files changed (120) hide show
  1. package/README.md +697 -46
  2. package/dist/cjs/api.js +34 -0
  3. package/dist/cjs/api.js.map +1 -0
  4. package/dist/cjs/error.js +29 -0
  5. package/dist/cjs/error.js.map +1 -0
  6. package/dist/cjs/http.js +75 -0
  7. package/dist/cjs/http.js.map +1 -0
  8. package/dist/cjs/index.js +48 -0
  9. package/dist/cjs/index.js.map +1 -0
  10. package/dist/cjs/resources/aml.js +88 -0
  11. package/dist/cjs/resources/aml.js.map +1 -0
  12. package/dist/cjs/resources/documents.js +170 -0
  13. package/dist/cjs/resources/documents.js.map +1 -0
  14. package/dist/cjs/resources/form-templates.js +117 -0
  15. package/dist/cjs/resources/form-templates.js.map +1 -0
  16. package/dist/cjs/resources/kyc/index.js +32 -0
  17. package/dist/cjs/resources/kyc/index.js.map +1 -0
  18. package/dist/cjs/resources/kyc/sessions.js +103 -0
  19. package/dist/cjs/resources/kyc/sessions.js.map +1 -0
  20. package/dist/cjs/resources/kyc/workflows.js +150 -0
  21. package/dist/cjs/resources/kyc/workflows.js.map +1 -0
  22. package/dist/cjs/resources/media.js +62 -0
  23. package/dist/cjs/resources/media.js.map +1 -0
  24. package/dist/cjs/schemas/index.js +9 -0
  25. package/dist/cjs/schemas/index.js.map +1 -0
  26. package/dist/cjs/schemas/kyc/workflow-steps.js +145 -0
  27. package/dist/cjs/schemas/kyc/workflow-steps.js.map +1 -0
  28. package/dist/cjs/service.js +132 -0
  29. package/dist/cjs/service.js.map +1 -0
  30. package/dist/cjs/session.js +379 -0
  31. package/dist/cjs/session.js.map +1 -0
  32. package/dist/cjs/types.js +36 -0
  33. package/dist/cjs/types.js.map +1 -0
  34. package/dist/cjs/webhooks.js +93 -0
  35. package/dist/cjs/webhooks.js.map +1 -0
  36. package/dist/esm/api.js +33 -0
  37. package/dist/esm/api.js.map +1 -0
  38. package/dist/esm/error.js +25 -0
  39. package/dist/esm/error.js.map +1 -0
  40. package/dist/esm/http.js +71 -0
  41. package/dist/esm/http.js.map +1 -0
  42. package/dist/esm/index.js +19 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/resources/aml.js +84 -0
  45. package/dist/esm/resources/aml.js.map +1 -0
  46. package/dist/esm/resources/documents.js +166 -0
  47. package/dist/esm/resources/documents.js.map +1 -0
  48. package/dist/esm/resources/form-templates.js +113 -0
  49. package/dist/esm/resources/form-templates.js.map +1 -0
  50. package/dist/esm/resources/kyc/index.js +26 -0
  51. package/dist/esm/resources/kyc/index.js.map +1 -0
  52. package/dist/esm/resources/kyc/sessions.js +99 -0
  53. package/dist/esm/resources/kyc/sessions.js.map +1 -0
  54. package/dist/esm/resources/kyc/workflows.js +146 -0
  55. package/dist/esm/resources/kyc/workflows.js.map +1 -0
  56. package/dist/esm/resources/media.js +58 -0
  57. package/dist/esm/resources/media.js.map +1 -0
  58. package/dist/esm/schemas/index.js +2 -0
  59. package/dist/esm/schemas/index.js.map +1 -0
  60. package/dist/esm/schemas/kyc/workflow-steps.js +142 -0
  61. package/dist/esm/schemas/kyc/workflow-steps.js.map +1 -0
  62. package/dist/esm/service.js +127 -0
  63. package/dist/esm/service.js.map +1 -0
  64. package/dist/esm/session.js +375 -0
  65. package/dist/esm/session.js.map +1 -0
  66. package/dist/{types.js → esm/types.js} +11 -27
  67. package/dist/esm/types.js.map +1 -0
  68. package/dist/{webhooks.js → esm/webhooks.js} +10 -11
  69. package/dist/esm/webhooks.js.map +1 -0
  70. package/dist/{api.d.ts → types/api.d.ts} +297 -166
  71. package/dist/types/api.d.ts.map +1 -0
  72. package/dist/types/error.d.ts +24 -0
  73. package/dist/types/error.d.ts.map +1 -0
  74. package/dist/types/http.d.ts +17 -0
  75. package/dist/types/http.d.ts.map +1 -0
  76. package/dist/types/index.d.ts +15 -0
  77. package/dist/types/index.d.ts.map +1 -0
  78. package/dist/types/resources/aml.d.ts +79 -0
  79. package/dist/types/resources/aml.d.ts.map +1 -0
  80. package/dist/types/resources/documents.d.ts +153 -0
  81. package/dist/types/resources/documents.d.ts.map +1 -0
  82. package/dist/types/resources/form-templates.d.ts +104 -0
  83. package/dist/types/resources/form-templates.d.ts.map +1 -0
  84. package/dist/types/resources/kyc/index.d.ts +34 -0
  85. package/dist/types/resources/kyc/index.d.ts.map +1 -0
  86. package/dist/types/resources/kyc/sessions.d.ts +92 -0
  87. package/dist/types/resources/kyc/sessions.d.ts.map +1 -0
  88. package/dist/types/resources/kyc/workflows.d.ts +135 -0
  89. package/dist/types/resources/kyc/workflows.d.ts.map +1 -0
  90. package/dist/types/resources/media.d.ts +56 -0
  91. package/dist/types/resources/media.d.ts.map +1 -0
  92. package/dist/types/schemas/index.d.ts +3 -0
  93. package/dist/types/schemas/index.d.ts.map +1 -0
  94. package/dist/types/schemas/kyc/workflow-steps.d.ts +5113 -0
  95. package/dist/types/schemas/kyc/workflow-steps.d.ts.map +1 -0
  96. package/dist/types/service.d.ts +143 -0
  97. package/dist/types/service.d.ts.map +1 -0
  98. package/dist/types/session.d.ts +176 -0
  99. package/dist/types/session.d.ts.map +1 -0
  100. package/dist/{types.d.ts → types/types.d.ts} +100 -2
  101. package/dist/types/types.d.ts.map +1 -0
  102. package/dist/{webhooks.d.ts → types/webhooks.d.ts} +5 -5
  103. package/dist/types/webhooks.d.ts.map +1 -0
  104. package/package.json +26 -32
  105. package/dist/api.d.ts.map +0 -1
  106. package/dist/api.js +0 -22
  107. package/dist/api.js.map +0 -1
  108. package/dist/index.d.ts +0 -6
  109. package/dist/index.d.ts.map +0 -1
  110. package/dist/index.js +0 -5
  111. package/dist/index.js.map +0 -1
  112. package/dist/service.d.ts +0 -39
  113. package/dist/service.d.ts.map +0 -1
  114. package/dist/service.js +0 -150
  115. package/dist/service.js.map +0 -1
  116. package/dist/types.d.ts.map +0 -1
  117. package/dist/types.js.map +0 -1
  118. package/dist/webhooks.d.ts.map +0 -1
  119. package/dist/webhooks.js.map +0 -1
  120. 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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"}