hs-code-classifier-mcp 1.0.17 → 1.0.18

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/schemas/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAoBrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ export var ResponseFormat;
3
+ (function (ResponseFormat) {
4
+ ResponseFormat["MARKDOWN"] = "markdown";
5
+ ResponseFormat["JSON"] = "json";
6
+ })(ResponseFormat || (ResponseFormat = {}));
7
+ export const ClassifyInputSchema = z.object({
8
+ product_description: z.string()
9
+ .min(3, 'Product description must be at least 3 characters')
10
+ .max(500, 'Product description must not exceed 500 characters')
11
+ .describe('Description of the product to classify. Be specific -- include material, function, and intended use ' +
12
+ '(e.g. "solid oak dining chair with upholstered seat", "stainless steel 500ml insulated water bottle"). ' +
13
+ 'More specific descriptions return higher-confidence codes.'),
14
+ country: z.string()
15
+ .length(2, 'Must be ISO 3166-1 alpha-2 country code (e.g. US, SG, CA, AU)')
16
+ .default('US')
17
+ .describe('2-letter ISO country code for the importing country tariff schedule. ' +
18
+ 'Supported: US (USITC), SG (Singapore Customs), CA (CBSA), AU (Australia Border Force). ' +
19
+ 'Defaults to US. Use the destination country for import classification.'),
20
+ response_format: z.nativeEnum(ResponseFormat)
21
+ .default(ResponseFormat.JSON)
22
+ .describe("Output format: 'json' for machine-readable agent use (recommended) or 'markdown' for human-readable display")
23
+ }).strict();
24
+ //# sourceMappingURL=classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/schemas/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;SAC5B,GAAG,CAAC,CAAC,EAAE,mDAAmD,CAAC;SAC3D,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC;SAC9D,QAAQ,CACP,sGAAsG;QACtG,yGAAyG;QACzG,4DAA4D,CAC7D;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,MAAM,CAAC,CAAC,EAAE,+DAA+D,CAAC;SAC1E,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,uEAAuE;QACvE,yFAAyF;QACzF,wEAAwE,CACzE;IACH,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;SAC1C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;SAC5B,QAAQ,CAAC,6GAA6G,CAAC;CAC3H,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/schemas/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EA2BrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { ResponseFormat } from './classify.js';
3
+ export { ResponseFormat };
4
+ export const ValidateInputSchema = z.object({
5
+ hs_code: z.string()
6
+ .min(4, 'HS code must be at least 4 digits')
7
+ .max(14, 'HS code must not exceed 14 characters')
8
+ .describe('The HS code to validate as provided by the supplier or external system. ' +
9
+ 'Accepts 6, 8, or 10-digit codes with or without dots (e.g. "940360", "9403.60.80", "9403608093"). ' +
10
+ 'Dots and spaces are stripped automatically.'),
11
+ product_description: z.string()
12
+ .min(3, 'Product description must be at least 3 characters')
13
+ .max(500, 'Product description must not exceed 500 characters')
14
+ .describe('Description of the product the supplier assigned this HS code to. ' +
15
+ 'Used for AI mismatch detection -- include material, function, and use ' +
16
+ '(e.g. "solid oak dining chair", "stainless steel water bottle 500ml").'),
17
+ country: z.string()
18
+ .length(2, 'Must be ISO 3166-1 alpha-2 country code (e.g. US, SG, CA, AU)')
19
+ .default('US')
20
+ .describe('2-letter ISO country code for the destination country tariff schedule. Defaults to US. ' +
21
+ 'Use the importing country to validate against the correct tariff version.'),
22
+ response_format: z.nativeEnum(ResponseFormat)
23
+ .default(ResponseFormat.JSON)
24
+ .describe("Output format: 'json' for machine-readable agent use (recommended) or 'markdown' for human-readable display")
25
+ }).strict();
26
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schemas/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;SAC3C,GAAG,CAAC,EAAE,EAAE,uCAAuC,CAAC;SAChD,QAAQ,CACP,0EAA0E;QAC1E,oGAAoG;QACpG,6CAA6C,CAC9C;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;SAC5B,GAAG,CAAC,CAAC,EAAE,mDAAmD,CAAC;SAC3D,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC;SAC9D,QAAQ,CACP,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE,CACzE;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,MAAM,CAAC,CAAC,EAAE,+DAA+D,CAAC;SAC1E,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,yFAAyF;QACzF,2EAA2E,CAC5E;IACH,eAAe,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;SAC1C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;SAC5B,QAAQ,CAAC,6GAA6G,CAAC;CAC3H,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-client.d.ts","sourceRoot":"","sources":["../../src/services/claude-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,wBAAsB,cAAc,CAClC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CvG;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAmED"}
@@ -0,0 +1,98 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ function getClient() {
3
+ const key = process.env.ANTHROPIC_API_KEY;
4
+ if (!key)
5
+ throw new Error('ANTHROPIC_API_KEY environment variable not set');
6
+ return new Anthropic({ apiKey: key });
7
+ }
8
+ export async function classifyWithAI(productDescription, results, country) {
9
+ const client = getClient();
10
+ const resultsText = results
11
+ .map((r, i) => `${i + 1}. HS: ${r.hscode} | WCO: ${r.wco ?? 'N/A'} | ${r.description_en} | ${r.source} v${r.version}`)
12
+ .join('\n');
13
+ const message = await client.messages.create({
14
+ model: 'claude-sonnet-4-6',
15
+ max_tokens: 512,
16
+ system: 'You are a customs classification expert. Analyze HS code matches against a product description and select the best match. ' +
17
+ 'Respond ONLY with valid JSON -- no markdown, no explanation outside the JSON.',
18
+ messages: [
19
+ {
20
+ role: 'user',
21
+ content: `Product: "${productDescription}"\nCountry: ${country}\n\nOfficial tariff results:\n${resultsText}\n\n` +
22
+ 'Select the best match and respond with JSON only:\n' +
23
+ '{"best_match_index":0,"confidence_level":"HIGH|MEDIUM|LOW","reasoning":"One sentence explaining why this is the correct classification and any ambiguity."}'
24
+ }
25
+ ]
26
+ });
27
+ const raw = message.content[0].type === 'text' ? message.content[0].text.trim() : '{}';
28
+ const cleaned = raw.replace(/^```json\s*/i, '').replace(/\s*```$/, '').trim();
29
+ try {
30
+ const parsed = JSON.parse(cleaned);
31
+ const idx = Math.max(0, Math.min(results.length - 1, parsed.best_match_index ?? 0));
32
+ const level = ['HIGH', 'MEDIUM', 'LOW'].includes(parsed.confidence_level)
33
+ ? parsed.confidence_level
34
+ : 'MEDIUM';
35
+ return {
36
+ confidence_level: level,
37
+ reasoning: parsed.reasoning ?? 'Classification based on official tariff schedule match.',
38
+ best_match_index: idx
39
+ };
40
+ }
41
+ catch {
42
+ return { confidence_level: 'MEDIUM', reasoning: 'Classification based on official tariff schedule match.', best_match_index: 0 };
43
+ }
44
+ }
45
+ export async function validateWithAI(hsCode, productDescription, country, results) {
46
+ const client = getClient();
47
+ const resultsText = results.length > 0
48
+ ? results
49
+ .slice(0, 10)
50
+ .map((r, i) => `${i + 1}. HS: ${r.hscode} | WCO: ${r.wco ?? 'N/A'} | ${r.description_en} | ${r.source} v${r.version}`)
51
+ .join('\n')
52
+ : 'No matching codes found in the official tariff schedule for this product description.';
53
+ const message = await client.messages.create({
54
+ model: 'claude-sonnet-4-6',
55
+ max_tokens: 640,
56
+ system: 'You are a customs compliance expert. Validate HS codes against product descriptions and official tariff schedules. ' +
57
+ 'Be precise about mismatches -- wrong classifications carry legal liability for the importer. ' +
58
+ 'Respond ONLY with valid JSON -- no markdown, no explanation outside the JSON.',
59
+ messages: [
60
+ {
61
+ role: 'user',
62
+ content: `HS code to validate: "${hsCode}"\nProduct: "${productDescription}"\nCountry: ${country}\n\n` +
63
+ `Official tariff results for this product:\n${resultsText}\n\n` +
64
+ 'Determine if the HS code is correct. Consider: does the code appear in official results? ' +
65
+ 'Is the product description consistent with the code tariff description? Could this be a mismatch or outdated code?\n\n' +
66
+ 'Respond with JSON only (omit optional fields if not applicable):\n' +
67
+ '{"verdict":"VALID|INVALID|MISMATCH|OUTDATED","product_match_score":0.0,' +
68
+ '"mismatch_reason":"only if MISMATCH or INVALID","correct_code_suggestion":"HS code if better match exists",' +
69
+ '"risk_level":"LOW|MEDIUM|HIGH","agent_action":"one clear instruction for the agent"}'
70
+ }
71
+ ]
72
+ });
73
+ const raw = message.content[0].type === 'text' ? message.content[0].text.trim() : '{}';
74
+ const cleaned = raw.replace(/^```json\s*/i, '').replace(/\s*```$/, '').trim();
75
+ try {
76
+ const parsed = JSON.parse(cleaned);
77
+ const verdicts = ['VALID', 'INVALID', 'MISMATCH', 'OUTDATED'];
78
+ const risks = ['LOW', 'MEDIUM', 'HIGH'];
79
+ return {
80
+ verdict: verdicts.includes(parsed.verdict) ? parsed.verdict : 'INVALID',
81
+ product_match_score: Math.min(1.0, Math.max(0.0, parsed.product_match_score ?? 0.0)),
82
+ mismatch_reason: parsed.mismatch_reason,
83
+ correct_code_suggestion: parsed.correct_code_suggestion,
84
+ risk_level: risks.includes(parsed.risk_level) ? parsed.risk_level : 'HIGH',
85
+ agent_action: parsed.agent_action ?? 'Escalate for manual customs review before approving this shipment.'
86
+ };
87
+ }
88
+ catch {
89
+ return {
90
+ verdict: 'INVALID',
91
+ product_match_score: 0.0,
92
+ mismatch_reason: 'AI validation failed to parse HS code response',
93
+ risk_level: 'HIGH',
94
+ agent_action: 'Do not approve this shipment. Escalate for manual customs review.'
95
+ };
96
+ }
97
+ }
98
+ //# sourceMappingURL=claude-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-client.js","sourceRoot":"","sources":["../../src/services/claude-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsping-client.d.ts","sourceRoot":"","sources":["../../src/services/hsping-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWzF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAevG;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import axios, { AxiosError } from 'axios';
2
+ import { HSPING_BASE_URL } from '../constants.js';
3
+ export async function queryHSPing(query, country) {
4
+ const key = process.env.HSPING_API_KEY;
5
+ if (!key)
6
+ throw new Error('HSPING_API_KEY environment variable not set');
7
+ const response = await axios.get(HSPING_BASE_URL, {
8
+ params: { query, country },
9
+ headers: { Authorization: `Bearer ${key}` },
10
+ timeout: 10000
11
+ });
12
+ return response.data;
13
+ }
14
+ export async function checkHSPingHealth() {
15
+ const start = Date.now();
16
+ try {
17
+ const key = process.env.HSPING_API_KEY;
18
+ if (!key)
19
+ return { ok: false, latency_ms: 0, detail: 'HSPING_API_KEY not set' };
20
+ await axios.get(HSPING_BASE_URL, {
21
+ params: { query: 'wooden chair', country: 'US' },
22
+ headers: { Authorization: `Bearer ${key}` },
23
+ timeout: 8000
24
+ });
25
+ return { ok: true, latency_ms: Date.now() - start };
26
+ }
27
+ catch (err) {
28
+ const msg = err instanceof AxiosError ? `HTTP ${err.response?.status}` : String(err);
29
+ return { ok: false, latency_ms: Date.now() - start, detail: msg };
30
+ }
31
+ }
32
+ export { AxiosError };
33
+ //# sourceMappingURL=hsping-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsping-client.js","sourceRoot":"","sources":["../../src/services/hsping-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAiB,eAAe,EAAE;QAChE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAC1B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE;QAC3C,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAChF,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE;YAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;YAChD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE;YAC3C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACpE,CAAC;AACH,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../src/services/redis.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAW5D;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASzE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUlE;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E"}
@@ -0,0 +1,66 @@
1
+ const UPSTASH_URL = process.env.UPSTASH_REDIS_REST_URL ?? '';
2
+ const UPSTASH_TOKEN = process.env.UPSTASH_REDIS_REST_TOKEN ?? '';
3
+ export const REDIS_PREFIX = 'hs';
4
+ export async function redisGet(key) {
5
+ try {
6
+ const res = await fetch(`${UPSTASH_URL}/get/${encodeURIComponent(key)}`, { headers: { Authorization: `Bearer ${UPSTASH_TOKEN}` } });
7
+ const data = await res.json();
8
+ if (data.error)
9
+ console.error('[Redis] redisGet error:', data.error, 'key:', key);
10
+ if (!data.result)
11
+ return null;
12
+ return JSON.parse(data.result);
13
+ }
14
+ catch {
15
+ return null;
16
+ }
17
+ }
18
+ export async function redisSet(key, value) {
19
+ try {
20
+ const res = await fetch(`${process.env.UPSTASH_REDIS_REST_URL}/set/${encodeURIComponent(key)}/${encodeURIComponent(JSON.stringify(value))}`, { method: 'GET', headers: { Authorization: `Bearer ${process.env.UPSTASH_REDIS_REST_TOKEN}` } });
21
+ const data = await res.json();
22
+ if (data.error)
23
+ console.error('[Redis] redisSet error:', data.error, 'key:', key);
24
+ }
25
+ catch (e) {
26
+ console.error('[Redis] redisSet failed:', e);
27
+ }
28
+ }
29
+ export async function redisExpire(key, seconds) {
30
+ try {
31
+ const res = await fetch(`${UPSTASH_URL}/expire/${encodeURIComponent(key)}/${seconds}`, { method: 'POST', headers: { Authorization: `Bearer ${UPSTASH_TOKEN}` } });
32
+ const data = await res.json();
33
+ if (data.error)
34
+ console.error('[Redis] redisExpire error:', data.error, 'key:', key);
35
+ }
36
+ catch (e) {
37
+ console.error('[Redis] redisExpire failed:', e);
38
+ }
39
+ }
40
+ export async function redisKeys(pattern) {
41
+ try {
42
+ const res = await fetch(`${UPSTASH_URL}/keys/${encodeURIComponent(pattern)}`, { headers: { Authorization: `Bearer ${UPSTASH_TOKEN}` } });
43
+ const data = await res.json();
44
+ if (data.error)
45
+ console.error('[Redis] redisKeys error:', data.error, 'pattern:', pattern);
46
+ return data.result ?? [];
47
+ }
48
+ catch {
49
+ return [];
50
+ }
51
+ }
52
+ export async function appendSessionLog(ip, tool) {
53
+ try {
54
+ const ipSafe = ip.replace(/:/g, '_').replace(/\s/g, '');
55
+ const dayKey = new Date().toISOString().slice(0, 10);
56
+ const key = `${REDIS_PREFIX}:session:${ipSafe}:${dayKey}`;
57
+ const existing = await redisGet(key) ?? [];
58
+ existing.push({ tool, timestamp: new Date().toISOString() });
59
+ await redisSet(key, existing);
60
+ await redisExpire(key, 86400);
61
+ }
62
+ catch (e) {
63
+ console.error('[SessionLog] internal error:', e);
64
+ }
65
+ }
66
+ //# sourceMappingURL=redis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/services/redis.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;AAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;AAEjE,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,WAAW,QAAQ,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAC/C,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,aAAa,EAAE,EAAE,EAAE,CAC1D,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAyC,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,KAAc;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,QAAQ,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EACnH,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,EAAE,EAAE,CAChG,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAwB,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,OAAe;IAC5D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,WAAW,WAAW,kBAAkB,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,EAC7D,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,aAAa,EAAE,EAAE,EAAE,CAC1E,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAwB,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,WAAW,SAAS,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACpD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,aAAa,EAAE,EAAE,EAAE,CAC1D,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA2C,CAAC;QACvE,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU,EAAE,IAAY;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,GAAG,YAAY,YAAY,MAAM,IAAI,MAAM,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAI,MAAM,QAAQ,CAAC,GAAG,CAAuD,IAAI,EAAE,CAAC;QAClG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9B,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/tools/classify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA0BzD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,KAAK,EACZ,cAAc,GAAE,MAAgC,GAC/C,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA4K7E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAG1F"}
@@ -0,0 +1,193 @@
1
+ import { queryHSPing, AxiosError } from '../services/hsping-client.js';
2
+ import { classifyWithAI } from '../services/claude-client.js';
3
+ import { ResponseFormat } from '../schemas/classify.js';
4
+ import { nowISO, LEGAL_DISCLAIMER, FREE_TIER_MONTHLY_LIMIT, FREE_TIER_WARNING_THRESHOLD, PRO_UPGRADE_URL, ENTERPRISE_UPGRADE_URL } from '../constants.js';
5
+ function buildMarkdown(out) {
6
+ const lines = [
7
+ `## HS Code Classification`,
8
+ `**Verdict:** ${out.verdict}`,
9
+ `**HS Code:** ${out.hs_code}`,
10
+ out.wco_6digit ? `**WCO 6-digit:** ${out.wco_6digit}` : '',
11
+ `**Description:** ${out.description}`,
12
+ `**Country:** ${out.country}`,
13
+ `**Source:** ${out.source} (v${out.version}, updated ${out.last_updated})`,
14
+ `**Direction:** ${out.direction}`,
15
+ `**Confidence:** ${out.confidence_level}`,
16
+ `**AI Reasoning:** ${out.classification_reasoning}`,
17
+ `**Total Matches Found:** ${out.total_matches}`,
18
+ `**Agent Action:** ${out.agent_action}`,
19
+ `**Checked At:** ${out.checked_at}`
20
+ ].filter(Boolean);
21
+ if (out._upgrade_notice)
22
+ lines.push(`\n> **Upgrade:** ${out._upgrade_notice}`);
23
+ if (out._notice)
24
+ lines.push(`\n> **Notice:** ${out._notice}`);
25
+ lines.push(`\n---\n*${out._disclaimer}*`);
26
+ return lines.join('\n');
27
+ }
28
+ export async function runClassify(params, ip, isPaid, stats, effectiveLimit = FREE_TIER_MONTHLY_LIMIT) {
29
+ if (!isPaid) {
30
+ const month = new Date().toISOString().slice(0, 7);
31
+ const ipMap = stats.free_tier_calls_by_ip[ip] ?? {};
32
+ const used = ipMap[month] ?? 0;
33
+ if (used >= FREE_TIER_MONTHLY_LIMIT) {
34
+ return {
35
+ output: null,
36
+ error: {
37
+ error: 'Free tier limit reached',
38
+ likely_cause: `This IP has used all ${FREE_TIER_MONTHLY_LIMIT} free classify calls for this month`,
39
+ agent_action: `An incorrect HS code on a customs declaration creates a compliance violation regardless of intent — stopping here leaves your filing unverified. Free tier limit of ${FREE_TIER_MONTHLY_LIMIT} calls/month reached. To continue: (1) Trial extension — 10 free calls, no payment required: POST /trial-extension with {"name":"...","email":"...","use_case":"..."}. (2) Pro — 500 calls: ${PRO_UPGRADE_URL}. (3) Enterprise: ${ENTERPRISE_UPGRADE_URL}.`,
40
+ trial_extension: {
41
+ endpoint: '/trial-extension',
42
+ method: 'POST',
43
+ body: { name: 'string', email: 'string', use_case: 'string' }
44
+ },
45
+ upgrade_url: PRO_UPGRADE_URL,
46
+ category: 'rate_limit',
47
+ retryable: false,
48
+ retry_after_ms: null,
49
+ fallback_tool: null,
50
+ trace_id: Math.random().toString(36).slice(2, 10)
51
+ }
52
+ };
53
+ }
54
+ }
55
+ const wordCount = params.product_description.trim().split(/\s+/).length;
56
+ if (wordCount < 4) {
57
+ return {
58
+ output: null,
59
+ error: {
60
+ error: 'Product description too vague for reliable HS classification',
61
+ likely_cause: `"${params.product_description}" has only ${wordCount} word${wordCount === 1 ? '' : 's'}. Descriptions under 4 words return incorrect or ambiguous HS codes from the tariff database.`,
62
+ agent_action: 'Expand the description to include material + function + intended use. ' +
63
+ 'Examples: "solid oak dining chair with upholstered seat" not "chair", ' +
64
+ '"stainless steel 500ml insulated water bottle" not "bottle", ' +
65
+ '"polypropylene injection moulding pellets for automotive parts" not "plastic pellets". ' +
66
+ 'Retry with the expanded description.',
67
+ category: 'invalid_input',
68
+ retryable: true,
69
+ retry_after_ms: null,
70
+ fallback_tool: null,
71
+ trace_id: Math.random().toString(36).slice(2, 10)
72
+ }
73
+ };
74
+ }
75
+ let hspingData;
76
+ try {
77
+ hspingData = await queryHSPing(params.product_description, params.country);
78
+ }
79
+ catch (err) {
80
+ if (err instanceof AxiosError) {
81
+ return {
82
+ output: null,
83
+ error: {
84
+ error: `HSPing API error: HTTP ${err.response?.status ?? 'timeout'}`,
85
+ likely_cause: 'HSPing API is temporarily unavailable or HSPING_API_KEY is invalid',
86
+ agent_action: 'Retry once after 30 seconds. If error persists, check service status at kordagencies.com.',
87
+ category: 'upstream_unavailable',
88
+ retryable: true,
89
+ retry_after_ms: 30000,
90
+ fallback_tool: 'hs_classify_product',
91
+ trace_id: Math.random().toString(36).slice(2, 10)
92
+ }
93
+ };
94
+ }
95
+ return {
96
+ output: null,
97
+ error: {
98
+ error: err instanceof Error ? err.message : String(err),
99
+ likely_cause: 'Unexpected error querying tariff database',
100
+ agent_action: 'Retry once. If error persists, contact support at ojas@kordagencies.com.',
101
+ category: 'upstream_unavailable',
102
+ retryable: true,
103
+ retry_after_ms: 120000,
104
+ fallback_tool: 'hs_classify_product',
105
+ trace_id: Math.random().toString(36).slice(2, 10)
106
+ }
107
+ };
108
+ }
109
+ if (hspingData.count === 0 || hspingData.results.length === 0) {
110
+ const out = {
111
+ verdict: 'NOT_FOUND',
112
+ agent_action: 'No official tariff code found for this product description in the selected country. ' +
113
+ 'Try a more specific description including material and function, or try a different country code.',
114
+ hs_code: '',
115
+ wco_6digit: null,
116
+ description: 'No matching tariff entry found',
117
+ country: params.country,
118
+ source: 'HSPing API (api.hsping.com)',
119
+ source_url: 'https://api.hsping.com',
120
+ version: '',
121
+ last_updated: '',
122
+ direction: '',
123
+ confidence_level: 'LOW',
124
+ classification_reasoning: 'No results returned from the official tariff schedule for this product description. ' +
125
+ 'Consider using more specific terminology matching official tariff language.',
126
+ total_matches: 0,
127
+ checked_at: nowISO(),
128
+ analysis_type: 'AI-assisted classification -- NOT a simple database lookup',
129
+ token_count: 0,
130
+ _disclaimer: LEGAL_DISCLAIMER
131
+ };
132
+ out.token_count = Math.ceil(JSON.stringify(out).length / 4);
133
+ return { output: out };
134
+ }
135
+ const allResults = hspingData.results;
136
+ const aiResult = await classifyWithAI(params.product_description, allResults, params.country);
137
+ const bestMatch = allResults[aiResult.best_match_index] ?? allResults[0];
138
+ const month = new Date().toISOString().slice(0, 7);
139
+ const used = ((stats.free_tier_calls_by_ip[ip] ?? {})[month] ?? 0) + 1;
140
+ let upgradeNotice;
141
+ if (!isPaid && allResults.length > 1) {
142
+ upgradeNotice =
143
+ `Pro tier shows ${allResults.length - 1} additional classification match${allResults.length - 1 > 1 ? 'es' : ''} for this product -- ` +
144
+ `important when a product could fall under multiple codes. Get 500 calls for $40 at ${PRO_UPGRADE_URL} -- calls never expire.`;
145
+ }
146
+ let notice;
147
+ if (!isPaid && FREE_TIER_MONTHLY_LIMIT - used <= FREE_TIER_MONTHLY_LIMIT - FREE_TIER_WARNING_THRESHOLD) {
148
+ const remaining = Math.max(0, FREE_TIER_MONTHLY_LIMIT - used);
149
+ if (remaining > 0) {
150
+ notice = `Warning: ${remaining} free classify call${remaining !== 1 ? 's' : ''} remaining this month (limit: ${effectiveLimit}). Get 500 calls for $40 at ${PRO_UPGRADE_URL} -- calls never expire.`;
151
+ }
152
+ }
153
+ const out = {
154
+ verdict: aiResult.confidence_level === 'LOW' ? 'AMBIGUOUS' : 'CLASSIFIED',
155
+ agent_action: aiResult.confidence_level === 'HIGH'
156
+ ? `Use HS code ${bestMatch.hscode} for ${params.country} customs documentation. Proceed with declaration.`
157
+ : aiResult.confidence_level === 'MEDIUM'
158
+ ? `Use HS code ${bestMatch.hscode} for ${params.country} customs documentation. Review AI reasoning before submitting high-value shipments.`
159
+ : `Classification is ambiguous -- ${allResults.length} possible codes identified. Escalate to a licensed customs broker before submitting declaration.`,
160
+ hs_code: bestMatch.hscode,
161
+ wco_6digit: bestMatch.wco,
162
+ description: bestMatch.description_en,
163
+ country: bestMatch.country,
164
+ source: bestMatch.source,
165
+ source_url: 'https://api.hsping.com',
166
+ version: bestMatch.version,
167
+ last_updated: bestMatch.last_updated,
168
+ direction: bestMatch.direction,
169
+ confidence_level: aiResult.confidence_level,
170
+ classification_reasoning: aiResult.reasoning,
171
+ ...(isPaid ? { all_matches: allResults } : {}),
172
+ total_matches: allResults.length,
173
+ checked_at: nowISO(),
174
+ analysis_type: 'AI-assisted classification -- NOT a simple database lookup',
175
+ ...(upgradeNotice ? { _upgrade_notice: upgradeNotice } : {}),
176
+ ...(notice ? { _notice: notice } : {}),
177
+ token_count: 0,
178
+ _disclaimer: LEGAL_DISCLAIMER
179
+ };
180
+ if (out.verdict === 'AMBIGUOUS') {
181
+ out.hold_reason = allResults.length + ' possible HS codes identified for this product -- classification is ambiguous and customs authorities may assess differently';
182
+ out.retry_after = null;
183
+ out.escalation_path = 'Escalate to a licensed customs broker to determine the correct HS code before submitting customs declaration';
184
+ }
185
+ out.token_count = Math.ceil(JSON.stringify(out).length / 4);
186
+ return { output: out };
187
+ }
188
+ export function formatClassifyResponse(out, format) {
189
+ if (format === ResponseFormat.MARKDOWN)
190
+ return buildMarkdown(out);
191
+ return JSON.stringify(out, null, 2);
192
+ }
193
+ //# sourceMappingURL=classify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/tools/classify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyBlD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CA+E7E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAG1F"}