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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/README.md +41 -22
  2. package/dist/assets/templates/CI.xlsx +0 -0
  3. package/dist/assets/templates/CUSTOMS_DECLARATION.xlsx +0 -0
  4. package/dist/assets/templates/PI.xlsx +0 -0
  5. package/dist/assets/templates/PL.xlsx +0 -0
  6. package/dist/index.d.ts +115 -228
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +19 -108
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/{document-text-extractor.d.ts → adapters/document-text-extractor.d.ts} +2 -2
  11. package/dist/lib/adapters/document-text-extractor.d.ts.map +1 -0
  12. package/dist/lib/{document-text-extractor.js → adapters/document-text-extractor.js} +8 -2
  13. package/dist/lib/adapters/document-text-extractor.js.map +1 -0
  14. package/dist/lib/adapters/file-storage.d.ts +9 -0
  15. package/dist/lib/adapters/file-storage.d.ts.map +1 -0
  16. package/dist/lib/adapters/file-storage.js +37 -0
  17. package/dist/lib/adapters/file-storage.js.map +1 -0
  18. package/dist/lib/{trade-compliance.enrichment.d.ts → adapters/hsbianma.provider.d.ts} +6 -6
  19. package/dist/lib/adapters/hsbianma.provider.d.ts.map +1 -0
  20. package/dist/lib/{trade-compliance.enrichment.js → adapters/hsbianma.provider.js} +1 -1
  21. package/dist/lib/adapters/hsbianma.provider.js.map +1 -0
  22. package/dist/lib/adapters/translation.provider.d.ts +4 -0
  23. package/dist/lib/adapters/translation.provider.d.ts.map +1 -0
  24. package/dist/lib/adapters/translation.provider.js +35 -0
  25. package/dist/lib/adapters/translation.provider.js.map +1 -0
  26. package/dist/lib/constants.d.ts +17 -11
  27. package/dist/lib/constants.d.ts.map +1 -1
  28. package/dist/lib/constants.js +17 -21
  29. package/dist/lib/constants.js.map +1 -1
  30. package/dist/lib/domain/contract-number.d.ts +14 -0
  31. package/dist/lib/domain/contract-number.d.ts.map +1 -0
  32. package/dist/lib/domain/contract-number.js +36 -0
  33. package/dist/lib/domain/contract-number.js.map +1 -0
  34. package/dist/lib/domain/default-settings.d.ts +28 -0
  35. package/dist/lib/domain/default-settings.d.ts.map +1 -0
  36. package/dist/lib/domain/default-settings.js +16 -0
  37. package/dist/lib/domain/default-settings.js.map +1 -0
  38. package/dist/lib/domain/finance.d.ts +37 -0
  39. package/dist/lib/domain/finance.d.ts.map +1 -0
  40. package/dist/lib/domain/finance.js +60 -0
  41. package/dist/lib/domain/finance.js.map +1 -0
  42. package/dist/lib/domain/import-issues.d.ts +10 -0
  43. package/dist/lib/domain/import-issues.d.ts.map +1 -0
  44. package/dist/lib/domain/import-issues.js +23 -0
  45. package/dist/lib/domain/import-issues.js.map +1 -0
  46. package/dist/lib/domain/normalization.d.ts +8 -0
  47. package/dist/lib/domain/normalization.d.ts.map +1 -0
  48. package/dist/lib/domain/normalization.js +50 -0
  49. package/dist/lib/domain/normalization.js.map +1 -0
  50. package/dist/lib/domain/workflow.d.ts +4 -0
  51. package/dist/lib/domain/workflow.d.ts.map +1 -0
  52. package/dist/lib/domain/workflow.js +14 -0
  53. package/dist/lib/domain/workflow.js.map +1 -0
  54. package/dist/lib/entities/base.d.ts +20 -0
  55. package/dist/lib/entities/base.d.ts.map +1 -0
  56. package/dist/lib/entities/base.js +51 -0
  57. package/dist/lib/entities/base.js.map +1 -0
  58. package/dist/lib/entities/catalog.entity.d.ts +80 -0
  59. package/dist/lib/entities/catalog.entity.d.ts.map +1 -0
  60. package/dist/lib/entities/catalog.entity.js +308 -0
  61. package/dist/lib/entities/catalog.entity.js.map +1 -0
  62. package/dist/lib/entities/customer.entity.d.ts +72 -0
  63. package/dist/lib/entities/customer.entity.d.ts.map +1 -0
  64. package/dist/lib/entities/customer.entity.js +276 -0
  65. package/dist/lib/entities/customer.entity.js.map +1 -0
  66. package/dist/lib/entities/index.d.ts +12 -6
  67. package/dist/lib/entities/index.d.ts.map +1 -1
  68. package/dist/lib/entities/index.js +20 -7
  69. package/dist/lib/entities/index.js.map +1 -1
  70. package/dist/lib/entities/procurement.entity.d.ts +99 -0
  71. package/dist/lib/entities/procurement.entity.d.ts.map +1 -0
  72. package/dist/lib/entities/procurement.entity.js +386 -0
  73. package/dist/lib/entities/procurement.entity.js.map +1 -0
  74. package/dist/lib/entities/settings.entity.d.ts +64 -0
  75. package/dist/lib/entities/settings.entity.d.ts.map +1 -0
  76. package/dist/lib/entities/settings.entity.js +243 -0
  77. package/dist/lib/entities/settings.entity.js.map +1 -0
  78. package/dist/lib/entities/shared.entity.d.ts +40 -0
  79. package/dist/lib/entities/shared.entity.d.ts.map +1 -0
  80. package/dist/lib/entities/shared.entity.js +149 -0
  81. package/dist/lib/entities/shared.entity.js.map +1 -0
  82. package/dist/lib/remote-components/trade-compliance-workbench/app.js +245 -2677
  83. package/dist/lib/remote-components/trade-compliance-workbench/editor-source.mjs +53 -0
  84. package/dist/lib/remote-components/trade-compliance-workbench/editor.css +1 -0
  85. package/dist/lib/remote-components/trade-compliance-workbench/editor.js +533 -0
  86. package/dist/lib/sales-file.service.d.ts +29 -0
  87. package/dist/lib/sales-file.service.d.ts.map +1 -0
  88. package/dist/lib/sales-file.service.js +300 -0
  89. package/dist/lib/sales-file.service.js.map +1 -0
  90. package/dist/lib/trade-compliance.config.d.ts +94 -187
  91. package/dist/lib/trade-compliance.config.d.ts.map +1 -1
  92. package/dist/lib/trade-compliance.config.js +12 -96
  93. package/dist/lib/trade-compliance.config.js.map +1 -1
  94. package/dist/lib/types.d.ts +104 -1
  95. package/dist/lib/types.d.ts.map +1 -1
  96. package/dist/lib/types.js +47 -1
  97. package/dist/lib/types.js.map +1 -1
  98. package/dist/lib/workbench-view.provider.d.ts +276 -0
  99. package/dist/lib/workbench-view.provider.d.ts.map +1 -0
  100. package/dist/lib/workbench-view.provider.js +222 -0
  101. package/dist/lib/workbench-view.provider.js.map +1 -0
  102. package/dist/lib/workbench.middleware.d.ts +351 -0
  103. package/dist/lib/workbench.middleware.d.ts.map +1 -0
  104. package/dist/lib/workbench.middleware.js +48 -0
  105. package/dist/lib/workbench.middleware.js.map +1 -0
  106. package/dist/lib/workbench.plugin.d.ts +5 -0
  107. package/dist/lib/workbench.plugin.d.ts.map +1 -0
  108. package/dist/lib/workbench.plugin.js +24 -0
  109. package/dist/lib/workbench.plugin.js.map +1 -0
  110. package/dist/lib/workbench.service.d.ts +257 -0
  111. package/dist/lib/workbench.service.d.ts.map +1 -0
  112. package/dist/lib/workbench.service.js +755 -0
  113. package/dist/lib/workbench.service.js.map +1 -0
  114. package/package.json +19 -25
  115. package/dist/assets/customs-workbook-template.xls +0 -0
  116. package/dist/lib/controlled-goods-extracted-text-store.d.ts +0 -29
  117. package/dist/lib/controlled-goods-extracted-text-store.d.ts.map +0 -1
  118. package/dist/lib/controlled-goods-extracted-text-store.js +0 -42
  119. package/dist/lib/controlled-goods-extracted-text-store.js.map +0 -1
  120. package/dist/lib/controlled-goods-file-parser.d.ts +0 -9
  121. package/dist/lib/controlled-goods-file-parser.d.ts.map +0 -1
  122. package/dist/lib/controlled-goods-file-parser.js +0 -298
  123. package/dist/lib/controlled-goods-file-parser.js.map +0 -1
  124. package/dist/lib/document-text-extractor.d.ts.map +0 -1
  125. package/dist/lib/document-text-extractor.js.map +0 -1
  126. package/dist/lib/entities/controlled-goods-record.entity.d.ts +0 -5
  127. package/dist/lib/entities/controlled-goods-record.entity.d.ts.map +0 -1
  128. package/dist/lib/entities/controlled-goods-record.entity.js +0 -68
  129. package/dist/lib/entities/controlled-goods-record.entity.js.map +0 -1
  130. package/dist/lib/entities/customs-workbook-generation.entity.d.ts +0 -5
  131. package/dist/lib/entities/customs-workbook-generation.entity.d.ts.map +0 -1
  132. package/dist/lib/entities/customs-workbook-generation.entity.js +0 -72
  133. package/dist/lib/entities/customs-workbook-generation.entity.js.map +0 -1
  134. package/dist/lib/entities/trade-compliance-import-batch.entity.d.ts +0 -5
  135. package/dist/lib/entities/trade-compliance-import-batch.entity.d.ts.map +0 -1
  136. package/dist/lib/entities/trade-compliance-import-batch.entity.js +0 -60
  137. package/dist/lib/entities/trade-compliance-import-batch.entity.js.map +0 -1
  138. package/dist/lib/entities/trade-compliance-review-item.entity.d.ts +0 -5
  139. package/dist/lib/entities/trade-compliance-review-item.entity.d.ts.map +0 -1
  140. package/dist/lib/entities/trade-compliance-review-item.entity.js +0 -84
  141. package/dist/lib/entities/trade-compliance-review-item.entity.js.map +0 -1
  142. package/dist/lib/entities/trade-product.entity.d.ts +0 -5
  143. package/dist/lib/entities/trade-product.entity.d.ts.map +0 -1
  144. package/dist/lib/entities/trade-product.entity.js +0 -105
  145. package/dist/lib/entities/trade-product.entity.js.map +0 -1
  146. package/dist/lib/entities/trade-supplier.entity.d.ts +0 -5
  147. package/dist/lib/entities/trade-supplier.entity.d.ts.map +0 -1
  148. package/dist/lib/entities/trade-supplier.entity.js +0 -55
  149. package/dist/lib/entities/trade-supplier.entity.js.map +0 -1
  150. package/dist/lib/trade-compliance-workbench-view.provider.d.ts +0 -129
  151. package/dist/lib/trade-compliance-workbench-view.provider.d.ts.map +0 -1
  152. package/dist/lib/trade-compliance-workbench-view.provider.js +0 -863
  153. package/dist/lib/trade-compliance-workbench-view.provider.js.map +0 -1
  154. package/dist/lib/trade-compliance-workbench.middleware.d.ts +0 -485
  155. package/dist/lib/trade-compliance-workbench.middleware.d.ts.map +0 -1
  156. package/dist/lib/trade-compliance-workbench.middleware.js +0 -494
  157. package/dist/lib/trade-compliance-workbench.middleware.js.map +0 -1
  158. package/dist/lib/trade-compliance-workbench.plugin.d.ts +0 -11
  159. package/dist/lib/trade-compliance-workbench.plugin.d.ts.map +0 -1
  160. package/dist/lib/trade-compliance-workbench.plugin.js +0 -39
  161. package/dist/lib/trade-compliance-workbench.plugin.js.map +0 -1
  162. package/dist/lib/trade-compliance-workbench.service.d.ts +0 -33
  163. package/dist/lib/trade-compliance-workbench.service.d.ts.map +0 -1
  164. package/dist/lib/trade-compliance-workbench.service.js +0 -369
  165. package/dist/lib/trade-compliance-workbench.service.js.map +0 -1
  166. package/dist/lib/trade-compliance-workbench.templates.d.ts +0 -31
  167. package/dist/lib/trade-compliance-workbench.templates.d.ts.map +0 -1
  168. package/dist/lib/trade-compliance-workbench.templates.js +0 -60
  169. package/dist/lib/trade-compliance-workbench.templates.js.map +0 -1
  170. package/dist/lib/trade-compliance-workbook.d.ts +0 -28
  171. package/dist/lib/trade-compliance-workbook.d.ts.map +0 -1
  172. package/dist/lib/trade-compliance-workbook.js +0 -635
  173. package/dist/lib/trade-compliance-workbook.js.map +0 -1
  174. package/dist/lib/trade-compliance.enrichment.d.ts.map +0 -1
  175. package/dist/lib/trade-compliance.enrichment.js.map +0 -1
  176. package/dist/lib/trade-compliance.matching.d.ts +0 -10
  177. package/dist/lib/trade-compliance.matching.d.ts.map +0 -1
  178. package/dist/lib/trade-compliance.matching.js +0 -63
  179. package/dist/lib/trade-compliance.matching.js.map +0 -1
  180. package/dist/xpert-trade-compliance-workbench-assistant.yaml +0 -27
