@chenchaolong/plugin-trade-compliance-workbench 1.0.0 → 1.0.2

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 (194) hide show
  1. package/README.md +46 -1
  2. package/dist/assets/branding/yuneec-logo.png +0 -0
  3. package/dist/assets/templates/CI.xlsx +0 -0
  4. package/dist/assets/templates/CUSTOMS_DECLARATION.xlsx +0 -0
  5. package/dist/assets/templates/PI.xlsx +0 -0
  6. package/dist/assets/templates/PL.xlsx +0 -0
  7. package/dist/index.d.ts +14 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/lib/adapters/file-storage.d.ts +4 -2
  10. package/dist/lib/adapters/file-storage.d.ts.map +1 -1
  11. package/dist/lib/adapters/file-storage.js +25 -10
  12. package/dist/lib/adapters/file-storage.js.map +1 -1
  13. package/dist/lib/adapters/hsbianma.provider.d.ts +1 -0
  14. package/dist/lib/adapters/hsbianma.provider.d.ts.map +1 -1
  15. package/dist/lib/adapters/hsbianma.provider.js +32 -3
  16. package/dist/lib/adapters/hsbianma.provider.js.map +1 -1
  17. package/dist/lib/adapters/translation.provider.d.ts +3 -0
  18. package/dist/lib/adapters/translation.provider.d.ts.map +1 -1
  19. package/dist/lib/adapters/translation.provider.js +15 -6
  20. package/dist/lib/adapters/translation.provider.js.map +1 -1
  21. package/dist/lib/constants.d.ts +3 -2
  22. package/dist/lib/constants.d.ts.map +1 -1
  23. package/dist/lib/constants.js +3 -2
  24. package/dist/lib/constants.js.map +1 -1
  25. package/dist/lib/demo-data.definitions.d.ts +28 -0
  26. package/dist/lib/demo-data.definitions.d.ts.map +1 -0
  27. package/dist/lib/demo-data.definitions.js +236 -0
  28. package/dist/lib/demo-data.definitions.js.map +1 -0
  29. package/dist/lib/demo-data.entity.d.ts +9 -0
  30. package/dist/lib/demo-data.entity.d.ts.map +1 -0
  31. package/dist/lib/demo-data.entity.js +24 -0
  32. package/dist/lib/demo-data.entity.js.map +1 -0
  33. package/dist/lib/demo-data.ids.d.ts +4 -0
  34. package/dist/lib/demo-data.ids.d.ts.map +1 -0
  35. package/dist/lib/demo-data.ids.js +19 -0
  36. package/dist/lib/demo-data.ids.js.map +1 -0
  37. package/dist/lib/demo-data.service.d.ts +26 -0
  38. package/dist/lib/demo-data.service.d.ts.map +1 -0
  39. package/dist/lib/demo-data.service.js +124 -0
  40. package/dist/lib/demo-data.service.js.map +1 -0
  41. package/dist/lib/domain/default-settings.d.ts +1 -0
  42. package/dist/lib/domain/default-settings.d.ts.map +1 -1
  43. package/dist/lib/domain/default-settings.js +1 -0
  44. package/dist/lib/domain/default-settings.js.map +1 -1
  45. package/dist/lib/domain/risk-notice.d.ts +59 -0
  46. package/dist/lib/domain/risk-notice.d.ts.map +1 -0
  47. package/dist/lib/domain/risk-notice.js +30 -0
  48. package/dist/lib/domain/risk-notice.js.map +1 -0
  49. package/dist/lib/entities/catalog.entity.d.ts.map +1 -1
  50. package/dist/lib/entities/catalog.entity.js +4 -2
  51. package/dist/lib/entities/catalog.entity.js.map +1 -1
  52. package/dist/lib/entities/customer.entity.d.ts +9 -2
  53. package/dist/lib/entities/customer.entity.d.ts.map +1 -1
  54. package/dist/lib/entities/customer.entity.js +29 -1
  55. package/dist/lib/entities/customer.entity.js.map +1 -1
  56. package/dist/lib/entities/index.d.ts +2 -2
  57. package/dist/lib/entities/index.d.ts.map +1 -1
  58. package/dist/lib/entities/index.js +2 -2
  59. package/dist/lib/entities/index.js.map +1 -1
  60. package/dist/lib/entities/procurement.entity.d.ts +6 -4
  61. package/dist/lib/entities/procurement.entity.d.ts.map +1 -1
  62. package/dist/lib/entities/procurement.entity.js +9 -1
  63. package/dist/lib/entities/procurement.entity.js.map +1 -1
  64. package/dist/lib/entities/settings.entity.d.ts +12 -2
  65. package/dist/lib/entities/settings.entity.d.ts.map +1 -1
  66. package/dist/lib/entities/settings.entity.js +40 -0
  67. package/dist/lib/entities/settings.entity.js.map +1 -1
  68. package/dist/lib/entities/shared.entity.d.ts +10 -5
  69. package/dist/lib/entities/shared.entity.d.ts.map +1 -1
  70. package/dist/lib/entities/shared.entity.js +22 -1
  71. package/dist/lib/entities/shared.entity.js.map +1 -1
  72. package/dist/lib/remote-components/trade-compliance-workbench/app.css +1 -0
  73. package/dist/lib/remote-components/trade-compliance-workbench/app.js +63 -277
  74. package/dist/lib/remote-ui/analytics-contracts.d.ts +106 -0
  75. package/dist/lib/remote-ui/analytics-contracts.d.ts.map +1 -0
  76. package/dist/lib/remote-ui/analytics-contracts.js +4 -0
  77. package/dist/lib/remote-ui/analytics-contracts.js.map +1 -0
  78. package/dist/lib/remote-ui/app-source.d.ts +2 -0
  79. package/dist/lib/remote-ui/app-source.d.ts.map +1 -0
  80. package/dist/lib/remote-ui/app-source.js +753 -0
  81. package/dist/lib/remote-ui/app-source.js.map +1 -0
  82. package/dist/lib/remote-ui/bridge.d.ts +36 -0
  83. package/dist/lib/remote-ui/bridge.d.ts.map +1 -0
  84. package/dist/lib/remote-ui/bridge.js +159 -0
  85. package/dist/lib/remote-ui/bridge.js.map +1 -0
  86. package/dist/lib/remote-ui/components/data-grid.d.ts +34 -0
  87. package/dist/lib/remote-ui/components/data-grid.d.ts.map +1 -0
  88. package/dist/lib/remote-ui/components/data-grid.js +59 -0
  89. package/dist/lib/remote-ui/components/data-grid.js.map +1 -0
  90. package/dist/lib/remote-ui/components/forms.d.ts +63 -0
  91. package/dist/lib/remote-ui/components/forms.d.ts.map +1 -0
  92. package/dist/lib/remote-ui/components/forms.js +117 -0
  93. package/dist/lib/remote-ui/components/forms.js.map +1 -0
  94. package/dist/lib/remote-ui/components/layout.d.ts +34 -0
  95. package/dist/lib/remote-ui/components/layout.d.ts.map +1 -0
  96. package/dist/lib/remote-ui/components/layout.js +89 -0
  97. package/dist/lib/remote-ui/components/layout.js.map +1 -0
  98. package/dist/lib/remote-ui/contract-import.d.ts +82 -0
  99. package/dist/lib/remote-ui/contract-import.d.ts.map +1 -0
  100. package/dist/lib/remote-ui/contract-import.js +102 -0
  101. package/dist/lib/remote-ui/contract-import.js.map +1 -0
  102. package/dist/lib/remote-ui/contracts.d.ts +257 -0
  103. package/dist/lib/remote-ui/contracts.d.ts.map +1 -0
  104. package/dist/lib/remote-ui/contracts.js +12 -0
  105. package/dist/lib/remote-ui/contracts.js.map +1 -0
  106. package/dist/lib/remote-ui/customer-contract-contracts.d.ts +227 -0
  107. package/dist/lib/remote-ui/customer-contract-contracts.d.ts.map +1 -0
  108. package/dist/lib/remote-ui/customer-contract-contracts.js +10 -0
  109. package/dist/lib/remote-ui/customer-contract-contracts.js.map +1 -0
  110. package/dist/lib/remote-ui/model.d.ts +31 -0
  111. package/dist/lib/remote-ui/model.d.ts.map +1 -0
  112. package/dist/lib/remote-ui/model.js +248 -0
  113. package/dist/lib/remote-ui/model.js.map +1 -0
  114. package/dist/lib/remote-ui/pages/analytics.d.ts +12 -0
  115. package/dist/lib/remote-ui/pages/analytics.d.ts.map +1 -0
  116. package/dist/lib/remote-ui/pages/analytics.js +123 -0
  117. package/dist/lib/remote-ui/pages/analytics.js.map +1 -0
  118. package/dist/lib/remote-ui/pages/catalogs.d.ts +225 -0
  119. package/dist/lib/remote-ui/pages/catalogs.d.ts.map +1 -0
  120. package/dist/lib/remote-ui/pages/catalogs.js +572 -0
  121. package/dist/lib/remote-ui/pages/catalogs.js.map +1 -0
  122. package/dist/lib/remote-ui/pages/contracts.d.ts +80 -0
  123. package/dist/lib/remote-ui/pages/contracts.d.ts.map +1 -0
  124. package/dist/lib/remote-ui/pages/contracts.js +396 -0
  125. package/dist/lib/remote-ui/pages/contracts.js.map +1 -0
  126. package/dist/lib/remote-ui/pages/files.d.ts +31 -0
  127. package/dist/lib/remote-ui/pages/files.d.ts.map +1 -0
  128. package/dist/lib/remote-ui/pages/files.js +64 -0
  129. package/dist/lib/remote-ui/pages/files.js.map +1 -0
  130. package/dist/lib/remote-ui/pages/home.d.ts +71 -0
  131. package/dist/lib/remote-ui/pages/home.d.ts.map +1 -0
  132. package/dist/lib/remote-ui/pages/home.js +136 -0
  133. package/dist/lib/remote-ui/pages/home.js.map +1 -0
  134. package/dist/lib/remote-ui/pages/procurement.d.ts +36 -0
  135. package/dist/lib/remote-ui/pages/procurement.d.ts.map +1 -0
  136. package/dist/lib/remote-ui/pages/procurement.js +370 -0
  137. package/dist/lib/remote-ui/pages/procurement.js.map +1 -0
  138. package/dist/lib/remote-ui/pages/sales.d.ts +12 -0
  139. package/dist/lib/remote-ui/pages/sales.d.ts.map +1 -0
  140. package/dist/lib/remote-ui/pages/sales.js +106 -0
  141. package/dist/lib/remote-ui/pages/sales.js.map +1 -0
  142. package/dist/lib/remote-ui/pages/settings.d.ts +34 -0
  143. package/dist/lib/remote-ui/pages/settings.d.ts.map +1 -0
  144. package/dist/lib/remote-ui/pages/settings.js +259 -0
  145. package/dist/lib/remote-ui/pages/settings.js.map +1 -0
  146. package/dist/lib/remote-ui/procurement-contracts.d.ts +177 -0
  147. package/dist/lib/remote-ui/procurement-contracts.d.ts.map +1 -0
  148. package/dist/lib/remote-ui/procurement-contracts.js +2 -0
  149. package/dist/lib/remote-ui/procurement-contracts.js.map +1 -0
  150. package/dist/lib/remote-ui/sales-contracts.d.ts +133 -0
  151. package/dist/lib/remote-ui/sales-contracts.d.ts.map +1 -0
  152. package/dist/lib/remote-ui/sales-contracts.js +2 -0
  153. package/dist/lib/remote-ui/sales-contracts.js.map +1 -0
  154. package/dist/lib/remote-ui/settings-contracts.d.ts +114 -0
  155. package/dist/lib/remote-ui/settings-contracts.d.ts.map +1 -0
  156. package/dist/lib/remote-ui/settings-contracts.js +6 -0
  157. package/dist/lib/remote-ui/settings-contracts.js.map +1 -0
  158. package/dist/lib/remote-ui/upload-policy.d.ts +18 -0
  159. package/dist/lib/remote-ui/upload-policy.d.ts.map +1 -0
  160. package/dist/lib/remote-ui/upload-policy.js +56 -0
  161. package/dist/lib/remote-ui/upload-policy.js.map +1 -0
  162. package/dist/lib/runtime-validation.d.ts +61 -0
  163. package/dist/lib/runtime-validation.d.ts.map +1 -0
  164. package/dist/lib/runtime-validation.js +243 -0
  165. package/dist/lib/runtime-validation.js.map +1 -0
  166. package/dist/lib/sales-file.service.d.ts +54 -6
  167. package/dist/lib/sales-file.service.d.ts.map +1 -1
  168. package/dist/lib/sales-file.service.js +278 -33
  169. package/dist/lib/sales-file.service.js.map +1 -1
  170. package/dist/lib/trade-compliance.config.d.ts +32 -0
  171. package/dist/lib/trade-compliance.config.d.ts.map +1 -1
  172. package/dist/lib/trade-compliance.config.js +16 -4
  173. package/dist/lib/trade-compliance.config.js.map +1 -1
  174. package/dist/lib/types.d.ts +253 -1
  175. package/dist/lib/types.d.ts.map +1 -1
  176. package/dist/lib/types.js +24 -0
  177. package/dist/lib/types.js.map +1 -1
  178. package/dist/lib/workbench-view.provider.d.ts +675 -38
  179. package/dist/lib/workbench-view.provider.d.ts.map +1 -1
  180. package/dist/lib/workbench-view.provider.js +411 -40
  181. package/dist/lib/workbench-view.provider.js.map +1 -1
  182. package/dist/lib/workbench.middleware.d.ts +70 -19
  183. package/dist/lib/workbench.middleware.d.ts.map +1 -1
  184. package/dist/lib/workbench.middleware.js +5 -1
  185. package/dist/lib/workbench.middleware.js.map +1 -1
  186. package/dist/lib/workbench.plugin.d.ts.map +1 -1
  187. package/dist/lib/workbench.plugin.js +6 -4
  188. package/dist/lib/workbench.plugin.js.map +1 -1
  189. package/dist/lib/workbench.service.d.ts +629 -48
  190. package/dist/lib/workbench.service.d.ts.map +1 -1
  191. package/dist/lib/workbench.service.js +1818 -300
  192. package/dist/lib/workbench.service.js.map +1 -1
  193. package/package.json +15 -4
  194. package/scripts/seed-demo-data.mjs +138 -0