package/dist/index.js CHANGED
@@ -1,128 +1,39 @@
1
- // @ts-nocheck
2
1
  import { readFileSync } from 'node:fs';
3
2
  import { dirname, join } from 'node:path';
4
3
  import { fileURLToPath } from 'node:url';
4
+ import { FEATURE, ICON, MIDDLEWARE_NAME, PLUGIN_NAME, VIEW_KEY, VIEW_PROVIDER_KEY } from './lib/constants.js';
5
5
  import { TradeComplianceWorkbenchConfigFormSchema, TradeComplianceWorkbenchConfigSchema, readTradeComplianceEnvDefaults } from './lib/trade-compliance.config.js';
6
- import { TRADE_COMPLIANCE_FEATURE, TRADE_COMPLIANCE_ICON, TRADE_COMPLIANCE_MIDDLEWARE_NAME, TRADE_COMPLIANCE_PROVIDER_KEY, TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY, TRADE_COMPLIANCE_VIEW_KEY } from './lib/constants.js';
7
- import { TradeComplianceWorkbenchPlugin } from './lib/trade-compliance-workbench.plugin.js';
8
- import { tradeComplianceWorkbenchTemplates } from './lib/trade-compliance-workbench.templates.js';
6
+ import { TradeComplianceWorkbenchPlugin } from './lib/workbench.plugin.js';
9
7
  const moduleDir = dirname(fileURLToPath(import.meta.url));