@@ -0,0 +1,257 @@
1
+ export declare const PAGE_KEYS: readonly ["home", "controlled-goods", "sanctioned-companies", "procurement", "customer-contract-review", "sales", "sales-files", "analytics", "settings"];
2
+ export type PageKey = (typeof PAGE_KEYS)[number];
3
+ export type WorkbenchRoute = {
4
+ type: 'page';
5
+ page: Exclude<PageKey, 'procurement' | 'sales'>;
6
+ } | {
7
+ type: 'procurement';
8
+ level: 'suppliers';
9
+ } | {
10
+ type: 'procurement';
11
+ level: 'orders';
12
+ supplierId: string;
13
+ } | {
14
+ type: 'procurement';
15
+ level: 'lines';
16
+ supplierId: string;
17
+ orderId: string;
18
+ } | {
19
+ type: 'sales';
20
+ level: 'customers';
21
+ } | {
22
+ type: 'sales';
23
+ level: 'orders';
24
+ customerId: string;
25
+ } | {
26
+ type: 'sales';
27
+ level: 'lines';
28
+ customerId: string;
29
+ orderKey: string;
30
+ };
31
+ export type ScalarFilterValue = string | number | null | undefined;
32
+ export type RangeFilterValue = {
33
+ from?: string | number;
34
+ to?: string | number;
35
+ };
36
+ export type FilterValue = ScalarFilterValue | RangeFilterValue;
37
+ export type FilterState = Record<string, FilterValue>;
38
+ type FilterBase = {
39
+ key: string;
40
+ label: string;
41
+ disabled?: boolean;
42
+ };
43
+ export type FilterDefinition = (FilterBase & {
44
+ type: 'text';
45
+ placeholder?: string;
46
+ }) | (FilterBase & {
47
+ type: 'select';
48
+ placeholder?: string;
49
+ options: Array<{
50
+ value: string;
51
+ label: string;
52
+ }>;
53
+ }) | (FilterBase & {
54
+ type: 'date-range';
55
+ }) | (FilterBase & {
56
+ type: 'amount-range';
57
+ currency?: 'CNY';
58
+ });
59
+ export type RowAccessor<T> = keyof T | ((row: T) => unknown);
60
+ export type FilterMapping<T> = {
61
+ type: 'fuzzy';
62
+ accessor: RowAccessor<T>;
63
+ } | {
64
+ type: 'exact';
65
+ accessor: RowAccessor<T>;
66
+ } | {
67
+ type: 'range';
68
+ accessor: RowAccessor<T>;
69
+ };
70
+ type ColumnBase<T> = {
71
+ key: string;
72
+ header: string;
73
+ accessor?: RowAccessor<T>;
74
+ width?: number;
75
+ align?: 'left' | 'center' | 'right';
76
+ };
77
+ export type ColumnDefinition<T> = (ColumnBase<T> & {
78
+ type: 'text';
79
+ format?: (value: unknown, row: T) => string;
80
+ }) | (ColumnBase<T> & {
81
+ type: 'ellipsis';
82
+ maxWidth?: number;
83
+ format?: (value: unknown, row: T) => string;
84
+ }) | (ColumnBase<T> & {
85
+ type: 'custom';
86
+ render: (value: unknown, row: T) => unknown;
87
+ });
88
+ export type PaginationState<T = unknown> = {
89
+ items?: T[];
90
+ page: number;
91
+ pageSize: number;
92
+ total: number;
93
+ pageCount: number;
94
+ };
95
+ export type WorkbenchCollection<T = Record<string, unknown>> = {
96
+ items: T[];
97
+ total?: number;
98
+ page?: number;
99
+ pageSize?: number;
100
+ [key: string]: unknown;
101
+ };
102
+ export type CatalogType = 'DUAL_USE' | 'OVERSEAS_SANCTION';
103
+ export type CatalogRecordSourceType = 'FILE_IMPORT' | 'MANUAL_ENTRY';
104
+ export type CatalogDocumentType = 'CONTROLLED_CATALOG' | 'SANCTION_CATALOG';
105
+ export type CatalogCollectionKey = 'controlledGoods' | 'sanctionedCompanies';
106
+ export type CatalogImportTaskStatus = 'QUEUED' | 'EXTRACTING' | 'AI_PARSING' | 'VALIDATING' | 'AWAITING_REVIEW' | 'PERSISTING' | 'SUCCEEDED' | 'FAILED' | 'TIMED_OUT';
107
+ export type CatalogBatchRow = {
108
+ id: string;
109
+ catalogType?: CatalogType;
110
+ sourceFileId?: string;
111
+ sourceFileName?: string;
112
+ totalCount?: number;
113
+ successCount?: number;
114
+ duplicateCount?: number;
115
+ invalidCount?: number;
116
+ importTaskId?: string;
117
+ createdAt?: string;
118
+ updatedAt?: string;
119
+ };
120
+ export type ControlledGoodsRow = {
121
+ id: string;
122
+ batchId?: string | null;
123
+ sourceType?: CatalogRecordSourceType;
124
+ catalogType?: CatalogType;
125
+ productName?: string;
126
+ hsCode?: string | null;
127
+ controlDescription?: string | null;
128
+ sourceFileName?: string | null;
129
+ sourceLocation?: string | null;
130
+ sourceContent?: string | null;
131
+ updatedAt?: string;
132
+ };
133
+ export type CatalogImportTaskRow = {
134
+ id: string;
135
+ documentType: CatalogDocumentType;
136
+ status: CatalogImportTaskStatus;
137
+ sourceFileId?: string;
138
+ sourceFileName?: string;
139
+ sourceFileFormat?: string;
140
+ sourcePlatformFileId?: string | null;
141
+ retryOfTaskId?: string | null;
142
+ executionCommand?: CatalogImportCommand | null;
143
+ commandDispatchedAt?: string | null;
144
+ resultEntityId?: string | null;
145
+ errorCode?: string | null;
146
+ errorMessage?: string | null;
147
+ updatedAt?: string;
148
+ };
149
+ export type CatalogImportCommand = {
150
+ commandKey: string;
151
+ payload: Record<string, unknown>;
152
+ };
153
+ export type CatalogImportPolling = {
154
+ intervalMs: number;
155
+ timeoutMs: number;
156
+ };
157
+ export type CatalogImportStartData = {
158
+ task: CatalogImportTaskRow;
159
+ commands: CatalogImportCommand[];
160
+ polling: CatalogImportPolling;
161
+ };
162
+ export type CatalogImportCompletion = {
163
+ task: CatalogImportTaskRow;
164
+ batch?: CatalogBatchRow;
165
+ };
166
+ export type CatalogCollectionQuery = {
167
+ page: number;
168
+ pageSize: number;
169
+ filters: FilterState;
170
+ };
171
+ export type CatalogImportIssueType = 'DUPLICATE' | 'INVALID';
172
+ export type CatalogImportIssueRow = {
173
+ id: string;
174
+ issueType: CatalogImportIssueType;
175
+ sourceSequence: number;
176
+ sourceLocation?: string | null;
177
+ sourceContent?: string | null;
178
+ message: string;
179
+ };
180
+ export type CatalogImportIssueQuery = {
181
+ documentType: CatalogDocumentType;
182
+ batchId: string;
183
+ issueType: CatalogImportIssueType;
184
+ page: number;
185
+ pageSize: number;
186
+ };
187
+ export type SanctionedCompanyRow = {
188
+ id: string;
189
+ batchId?: string | null;
190
+ sourceType?: CatalogRecordSourceType;
191
+ companyName?: string;
192
+ countryOrRegion?: string | null;
193
+ sanctionListSource?: string | null;
194
+ sanctionReason?: string | null;
195
+ effectiveDate?: string | null;
196
+ remarks?: string | null;
197
+ sourceFileName?: string | null;
198
+ sourceLocation?: string | null;
199
+ sourceContent?: string | null;
200
+ updatedAt?: string;
201
+ };
202
+ export type WorkbenchData = {
203
+ uploadPolicy: {
204
+ maxUploadMb: number;
205
+ };
206
+ dashboard: Record<string, unknown>;
207
+ controlledGoods: WorkbenchCollection;
208
+ controlledBatches: WorkbenchCollection;
209
+ sanctionedCompanies: WorkbenchCollection;
210
+ sanctionBatches: WorkbenchCollection;
211
+ suppliers: WorkbenchCollection;
212
+ purchaseOrders: WorkbenchCollection;
213
+ purchaseLines: WorkbenchCollection;
214
+ customers: WorkbenchCollection;
215
+ customerContracts: WorkbenchCollection;
216
+ derivedSalesOrders: Array<Record<string, unknown>>;
217
+ salesCustomers: WorkbenchCollection;
218
+ salesOrders: WorkbenchCollection;
219
+ salesLines: WorkbenchCollection;
220
+ salesFileOrders: WorkbenchCollection;
221
+ generatedFiles: WorkbenchCollection;
222
+ settings: SettingsData;
223
+ analytics: AnalyticsData;
224
+ importTasks: WorkbenchCollection;
225
+ };
226
+ export type RemoteQuery = {
227
+ page?: number;
228
+ pageSize?: number;
229
+ search?: string;
230
+ parameters?: Record<string, unknown>;
231
+ };
232
+ export type RemoteInitContext = {
233
+ manifest?: unknown;
234
+ payload?: unknown;
235
+ initialQuery?: RemoteQuery;
236
+ locale?: string;
237
+ theme?: unknown;
238
+ };
239
+ export type RemoteRequestType = 'requestData' | 'executeAction' | 'executeFileAction' | 'invokeClientCommand';
240
+ export type RemoteOutboundType = RemoteRequestType | 'ready' | 'resize' | 'notify';
241
+ export type RemoteInboundType = 'init' | 'hostEvent' | 'result' | 'error';
242
+ export type RemoteMessage = {
243
+ channel: 'xpertai.remote_component';
244
+ protocolVersion: 1;
245
+ instanceId?: string | null;
246
+ type: RemoteOutboundType | RemoteInboundType;
247
+ requestId?: string;
248
+ [key: string]: unknown;
249
+ };
250
+ export type RemoteBridgeHandlers = {
251
+ onInit?: (context: RemoteInitContext) => void;
252
+ onHostEvent?: (event: unknown) => void;
253
+ };
254
+ import type { AnalyticsData } from './analytics-contracts.js';
255
+ import type { SettingsData } from './settings-contracts.js';
256
+ export {};
257
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/lib/remote-ui/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export const PAGE_KEYS = [
2
+ 'home',
3
+ 'controlled-goods',
4
+ 'sanctioned-companies',
5
+ 'procurement',
6
+ 'customer-contract-review',
7
+ 'sales',
8
+ 'sales-files',
9
+ 'analytics',
10
+ 'settings'
11
+ ];
12
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/lib/remote-ui/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM;IACN,kBAAkB;IAClB,sBAAsB;IACtB,aAAa;IACb,0BAA0B;IAC1B,OAAO;IACP,aAAa;IACb,WAAW;IACX,UAAU;CACF,CAAA"}
@@ -0,0 +1,227 @@
1
+ import type { FilterState, WorkbenchCollection } from './contracts.js';
2
+ export declare const CUSTOMER_CONTRACT_CLAUSE_TYPES: readonly ["CONTRACT_AMOUNT", "TAX_RATE", "PRICE_TERMS", "TRANSPORT", "WARRANTY", "BREACH_LIABILITY", "PAYMENT_TERMS"];
3
+ export type ClauseType = (typeof CUSTOMER_CONTRACT_CLAUSE_TYPES)[number];
4
+ export type ClauseExtractionStatus = 'FOUND' | 'NOT_FOUND';
5
+ export type CustomerContractRiskLevel = 'HIGH' | 'MEDIUM' | 'LOW';
6
+ export type CustomerContractSanctionStatus = 'HIT' | 'CLEAR' | 'UNCHECKED';
7
+ export type CustomerContractClauseAnalysis = {
8
+ riskLevel: CustomerContractRiskLevel;
9
+ riskMessageZh: string;
10
+ suggestionZh: string;
11
+ };
12
+ export type CustomerContractClauseReview = {
13
+ id?: string;
14
+ clauseType: ClauseType;
15
+ extractionStatus: ClauseExtractionStatus;
16
+ sourceText: string | null;
17
+ reviewedText: string;
18
+ sourceLocation?: string | null;
19
+ sourceContent?: string | null;
20
+ analysis: CustomerContractClauseAnalysis;
21
+ };
22
+ export type CustomerMasterReview = {
23
+ id?: string;
24
+ code?: string | null;
25
+ name: string;
26
+ shortName?: string | null;
27
+ country?: string | null;
28
+ address?: string | null;
29
+ contactName?: string | null;
30
+ phone?: string | null;
31
+ wechat?: string | null;
32
+ email?: string | null;
33
+ taxNumber?: string | null;
34
+ paymentAccount?: string | null;
35
+ bankName?: string | null;
36
+ taxpayerRating?: string | null;
37
+ website?: string | null;
38
+ businessProducts?: string | null;
39
+ };
40
+ export type CustomerContractSourcePreview = {
41
+ kind: 'URL';
42
+ url: string;
43
+ } | {
44
+ kind: 'TEXT';
45
+ content: string;
46
+ } | {
47
+ kind: 'UNAVAILABLE';
48
+ message?: string;
49
+ };
50
+ export type CustomerContractReviewSource = 'IMPORT_DRAFT' | 'EXISTING_CONTRACT';
51
+ export type CustomerTransferConfirmation = {
52
+ type: 'CONFIRMED_CUSTOMER_TRANSFER';
53
+ targetNormalizedName: string;
54
+ };
55
+ export type CustomerContractReview = {
56
+ reviewSource: CustomerContractReviewSource;
57
+ importTaskId?: string;
58
+ contractId?: string;
59
+ customer: CustomerMasterReview;
60
+ contractNo: string;
61
+ signedAt?: string | null;
62
+ contractAmountReviewCny?: string | null;
63
+ overallRiskLevel: CustomerContractRiskLevel;
64
+ sanctionStatus: CustomerContractSanctionStatus;
65
+ sourceFileId: string;
66
+ sourceFileName: string;
67
+ sourcePreview: CustomerContractSourcePreview;
68
+ clauses: CustomerContractClauseReview[];
69
+ };
70
+ export type CustomerContractRow = {
71
+ id: string;
72
+ customerId: string;
73
+ customerName: string;
74
+ customerCode?: string | null;
75
+ contractNo: string;
76
+ contractAmountReviewCny?: string | null;
77
+ signedAt?: string | null;
78
+ overallRiskLevel: CustomerContractRiskLevel;
79
+ sanctionStatus: CustomerContractSanctionStatus;
80
+ sourceFileId: string;
81
+ sourceFileName: string;
82
+ latestAnalysisAt?: string | null;
83
+ };
84
+ export type CustomerContractCollectionQuery = {
85
+ page: number;
86
+ pageSize: number;
87
+ filters: FilterState;
88
+ };
89
+ export type CustomerContractReviewPayload = {
90
+ reviewSource: CustomerContractReviewSource;
91
+ importTaskId?: string;
92
+ customerContractId?: string;
93
+ customer: CustomerMasterReview;
94
+ contractNo: string;
95
+ signedAt?: string | null;
96
+ contractAmountReviewCny?: string | null;
97
+ sourceFileId: string;
98
+ customerTransferConfirmation?: CustomerTransferConfirmation;
99
+ clauses: Array<{
100
+ id?: string;
101
+ clauseType: ClauseType;
102
+ extractionStatus: ClauseExtractionStatus;
103
+ sourceText: string | null;
104
+ reviewedText: string;
105
+ sourceLocation?: string | null;
106
+ sourceContent?: string | null;
107
+ analysis: CustomerContractClauseAnalysis;
108
+ }>;
109
+ };
110
+ export type CustomerContractReviewUpdateContract = {
111
+ contractNo: string;
112
+ signedAt?: string | null;
113
+ contractAmountReviewCny?: string | null;
114
+ };
115
+ export type CustomerContractActionKey = 'get_customer_contract_review' | 'save_customer_contract_review' | 'update_customer_contract_review' | 'reanalyze_customer_contract' | 'mark_customer_contract_reanalysis_dispatched' | 'mark_customer_contract_reanalysis_failed' | 'delete_entity' | 'download_source_file';
116
+ export type CustomerContractActionInputMap = {
117
+ get_customer_contract_review: {
118
+ id: string;
119
+ };
120
+ save_customer_contract_review: {
121
+ importTaskId: string;
122
+ draft: Record<string, unknown>;
123
+ };
124
+ update_customer_contract_review: {
125
+ id: string;
126
+ customer: CustomerMasterReview;
127
+ contract: CustomerContractReviewUpdateContract;
128
+ clauses: CustomerContractReviewPayload['clauses'];
129
+ customerTransferConfirmation?: CustomerTransferConfirmation;
130
+ };
131
+ reanalyze_customer_contract: {
132
+ reviewSource: CustomerContractReviewSource;
133
+ id?: string;
134
+ importTaskId?: string;
135
+ };
136
+ mark_customer_contract_reanalysis_dispatched: {
137
+ runId: string;
138
+ };
139
+ mark_customer_contract_reanalysis_failed: {
140
+ runId: string;
141
+ errorCode: 'COMMAND_DISPATCH_FAILED' | 'POLLING_FAILED' | 'AI_REANALYSIS_TIMEOUT';
142
+ errorMessage: string;
143
+ };
144
+ delete_entity: {
145
+ entityType: 'customerContract';
146
+ id: string;
147
+ };
148
+ download_source_file: {
149
+ sourceFileId: string;
150
+ };
151
+ };
152
+ export type CustomerContractActionDataMap = {
153
+ get_customer_contract_review: CustomerContractReview;
154
+ save_customer_contract_review: {
155
+ id?: string;
156
+ };
157
+ update_customer_contract_review: {
158
+ customerContractId: string;
159
+ };
160
+ delete_entity: {
161
+ id?: string;
162
+ };
163
+ download_source_file: {
164
+ fileName: string;
165
+ mimeType: string;
166
+ base64: string;
167
+ };
168
+ };
169
+ export type CustomerContractFileActionKey = 'upload_customer_contract';
170
+ export type CustomerContractFileActionInputMap = {
171
+ upload_customer_contract: {
172
+ documentType: 'CUSTOMER_CONTRACT';
173
+ };
174
+ };
175
+ export type CustomerContractFileActionDataMap = {
176
+ upload_customer_contract: {
177
+ review: CustomerContractReview;
178
+ };
179
+ };
180
+ export type CustomerContractActionResult<T = unknown> = {
181
+ success?: boolean;
182
+ data?: T;
183
+ message?: string;
184
+ refresh?: boolean;
185
+ };
186
+ export type CustomerContractImportReviewState = {
187
+ status: 'IDLE';
188
+ } | {
189
+ status: 'PROCESSING';
190
+ importTaskId: string;
191
+ sourceFileName: string;
192
+ } | {
193
+ status: 'AWAITING_REVIEW';
194
+ importTaskId: string;
195
+ review: CustomerContractReview;
196
+ } | {
197
+ status: 'FAILED';
198
+ importTaskId?: string;
199
+ message: string;
200
+ };
201
+ export type CustomerContractReanalysisState = {
202
+ status: 'IDLE';
203
+ } | {
204
+ status: 'RUNNING';
205
+ message?: string;
206
+ } | {
207
+ status: 'FAILED';
208
+ message: string;
209
+ };
210
+ export type CustomerContractPageProps = {
211
+ collection: WorkbenchCollection<CustomerContractRow>;
212
+ busy: boolean;
213
+ importReviewState: CustomerContractImportReviewState;
214
+ onQuery: (query: CustomerContractCollectionQuery) => Promise<void> | void;
215
+ onAction: (actionKey: CustomerContractActionKey, input: Record<string, unknown>) => Promise<CustomerContractActionResult<any>>;
216
+ onFileAction: (actionKey: CustomerContractFileActionKey, file: File, input: CustomerContractFileActionInputMap[CustomerContractFileActionKey]) => Promise<CustomerContractActionResult<any>>;
217
+ onReanalyze?: (input: {
218
+ reviewSource: CustomerContractReviewSource;
219
+ customerContractId?: string;
220
+ importTaskId?: string;
221
+ }) => Promise<CustomerContractReview>;
222
+ onLoadReview?: (customerContractId: string) => Promise<CustomerContractReview>;
223
+ onReviewClose?: () => void;
224
+ reanalysisState?: CustomerContractReanalysisState;
225
+ onRetryImport?: (taskId: string) => Promise<void> | void;
226
+ };
227
+ //# sourceMappingURL=customer-contract-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-contract-contracts.d.ts","sourceRoot":"","sources":["../../../src/lib/remote-ui/customer-contract-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export const CUSTOMER_CONTRACT_CLAUSE_TYPES = [
2
+ 'CONTRACT_AMOUNT',
3
+ 'TAX_RATE',
4
+ 'PRICE_TERMS',
5
+ 'TRANSPORT',
6
+ 'WARRANTY',
7
+ 'BREACH_LIABILITY',
8
+ 'PAYMENT_TERMS'
9
+ ];
10
+ //# sourceMappingURL=customer-contract-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customer-contract-contracts.js","sourceRoot":"","sources":["../../../src/lib/remote-ui/customer-contract-contracts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,iBAAiB;IACjB,UAAU;IACV,aAAa;IACb,WAAW;IACX,UAAU;IACV,kBAAkB;IAClB,eAAe;CACP,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { FilterMapping, FilterState, PaginationState, RemoteQuery, WorkbenchData, WorkbenchRoute } from './contracts.js';
2
+ export declare function emptyWorkbenchData(): WorkbenchData;
3
+ export declare function normalizeWorkbenchData(value: unknown): WorkbenchData;
4
+ export declare function applyFilters<T>(rows: readonly T[], filters: FilterState, mappings: Record<string, FilterMapping<T>>): T[];
5
+ export declare function paginate<T>(rows: readonly T[], requestedPage?: number, requestedPageSize?: number): PaginationState<T> & {
6
+ items: T[];
7
+ };
8
+ export declare function createLatestRequestGate(): {
9
+ begin(): number;
10
+ isLatest(requestId: number): boolean;
11
+ commit(requestId: number): boolean;
12
+ finish(requestId: number): void;
13
+ activeCount(): number;
14
+ };
15
+ export declare function createLatestCommittedRequest<T>(initial: T): {
16
+ begin(candidate: T): number;
17
+ isLatest(requestId: number): boolean;
18
+ commit(requestId: number): boolean;
19
+ finish(requestId: number): void;
20
+ activeCount(): number;
21
+ committed(): T;
22
+ };
23
+ export declare function createBlobUrlOwner(revoke?: (url: string) => void): {
24
+ replace(slot: string, url: string): string;
25
+ clear(slot: string): void;
26
+ current(slot: string): string | null;
27
+ dispose(): void;
28
+ };
29
+ export declare function routeDataRequest(route: WorkbenchRoute, page?: number, pageSize?: number, filters?: FilterState): RemoteQuery | null;
30
+ export declare function unwrapResponse(value: unknown): unknown;
31
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/lib/remote-ui/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAe,eAAe,EAAE,WAAW,EAAoC,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK5K,wBAAgB,kBAAkB,IAAI,aAAa,CA6BlD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CA6BpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAYzH;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa,SAAI,EAAE,iBAAiB,SAAK,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG;IAAE,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,CAO9H;AAED,wBAAgB,uBAAuB;;wBAUf,MAAM;sBAGR,MAAM;sBAGN,MAAM;;EAO3B;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;qBAMrC,CAAC;wBAME,MAAM;sBACR,MAAM;sBAON,MAAM;;;EAO3B;AAED,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAsC;kBAIhF,MAAM,OAAO,MAAM;gBAMrB,MAAM;kBAIJ,MAAM;;EAMvB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,EAAE,OAAO,GAAE,WAAgB,GAAG,WAAW,GAAG,IAAI,CAiB9H;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMtD"}