10
8
  const packageJson = JSON.parse(readFileSync(join(moduleDir, '../package.json'), 'utf8'));
11
- const ConfigSchema = TradeComplianceWorkbenchConfigSchema;
12
9
  const plugin = {
13
10
  meta: {
14
- name: packageJson.name,
15
- version: packageJson.version,
16
- level: 'organization',
17
- targetApps: ['data-xpert'],
11
+ name: packageJson.name || PLUGIN_NAME, version: packageJson.version, level: 'organization', targetApps: ['data-xpert'],
18
12
  targetAppMeta: {
19
13
  'data-xpert': {
20
14
  types: ['workbench-view', 'assistant-tool', 'business-app', 'customs-document'],
21
- capabilities: [
22
- TRADE_COMPLIANCE_FEATURE,
23
- 'controlled-goods-management',
24
- 'supplier-product-management',
25
- 'customs-workbook-generation',
26
- 'trade-compliance-assistant-template'
27
- ],
28
- marketplace: {
29
- contents: [
30
- {
31
- type: 'app',
32
- name: 'trade-compliance-workbench',
33
- displayName: 'Trade Compliance Workbench',
34
- description: 'Manage controlled goods, supplier products, and generated customs declaration workbooks.',
35
- icon: {
36
- type: 'svg',
37
- value: TRADE_COMPLIANCE_ICON,
38
- color: '#0f766e'
39
- },
40
- operations: [
41
- {
42
- name: 'manage-controlled-goods',
43
- displayName: 'Manage controlled goods',
44
- description: 'Upload, review, and manually maintain controlled goods records.',
45
- access: 'write'
46
- },
47
- {
48
- name: 'manage-supplier-products',
49
- displayName: 'Manage supplier products',
50
- description: 'Extract, enrich, review, and save supplier product records.',
51
- access: 'write'
52
- },
53
- {
54
- name: 'generate-customs-workbooks',
55
- displayName: 'Generate customs workbooks',
56
- description: 'Generate declaration, commercial invoice, sales contract, and packing list workbooks.',
57
- access: 'write'
58
- }
59
- ]
60
- },
61
- {
62
- type: 'view',
63
- name: TRADE_COMPLIANCE_VIEW_KEY,
64
- displayName: 'Trade Compliance Workbench',
65
- description: 'Workbench view for controlled goods, products, review batches, and customs workbooks.'
66
- },
67
- {
68
- type: 'tool',
69
- name: TRADE_COMPLIANCE_MIDDLEWARE_NAME,
70
- displayName: 'Trade Compliance Tools',
71
- description: 'Assistant tools for controlled goods extraction, supplier product extraction, product enrichment, matching, and customs workbook generation.'
72
- },
73
- {
74
- type: 'assistant-template',
75
- name: 'trade-compliance-workbench-assistant',
76
- displayName: 'Trade Compliance Workbench Assistant Template',
77
- description: 'Prebuilt assistant template for the Trade Compliance Workbench.'
78
- }
79
- ]
80
- },
81
- runtime: {
82
- middlewareProviders: [TRADE_COMPLIANCE_MIDDLEWARE_NAME],
83
- viewProviders: [TRADE_COMPLIANCE_PROVIDER_KEY],
84
- templateProviders: [TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY]
85
- }
15
+ capabilities: [FEATURE, 'controlled-catalog', 'sanction-catalog', 'purchase-compliance', 'customer-contract-review', 'derived-sales-compliance', 'sales-file-generation', 'trade-analytics'],
16
+ marketplace: { contents: [{ type: 'app', name: 'trade-compliance-workbench', displayName: '外贸合规工作台', description: '风险目录、采购与客户合同审核、销售合规、销售文件和实时分析。', icon: { type: 'svg', value: ICON, color: '#1456b8' }, operations: [{ name: 'manage-trade-compliance', displayName: '管理外贸合规', description: '管理外贸合规业务数据与文件。', access: 'write' }] }, { type: 'view', name: VIEW_KEY, displayName: '外贸合规工作台', description: '外贸合规业务工作台。' }, { type: 'tool', name: MIDDLEWARE_NAME, displayName: '外贸合规解析工具', description: '供智能体解析并保存外贸合规文件。' }] },
17
+ runtime: { middlewareProviders: [MIDDLEWARE_NAME], viewProviders: [VIEW_PROVIDER_KEY] }
86
18
  }
87
19
  },
88
- category: 'middleware',
89
- icon: {
90
- type: 'svg',
91
- value: TRADE_COMPLIANCE_ICON,
92
- color: '#0f766e'
93
- },
94
- displayName: 'Trade Compliance Workbench',
95
- description: 'Trade Compliance Workbench for controlled goods review, supplier product management, and customs workbook generation.',
96
- keywords: ['trade-compliance', 'controlled-goods', 'customs', 'workbook', 'assistant-template'],
97
- author: 'XpertAI Team'
98
- },
99
- config: {
100
- schema: ConfigSchema,
101
- formSchema: TradeComplianceWorkbenchConfigFormSchema,
102
- defaults: readTradeComplianceEnvDefaults()
103
- },
104
- templates: tradeComplianceWorkbenchTemplates,
105
- register(ctx) {
106
- ctx.logger.log('register trade compliance workbench plugin');
107
- return { module: TradeComplianceWorkbenchPlugin, global: true };
108
- },
109
- async onStart(ctx) {
110
- ctx.logger.log('trade compliance workbench plugin started');
20
+ category: 'middleware', icon: { type: 'svg', value: ICON, color: '#1456b8' }, displayName: '外贸合规工作台', description: '完整的外贸合规业务工作台。', keywords: ['trade-compliance', 'controlled-goods', 'sanctions', 'customs', 'sales-files'], author: 'Chen Chaolong'
111
21
  },
112
- async onStop(ctx) {
113
- ctx.logger.log('trade compliance workbench plugin stopped');
114
- }
22
+ config: { schema: TradeComplianceWorkbenchConfigSchema, formSchema: TradeComplianceWorkbenchConfigFormSchema, defaults: readTradeComplianceEnvDefaults() },
23
+ register(ctx) { ctx.logger.log('register trade compliance workbench plugin'); return { module: TradeComplianceWorkbenchPlugin, global: true }; },
24
+ async onStart(ctx) { ctx.logger.log('trade compliance workbench plugin started'); },
25
+ async onStop(ctx) { ctx.logger.log('trade compliance workbench plugin stopped'); }
115
26
  };
116
27
  export default plugin;
117
28
  export * from './lib/constants.js';
118
29
  export * from './lib/types.js';
119
30
  export * from './lib/entities/index.js';
120
- export * from './lib/trade-compliance-workbench.plugin.js';
121
- export * from './lib/trade-compliance-workbench.service.js';
122
- export * from './lib/trade-compliance-workbench.middleware.js';
123
- export * from './lib/trade-compliance-workbench-view.provider.js';
124
- export * from './lib/trade-compliance-workbench.templates.js';
125
- export * from './lib/trade-compliance.matching.js';
126
- export * from './lib/trade-compliance.enrichment.js';
127
- export * from './lib/trade-compliance-workbook.js';
31
+ export * from './lib/domain/normalization.js';
32
+ export * from './lib/domain/contract-number.js';
33
+ export * from './lib/domain/finance.js';
34
+ export * from './lib/workbench.service.js';
35
+ export * from './lib/sales-file.service.js';
36
+ export * from './lib/workbench.middleware.js';
37
+ export * from './lib/workbench-view.provider.js';
38
+ export * from './lib/workbench.plugin.js';
128
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ export declare function extractDocumentText(input: any): Promise<{
7
7
  chunked?: undefined;
8
8
  chunkCount?: undefined;
9
9
  } | {
10
- text: any;
11
- chunks: any[];
10
+ text: string;
11
+ chunks: string[];
12
12
  kind: string;
13
13
  truncated: boolean;
14
14
  chunked: boolean;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-text-extractor.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/document-text-extractor.ts"],"names":[],"mappings":"AAKA,wBAAsB,mBAAmB,CAAC,KAAK,KAAA;;;;;;;;;;;;;;;;GAkC9C"}
@@ -82,8 +82,14 @@ function extractWorkbookMarkdown(buffer) {
82
82
  return sections.join('\n\n');
83
83
  }
84
84
  async function extractWordText(buffer) {
85
- const result = await mammoth.extractRawText({ buffer });
86
- return result.value ?? '';
85
+ try {
86
+ const result = await mammoth.extractRawText({ buffer });
87
+ return result.value ?? '';
88
+ }
89
+ catch {
90
+ // Legacy .doc files are kept as assistant attachments when local text extraction is unavailable.
91
+ return '';
92
+ }
87
93
  }
88
94
  async function extractPdfText(buffer) {
89
95
  const parser = new PDFParse({ data: buffer });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-text-extractor.js","sourceRoot":"","sources":["../../../src/lib/adapters/document-text-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class TradeComplianceFileStorage {
2
+ private readonly root;
3
+ save(buffer: Buffer, fileName: string, category: 'uploads' | 'generated'): Promise<string>;
4
+ read(id: string): Promise<Buffer>;
5
+ replaceAtomic(id: string, buffer: Buffer): Promise<void>;
6
+ remove(id: string): Promise<void>;
7
+ private resolveId;
8
+ }
9
+ //# sourceMappingURL=file-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/file-storage.ts"],"names":[],"mappings":"AAKA,qBACa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkG;IAEjH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ1F,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC,OAAO,CAAC,SAAS;CAKlB"}
@@ -0,0 +1,37 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@nestjs/common';
3
+ import { mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
4
+ import { basename, join, resolve } from 'node:path';
5
+ import { randomUUID } from 'node:crypto';
6
+ let TradeComplianceFileStorage = class TradeComplianceFileStorage {
7
+ constructor() {
8
+ this.root = resolve(process.env.TRADE_COMPLIANCE_DATA_DIR || join(process.cwd(), '.trade-compliance-data'));
9
+ }
10
+ async save(buffer, fileName, category) {
11
+ const id = `${category}/${randomUUID()}-${safeName(fileName)}`;
12
+ const target = this.resolveId(id);
13
+ await mkdir(resolve(target, '..'), { recursive: true });
14
+ await writeFile(target, buffer);
15
+ return id;
16
+ }
17
+ async read(id) { return readFile(this.resolveId(id)); }
18
+ async replaceAtomic(id, buffer) {
19
+ const target = this.resolveId(id);
20
+ const temporary = `${target}.${randomUUID()}.tmp`;
21
+ await writeFile(temporary, buffer);
22
+ await rename(temporary, target);
23
+ }
24
+ async remove(id) { await rm(this.resolveId(id), { force: true }); }
25
+ resolveId(id) {
26
+ const target = resolve(this.root, id);
27
+ if (!target.startsWith(this.root + '/'))
28
+ throw new Error('非法文件标识');
29
+ return target;
30
+ }
31
+ };
32
+ TradeComplianceFileStorage = __decorate([
33
+ Injectable()
34
+ ], TradeComplianceFileStorage);
35
+ export { TradeComplianceFileStorage };
36
+ function safeName(value) { return basename(value).replace(/[^a-zA-Z0-9._\-\u4e00-\u9fff]/g, '_'); }
37
+ //# sourceMappingURL=file-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../../src/lib/adapters/file-storage.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGjC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAAhC;QACY,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,wBAAwB,CAAC,CAAC,CAAA;IA0BzH,CAAC;IAxBC,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,QAAgB,EAAE,QAAiC;QAC5E,MAAM,EAAE,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,IAAqB,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;IAE/E,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,MAAc;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,UAAU,EAAE,MAAM,CAAA;QACjD,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAClC,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,IAAmB,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC;IAEjF,SAAS,CAAC,EAAU;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClE,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AA3BY,0BAA0B;IADtC,UAAU,EAAE;GACA,0BAA0B,CA2BtC;;AAED,SAAS,QAAQ,CAAC,KAAa,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC"}
@@ -27,7 +27,7 @@ export declare function searchHsBianmaCodes(input: any, config: any): Promise<{
27
27
  maxVisiblePage: number;
28
28
  hasPrevious: boolean;
29
29
  hasNext: boolean;
30
- pages: any[];
30
+ pages: never[];
31
31
  };
32
32
  }>;
33
33
  export declare function getHsBianmaCodeDetail(input: any, config: any): Promise<{
@@ -35,21 +35,21 @@ export declare function getHsBianmaCodeDetail(input: any, config: any): Promise<
35
35
  name: any;
36
36
  title: any;
37
37
  sourceUrl: string;
38
- sections: any[];
38
+ sections: never[];
39
39
  }>;
40
- export declare function parseHsBianmaSearchResults(html: any, baseUrl?: string): any[];
40
+ export declare function parseHsBianmaSearchResults(html: any, baseUrl?: string): never[];
41
41
  export declare function parseHsBianmaPagination(html: any, keywords: any, currentPage?: number): {
42
42
  currentPage: number;
43
43
  maxVisiblePage: number;
44
44
  hasPrevious: boolean;
45
45
  hasNext: boolean;
46
- pages: any[];
46
+ pages: never[];
47
47
  };
48
48
  export declare function parseHsBianmaCodeDetail(html: any, sourceUrl: any): {
49
49
  code: any;
50
50
  name: any;
51
51
  title: any;
52
52
  sourceUrl: any;
53
- sections: any[];
53
+ sections: never[];
54
54
  };
55
- //# sourceMappingURL=trade-compliance.enrichment.d.ts.map
55
+ //# sourceMappingURL=hsbianma.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsbianma.provider.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/hsbianma.provider.ts"],"names":[],"mappings":"AAKA,wBAAsB,yBAAyB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;;;;;GAYlE;AACD,wBAAsB,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;;;;;;;;;;;;;;;GAkCtD;AACD,wBAAsB,qBAAqB,CAAC,KAAK,KAAA,EAAE,MAAM,KAAA;;;;;;GAexD;AA0FD,wBAAgB,0BAA0B,CAAC,IAAI,KAAA,EAAE,OAAO,SAA4B,WA+BnF;AACD,wBAAgB,uBAAuB,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA,EAAE,WAAW,SAAI;;;;;;EA8BtE;AACD,wBAAgB,uBAAuB,CAAC,IAAI,KAAA,EAAE,SAAS,KAAA;;;;;;EA0BtD"}
@@ -295,4 +295,4 @@ function summarizeError(error) {
295
295
  }
296
296
  return String(error).slice(0, 300);
297
297
  }
298
- //# sourceMappingURL=trade-compliance.enrichment.js.map
298
+ //# sourceMappingURL=hsbianma.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsbianma.provider.js","sourceRoot":"","sources":["../../../src/lib/adapters/hsbianma.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class TranslationProvider {
2
+ toEnglish(value: string): Promise<string | null>;
3
+ }
4
+ //# sourceMappingURL=translation.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.provider.d.ts","sourceRoot":"","sources":["../../../src/lib/adapters/translation.provider.ts"],"names":[],"mappings":"AAEA,qBACa,mBAAmB;IACxB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAgBvD"}
@@ -0,0 +1,35 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@nestjs/common';
3
+ let TranslationProvider = class TranslationProvider {
4
+ async toEnglish(value) {
5
+ const text = value.trim();
6
+ if (!text)
7
+ return '';
8
+ if (/^[\x00-\x7F]+$/.test(text))
9
+ return text;
10
+ const endpoint = process.env.TRADE_COMPLIANCE_TRANSLATION_ENDPOINT;
11
+ if (!endpoint)
12
+ return null;
13
+ const controller = new AbortController();
14
+ const timeout = setTimeout(() => controller.abort(), Number(process.env.TRADE_COMPLIANCE_TRANSLATION_TIMEOUT_MS || 30000));
15
+ try {
16
+ const response = await fetch(endpoint, { method: 'POST', headers: { 'content-type': 'application/json', ...(process.env.TRADE_COMPLIANCE_TRANSLATION_API_KEY ? { authorization: `Bearer ${process.env.TRADE_COMPLIANCE_TRANSLATION_API_KEY}` } : {}) }, body: JSON.stringify({ text, targetLanguage: 'English' }), signal: controller.signal });
17
+ if (!response.ok)
18
+ return null;
19
+ const payload = await response.json();
20
+ const translated = String(payload.translation ?? payload.text ?? '').trim();
21
+ return translated || null;
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ finally {
27
+ clearTimeout(timeout);
28
+ }
29
+ }
30
+ };
31
+ TranslationProvider = __decorate([
32
+ Injectable()
33
+ ], TranslationProvider);
34
+ export { TranslationProvider };
35
+ //# sourceMappingURL=translation.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation.provider.js","sourceRoot":"","sources":["../../../src/lib/adapters/translation.provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGpC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAA;QAClE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,IAAI,KAAK,CAAC,CAAC,CAAA;QAC1H,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;YAC/U,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAA;YAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAA;YAChE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC3E,OAAO,UAAU,IAAI,IAAI,CAAA;QAC3B,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAjBY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAiB/B"}
@@ -1,12 +1,18 @@
1
- export declare const TRADE_COMPLIANCE_PLUGIN_NAME = "@chenchaolong/plugin-trade-compliance-workbench";
2
- export declare const TRADE_COMPLIANCE_PROVIDER_KEY = "trade_compliance_workbench";
3
- export declare const TRADE_COMPLIANCE_VIEW_KEY = "trade_compliance_workbench";
4
- export declare const TRADE_COMPLIANCE_REMOTE_ENTRY_KEY = "trade-compliance-workbench";
5
- export declare const TRADE_COMPLIANCE_FEATURE = "trade_compliance_workbench";
6
- export declare const TRADE_COMPLIANCE_MIDDLEWARE_NAME = "TradeComplianceWorkbenchMiddleware";
7
- export declare const TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY = "tradeComplianceWorkbenchTemplates";
8
- export declare const AGENT_WORKBENCH_MAIN_SLOT = "agent.workbench.main";
9
- export declare const AGENT_WORKBENCH_FIXED_SLOT = "agent.workbench.fixed";
10
- export declare const TRADE_COMPLIANCE_TOOL_NAMES: string[];
11
- export declare const TRADE_COMPLIANCE_ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16v16H4z\"/><path d=\"M8 8h8\"/><path d=\"M8 12h8\"/><path d=\"M8 16h5\"/><path d=\"m16 15 2 2 3-4\"/></svg>";
1
+ export declare const PLUGIN_NAME = "@chenchaolong/plugin-trade-compliance-workbench";
2
+ export declare const FEATURE = "trade-compliance-workbench";
3
+ export declare const VIEW_KEY = "trade-compliance-workbench";
4
+ export declare const VIEW_PROVIDER_KEY = "trade-compliance-workbench-view-provider";
5
+ export declare const REMOTE_ENTRY_KEY = "trade-compliance-workbench";
6
+ export declare const MIDDLEWARE_NAME = "tradeComplianceWorkbench";
7
+ export declare const TOOL_NAMES: {
8
+ readonly saveControlledCatalog: "trade_compliance_save_controlled_catalog";
9
+ readonly saveSanctionCatalog: "trade_compliance_save_sanction_catalog";
10
+ readonly savePurchaseDraft: "trade_compliance_save_purchase_draft";
11
+ readonly saveCustomerContractDraft: "trade_compliance_save_customer_contract_draft";
12
+ readonly searchHsCode: "trade_compliance_search_hs_code";
13
+ };
14
+ export declare const MAIN_SLOT = "agent-workbench-main";
15
+ export declare const FIXED_SLOT = "agent-workbench-fixed";
16
+ export declare const TEMPLATE_VERSION = "fixed-v1";
17
+ export declare const ICON = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2 3 5.5V11c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5.5L12 2Zm0 4.18 5 1.95V11c0 3.7-2.32 7.38-5 8.55C9.32 18.38 7 14.7 7 11V8.13l5-1.95Zm-1 2.32v3H8.5v2H11v3h2v-3h2.5v-2H13v-3h-2Z\"/></svg>";
12
18
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,4BAA4B,oDAAoD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAC1E,eAAO,MAAM,yBAAyB,+BAA+B,CAAC;AACtE,eAAO,MAAM,iCAAiC,+BAA+B,CAAC;AAC9E,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AACrF,eAAO,MAAM,sCAAsC,sCAAsC,CAAC;AAC1F,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAChE,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAClE,eAAO,MAAM,2BAA2B,UASvC,CAAC;AACF,eAAO,MAAM,qBAAqB,4SAAoR,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,oDAAoD,CAAA;AAC5E,eAAO,MAAM,OAAO,+BAA+B,CAAA;AACnD,eAAO,MAAM,QAAQ,+BAA+B,CAAA;AACpD,eAAO,MAAM,iBAAiB,6CAA6C,CAAA;AAC3E,eAAO,MAAM,gBAAgB,+BAA+B,CAAA;AAC5D,eAAO,MAAM,eAAe,6BAA6B,CAAA;AACzD,eAAO,MAAM,UAAU;;;;;;CAMb,CAAA;AACV,eAAO,MAAM,SAAS,yBAAyB,CAAA;AAC/C,eAAO,MAAM,UAAU,0BAA0B,CAAA;AACjD,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C,eAAO,MAAM,IAAI,2SAAmS,CAAA"}
@@ -1,22 +1,18 @@
1
- // @ts-nocheck
2
- export const TRADE_COMPLIANCE_PLUGIN_NAME = '@chenchaolong/plugin-trade-compliance-workbench';
3
- export const TRADE_COMPLIANCE_PROVIDER_KEY = 'trade_compliance_workbench';
4
- export const TRADE_COMPLIANCE_VIEW_KEY = 'trade_compliance_workbench';
5
- export const TRADE_COMPLIANCE_REMOTE_ENTRY_KEY = 'trade-compliance-workbench';
6
- export const TRADE_COMPLIANCE_FEATURE = 'trade_compliance_workbench';
7
- export const TRADE_COMPLIANCE_MIDDLEWARE_NAME = 'TradeComplianceWorkbenchMiddleware';
8
- export const TRADE_COMPLIANCE_TEMPLATE_PROVIDER_KEY = 'tradeComplianceWorkbenchTemplates';
9
- export const AGENT_WORKBENCH_MAIN_SLOT = 'agent.workbench.main';
10
- export const AGENT_WORKBENCH_FIXED_SLOT = 'agent.workbench.fixed';
11
- export const TRADE_COMPLIANCE_TOOL_NAMES = [
12
- 'trade_compliance_save_controlled_goods_extraction',
13
- 'trade_compliance_save_supplier_contract_extraction',
14
- 'trade_compliance_enrich_product',
15
- 'trade_compliance_match_controlled_goods',
16
- 'trade_compliance_save_sales_contract_extraction',
17
- 'trade_compliance_prepare_customs_workbook',
18
- 'trade_compliance_record_generated_workbook',
19
- 'trade_compliance_get_controlled_goods_extracted_text_chunk'
20
- ];
21
- export const TRADE_COMPLIANCE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16v16H4z"/><path d="M8 8h8"/><path d="M8 12h8"/><path d="M8 16h5"/><path d="m16 15 2 2 3-4"/></svg>';
1
+ export const PLUGIN_NAME = '@chenchaolong/plugin-trade-compliance-workbench';
2
+ export const FEATURE = 'trade-compliance-workbench';
3
+ export const VIEW_KEY = 'trade-compliance-workbench';
4
+ export const VIEW_PROVIDER_KEY = 'trade-compliance-workbench-view-provider';
5
+ export const REMOTE_ENTRY_KEY = 'trade-compliance-workbench';
6
+ export const MIDDLEWARE_NAME = 'tradeComplianceWorkbench';
7
+ export const TOOL_NAMES = {
8
+ saveControlledCatalog: 'trade_compliance_save_controlled_catalog',
9
+ saveSanctionCatalog: 'trade_compliance_save_sanction_catalog',
10
+ savePurchaseDraft: 'trade_compliance_save_purchase_draft',
11
+ saveCustomerContractDraft: 'trade_compliance_save_customer_contract_draft',
12
+ searchHsCode: 'trade_compliance_search_hs_code'
13
+ };
14
+ export const MAIN_SLOT = 'agent-workbench-main';
15
+ export const FIXED_SLOT = 'agent-workbench-fixed';
16
+ export const TEMPLATE_VERSION = 'fixed-v1';
17
+ export const ICON = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2 3 5.5V11c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5.5L12 2Zm0 4.18 5 1.95V11c0 3.7-2.32 7.38-5 8.55C9.32 18.38 7 14.7 7 11V8.13l5-1.95Zm-1 2.32v3H8.5v2H11v3h2v-3h2.5v-2H13v-3h-2Z"/></svg>';
22
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,MAAM,CAAC,MAAM,4BAA4B,GAAG,iDAAiD,CAAC;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAA4B,CAAC;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AACtE,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AACrE,MAAM,CAAC,MAAM,gCAAgC,GAAG,oCAAoC,CAAC;AACrF,MAAM,CAAC,MAAM,sCAAsC,GAAG,mCAAmC,CAAC;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,sBAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACvC,mDAAmD;IACnD,oDAAoD;IACpD,iCAAiC;IACjC,yCAAyC;IACzC,iDAAiD;IACjD,2CAA2C;IAC3C,4CAA4C;IAC5C,4DAA4D;CAC/D,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,iRAAiR,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,iDAAiD,CAAA;AAC5E,MAAM,CAAC,MAAM,OAAO,GAAG,4BAA4B,CAAA;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,4BAA4B,CAAA;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,0CAA0C,CAAA;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAA;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,qBAAqB,EAAE,0CAA0C;IACjE,mBAAmB,EAAE,wCAAwC;IAC7D,iBAAiB,EAAE,sCAAsC;IACzD,yBAAyB,EAAE,+CAA+C;IAC1E,YAAY,EAAE,iCAAiC;CACvC,CAAA;AACV,MAAM,CAAC,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAC/C,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAA;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAE1C,MAAM,CAAC,MAAM,IAAI,GAAG,gSAAgS,CAAA"}
@@ -0,0 +1,14 @@
1
+ export interface ParsedPurchaseContractNo {
2
+ normalized: string;
3
+ baseCode: string;
4
+ sequence: string | null;
5
+ salesOrderNo: string;
6
+ }
7
+ export declare function parseCustomerContractNo(value: string): {
8
+ normalized: string;
9
+ baseCode: string;
10
+ };
11
+ export declare function parsePurchaseContractNo(value: string): ParsedPurchaseContractNo;
12
+ export declare function purchaseMatchesCustomer(purchaseContractNo: string, customerContractNo: string): boolean;
13
+ export declare function salesDocumentNo(salesOrderNo: string, type: 'PI' | 'CI'): string;
14
+ //# sourceMappingURL=contract-number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-number.d.ts","sourceRoot":"","sources":["../../../src/lib/domain/contract-number.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAO/F;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAY/E;AAED,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAEvG;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAM/E"}
@@ -0,0 +1,36 @@
1
+ import { DomainError, DomainErrorCodes } from '../types.js';
2
+ import { normalizeContractNo } from './normalization.js';
3
+ const CUSTOMER_CONTRACT_PATTERN = /^(.+)X$/;
4
+ const PURCHASE_CONTRACT_PATTERN = /^(.+?)(?:-(\d+))?C$/;
5
+ export function parseCustomerContractNo(value) {
6
+ const normalized = normalizeContractNo(value);
7
+ const match = CUSTOMER_CONTRACT_PATTERN.exec(normalized);
8
+ if (!match || !match[1] || /-\d+$/.test(match[1])) {
9
+ throw new DomainError(DomainErrorCodes.INVALID_CONTRACT_NO, '客户合同编码必须为基础编码加 X,且不能包含销售订单序号', { value });
10
+ }
11
+ return { normalized, baseCode: match[1] };
12
+ }
13
+ export function parsePurchaseContractNo(value) {
14
+ const normalized = normalizeContractNo(value);
15
+ const match = PURCHASE_CONTRACT_PATTERN.exec(normalized);
16
+ if (!match || !match[1]) {
17
+ throw new DomainError(DomainErrorCodes.INVALID_CONTRACT_NO, '采购合同编码必须为基础编码加 C,或基础编码加序号再加 C', { value });
18
+ }
19
+ return {
20
+ normalized,
21
+ baseCode: match[1],
22
+ sequence: match[2] ?? null,
23
+ salesOrderNo: normalized.slice(0, -1) + 'X'
24
+ };
25
+ }
26
+ export function purchaseMatchesCustomer(purchaseContractNo, customerContractNo) {
27
+ return parsePurchaseContractNo(purchaseContractNo).baseCode === parseCustomerContractNo(customerContractNo).baseCode;
28
+ }
29
+ export function salesDocumentNo(salesOrderNo, type) {
30
+ const normalized = normalizeContractNo(salesOrderNo);
31
+ if (!normalized.endsWith('X')) {
32
+ throw new DomainError(DomainErrorCodes.INVALID_CONTRACT_NO, '销售订单编号必须以 X 结尾', { salesOrderNo });
33
+ }
34
+ return normalized.slice(0, -1) + (type === 'PI' ? 'P' : 'C');
35
+ }
36
+ //# sourceMappingURL=contract-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-number.js","sourceRoot":"","sources":["../../../src/lib/domain/contract-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,yBAAyB,GAAG,SAAS,CAAA;AAC3C,MAAM,yBAAyB,GAAG,qBAAqB,CAAA;AASvD,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACxG,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACzG,CAAC;IACD,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;QAC1B,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,kBAA0B,EAAE,kBAA0B;IAC5F,OAAO,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,KAAK,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAA;AACtH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,IAAiB;IACrE,MAAM,UAAU,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;IACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,WAAW,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAA;IACjG,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { BankAccountType } from '../types.js';
2
+ export declare const DEFAULT_COMPANY: {
3
+ readonly logoFileId: null;
4
+ readonly companyNameZh: "闰镁科技(深圳)有限公司";
5
+ readonly companyNameEn: "Yuneec Technology (Shenzhen) Co.,Ltd.";
6
+ readonly unifiedSocialCreditCode: "91440300MA5FRXNA51";
7
+ readonly addressZh: null;
8
+ readonly addressEn: "Room602,Building16,No.A3,4thIndustrial Zone,Heshuikou Community,Matian Street,Guangming District,Shenzhen,Guangdong";
9
+ readonly phone: "+86 15112619120";
10
+ readonly email: "sales03@yuneectech.com";
11
+ };
12
+ export declare const DEFAULT_BANKS: ReadonlyArray<{
13
+ bankType: BankAccountType;
14
+ beneficiary: string;
15
+ bankName: string;
16
+ bankAddress: string;
17
+ cnapsCode: string;
18
+ accountNo: string;
19
+ swiftCode: string;
20
+ }>;
21
+ export declare const DEFAULT_PROFIT_RULE: {
22
+ status: "ACTIVE";
23
+ ruleVersion: string;
24
+ minimumOrderProfitRate: string;
25
+ exchangeCostMinimum: string;
26
+ exchangeCostMaximum: string;
27
+ };
28
+ //# sourceMappingURL=default-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-settings.d.ts","sourceRoot":"","sources":["../../../src/lib/domain/default-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAA;AAEV,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAG3L,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;CAAkJ,CAAA"}