@lerianstudio/matcher-mcp 1.2.0 → 1.2.1-beta.1

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":"schema-parity.js","sourceRoot":"","sources":["../../src/spec/schema-parity.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,19 @@ export const createContextInputShape = {
62
62
  .string()
63
63
  .optional()
64
64
  .describe('Percentage fee tolerance as a decimal STRING (0.5 means 0.5%), e.g. "0.5".'),
65
+ agedBreakThresholdDays: z
66
+ .number()
67
+ .int()
68
+ .min(0)
69
+ .optional()
70
+ .describe('Open-item aging SLA in business days. An open-item residual older than ' +
71
+ 'this surfaces as an AGED_BREAK exception during the match run. Omit to ' +
72
+ 'disable aging for the context.'),
73
+ agedBreakCalendar: z
74
+ .string()
75
+ .optional()
76
+ .describe('Business-day calendar the aging threshold is measured against (e.g. ' +
77
+ 'US_FED, BR_ANBIMA). Omit/empty measures the age in raw calendar days.'),
65
78
  rules: z
66
79
  .array(z.record(z.string(), z.unknown()))
67
80
  .max(MAX_INLINE_RULES)
@@ -89,9 +102,11 @@ export function registerContextCreateTool(server) {
89
102
  "your token's tenant (no tenant field is accepted). Required: name " +
90
103
  '(1–100), type ("1:1"|"1:N"|"N:M", with colons), interval (label, e.g. ' +
91
104
  '"daily"). Optional: autoMatchOnUpload (bool), feeNormalization ' +
92
- '(NET|GROSS), feeToleranceAbs/feeTolerancePct (decimal strings), and ' +
93
- 'inline rules[] (≤50) / sources[] (≤10). Returns the created context, or ' +
94
- 'a structured RFC 9457 error.',
105
+ '(NET|GROSS), feeToleranceAbs/feeTolerancePct (decimal strings), ' +
106
+ 'open-item aging (agedBreakThresholdDays business-day SLA + ' +
107
+ 'agedBreakCalendar, e.g. BR_ANBIMA), and inline rules[] (≤50) / ' +
108
+ 'sources[] (≤10). Returns the created context, or a structured RFC 9457 ' +
109
+ 'error.',
95
110
  inputSchema: createContextInputShape,
96
111
  }, async (args, extra) => {
97
112
  return dispatchContext({ method: 'POST', path: CONTEXTS_PATH, body: args }, extra);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/tools/context/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/tools/context/create.ts"],"names":[],"mappings":"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"}
@@ -55,10 +55,11 @@ export const updateContextInputShape = {
55
55
  .describe('When true, a match run is triggered automatically after a file upload ' +
56
56
  'completes.'),
57
57
  feeNormalization: z
58
- .enum(FEE_NORMALIZATIONS)
58
+ .enum([...FEE_NORMALIZATIONS, ''])
59
59
  .optional()
60
60
  .describe('Fee normalization mode. NET compares amounts after fees are deducted; ' +
61
- 'GROSS compares amounts before fees.'),
61
+ 'GROSS compares amounts before fees. Send an empty string ("") to clear ' +
62
+ 'the mode; omit to leave it unchanged.'),
62
63
  feeToleranceAbs: z
63
64
  .string()
64
65
  .optional()
@@ -68,6 +69,18 @@ export const updateContextInputShape = {
68
69
  .string()
69
70
  .optional()
70
71
  .describe('Percentage fee tolerance as a decimal STRING (0.5 means 0.5%), e.g. "0.5".'),
72
+ agedBreakThresholdDays: z
73
+ .number()
74
+ .int()
75
+ .min(0)
76
+ .optional()
77
+ .describe('Open-item aging SLA in business days. A positive value enables/changes ' +
78
+ 'aging; 0 disables it (clears the threshold); omit to leave it unchanged.'),
79
+ agedBreakCalendar: z
80
+ .string()
81
+ .optional()
82
+ .describe('Business-day calendar the aging threshold is measured against. Empty ' +
83
+ 'string clears it (raw calendar days); omit to leave it unchanged.'),
71
84
  };
72
85
  /**
73
86
  * Build the PATCH body from the input minus the path-only `contextId`. Only the
@@ -90,9 +103,11 @@ export function registerContextUpdateTool(server) {
90
103
  'optional (PATCH): name, type ("1:1"|"1:N"|"N:M"), interval, status ' +
91
104
  '(ACTIVE|PAUSED|ARCHIVED — transitioning to ACTIVE is gated on activation ' +
92
105
  'readiness and may return 409), autoMatchOnUpload, feeNormalization ' +
93
- '(NET|GROSS), feeToleranceAbs/feeTolerancePct (decimal strings). No tenant ' +
94
- 'field is accepted. Returns the updated context, or a structured RFC 9457 ' +
95
- 'error.',
106
+ '(NET|GROSS, or "" to clear), feeToleranceAbs/feeTolerancePct ' +
107
+ '(decimal strings), ' +
108
+ 'open-item aging (agedBreakThresholdDays — 0 disables — + ' +
109
+ 'agedBreakCalendar). No tenant field is accepted. Returns the updated ' +
110
+ 'context, or a structured RFC 9457 error.',
96
111
  inputSchema: updateContextInputShape,
97
112
  }, async (args, extra) => {
98
113
  return dispatchContext({
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/tools/context/update.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,iFAAiF;AACjF,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,iFAAiF;AACjF,WAAW;AAEX,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uDAAuD,CAAC;IACpE,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE;QACnE,sEAAsE;QACtE,mCAAmC,CACtC;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,0BAA0B,CAAC;SAChC,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,2BAA2B,CAC9B;IACH,iBAAiB,EAAE,CAAC;SACjB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,YAAY,CACf;IACH,gBAAgB,EAAE,CAAC;SAChB,IAAI,CAAC,kBAAkB,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,qCAAqC,CACxC;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sEAAsE;QACpE,cAAc,CACjB;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E,CAC7E;CACJ,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAwB;IAExB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IAC/C,KAAK,UAAU,CAAA;IACf,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,yEAAyE;YACzE,qEAAqE;YACrE,2EAA2E;YAC3E,qEAAqE;YACrE,4EAA4E;YAC5E,2EAA2E;YAC3E,QAAQ;QACV,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,eAAe,CACpB;YACE,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;SAC5B,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/tools/context/update.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  //
3
3
  // A cross-exception action: dispatches many exceptions to a target external
4
4
  // system in one call. Mirrors the spec's BulkDispatchRequest — exceptionIds
5
- // (1–100 UUIDs) and targetSystem are required; queue (≤255) is optional. NOTE:
6
- // unlike the single-exception dispatch (DispatchRequest, a closed enum), the
7
- // bulk variant's targetSystem is a FREE STRING (≤255) per the spec we honor
8
- // that and do NOT constrain it to an enum here. Partial success is supported
9
- // server-side. No path param and no tenant field; matcher scopes to the relayed
10
- // token's tenant.
5
+ // (1–100 UUIDs) and targetSystem are required; queue (≤255) is optional. The
6
+ // targetSystem is a CLOSED enum (JIRA|SERVICENOW|WEBHOOK|MANUAL), the same as
7
+ // the single-exception dispatch (DispatchRequest) the bulk spec now constrains
8
+ // it identically. Partial success is supported server-side. No path param and no
9
+ // tenant field; matcher scopes to the relayed token's tenant.
11
10
  import { z } from 'zod';
11
+ import { DISPATCH_TARGET_SYSTEMS } from './dispatch.js';
12
12
  import { dispatchException, EXCEPTIONS_BULK_DISPATCH_PATH } from './shared.js';
13
13
  /** Zod raw shape for `exception_bulk_dispatch` input — ids + target + optional queue. */
14
14
  export const bulkDispatchInputShape = {
@@ -18,11 +18,9 @@ export const bulkDispatchInputShape = {
18
18
  .max(100)
19
19
  .describe('Exception ids (UUIDs) to dispatch (1–100).'),
20
20
  targetSystem: z
21
- .string()
22
- .min(1)
23
- .max(255)
24
- .describe('Target system to dispatch all of them to (1–255). A free string here ' +
25
- '(the bulk endpoint does not constrain it to an enum), e.g. "JIRA".'),
21
+ .enum(DISPATCH_TARGET_SYSTEMS)
22
+ .describe('Target system to dispatch all of them to ' +
23
+ '(JIRA|SERVICENOW|WEBHOOK|MANUAL).'),
26
24
  queue: z
27
25
  .string()
28
26
  .max(255)
@@ -52,8 +50,8 @@ export function buildBulkDispatchBody(args) {
52
50
  export function registerExceptionBulkDispatchTool(server) {
53
51
  server.registerTool('exception_bulk_dispatch', {
54
52
  description: 'Dispatch many reconciliation exceptions to a target external system in a ' +
55
- 'single call. Provide exceptionIds (1–100 UUIDs) and targetSystem (free ' +
56
- 'string, 1–255 — not constrained to an enum here), and optionally a ' +
53
+ 'single call. Provide exceptionIds (1–100 UUIDs) and targetSystem ' +
54
+ '(JIRA|SERVICENOW|WEBHOOK|MANUAL), and optionally a ' +
57
55
  'queue/team (≤255). Partial success is supported — the response reports ' +
58
56
  'per-exception successes and failures. No tenant field is accepted. Errors ' +
59
57
  'surface as structured RFC 9457 problems.',
@@ -1 +1 @@
1
- {"version":3,"file":"bulk-dispatch.js","sourceRoot":"","sources":["../../../src/tools/exception/bulk-dispatch.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,kBAAkB;AAElB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAE9E,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,4CAA4C,CAAC;IACzD,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,uEAAuE;QACrE,oEAAoE,CACvE;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;CAC5E,CAAA;AAOD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAuB;IAEvB,MAAM,IAAI,GAA4B;QACpC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAA;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAAiB;IACjE,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EACT,2EAA2E;YAC3E,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,4EAA4E;YAC5E,0CAA0C;QAC5C,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;SAClC,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"bulk-dispatch.js","sourceRoot":"","sources":["../../../src/tools/exception/bulk-dispatch.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,iFAAiF;AACjF,iFAAiF;AACjF,8DAA8D;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAE9E,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,4CAA4C,CAAC;IACzD,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,QAAQ,CACP,2CAA2C;QACzC,mCAAmC,CACtC;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;CAC5E,CAAA;AAOD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAuB;IAEvB,MAAM,IAAI,GAA4B;QACpC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAA;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAAiB;IACjE,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EACT,2EAA2E;YAC3E,mEAAmE;YACnE,qDAAqD;YACrD,yEAAyE;YACzE,4EAA4E;YAC5E,0CAA0C;QAC5C,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;SAClC,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -57,10 +57,19 @@ export const listExceptionsInputShape = {
57
57
  .optional()
58
58
  .describe('Filter by severity (LOW|MEDIUM|HIGH|CRITICAL).'),
59
59
  reason: z
60
- .enum(EXCEPTION_REASONS)
60
+ // Free-form string, not a closed enum: reason codes are a GROWING taxonomy —
61
+ // every new engine capability mints one (AGED_BREAK / OVER_SETTLED /
62
+ // FX_RATE_VARIANCE were recent additions). A closed enum here would lag the
63
+ // backend and reject a valid, newly-minted reason at the client. The backend
64
+ // validates; the description carries the current known vocabulary as a hint.
65
+ // See docs/enum-policy.md (registered in INTENTIONALLY_OPEN_FIELDS).
66
+ .string()
61
67
  .optional()
62
- .describe('Filter by the reason the exception was raised (e.g. UNMATCHED, ' +
63
- 'FEE_VARIANCE, DUPLICATE_TRANSACTION).'),
68
+ .describe('Filter by the reason the exception was raised. Free-form string — the ' +
69
+ 'backend validates and this vocabulary grows as the engine gains new ' +
70
+ 'capabilities. Current known reason codes: ' +
71
+ EXCEPTION_REASONS.join(', ') +
72
+ '.'),
64
73
  assigned_to: z
65
74
  .string()
66
75
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/exception/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/exception/list.ts"],"names":[],"mappings":"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"}
@@ -8,20 +8,35 @@
8
8
  // validates the context belongs to the relayed token's tenant), NOT a tenant
9
9
  // field. The body is the input minus `contextId`.
10
10
  //
11
- // The predicate sub-object is modeled explicitly (the operator enum set is small
12
- // and known: EQUALS / IN / EXISTS), so an operator-driving LLM gets the exact
13
- // shape; `value`/`values` are optional because EXISTS needs neither.
11
+ // The predicate sub-object is modeled explicitly (the operator algebra is a
12
+ // closed, known set of nine: EQUALS/IN/EXISTS plus GT/GTE/LT/LTE/BETWEEN/NEQ),
13
+ // so an operator-driving LLM gets the exact shape; `value`/`values` are optional
14
+ // because operators like EXISTS consume neither.
14
15
  import { z } from 'zod';
15
16
  import { contextFeeRulesPath, dispatchFeeRule } from './shared.js';
16
17
  /** Side a fee rule applies to. LEFT/RIGHT target one side; ANY matches either. */
17
18
  export const FEE_RULE_SIDES = ['LEFT', 'RIGHT', 'ANY'];
18
- /** Predicate comparison operators matcher supports for fee-rule predicates. */
19
- export const PREDICATE_OPERATORS = ['EQUALS', 'IN', 'EXISTS'];
19
+ /**
20
+ * Predicate comparison operators matcher supports for fee-rule predicates.
21
+ * A closed, stable algebra — kept in spec order (FieldPredicateRequest.operator).
22
+ */
23
+ export const PREDICATE_OPERATORS = [
24
+ 'EQUALS',
25
+ 'IN',
26
+ 'EXISTS',
27
+ 'GT',
28
+ 'GTE',
29
+ 'LT',
30
+ 'LTE',
31
+ 'BETWEEN',
32
+ 'NEQ',
33
+ ];
20
34
  /**
21
35
  * One field predicate. ANDed with the rule's other predicates. `field` and
22
- * `operator` are required; `value` is used by EQUALS, `values` by IN, and EXISTS
23
- * needs neither they are optional here and matcher is the authoritative
24
- * validator of the operator/value pairing.
36
+ * `operator` are required. `value` is consumed by EQUALS/NEQ and the numeric
37
+ * comparisons GT/GTE/LT/LTE; `values` by IN and BETWEEN; EXISTS needs neither
38
+ * both are optional here and matcher is the authoritative validator of the
39
+ * operator/value pairing.
25
40
  */
26
41
  export const feeRulePredicateShape = z
27
42
  .object({
@@ -30,16 +45,23 @@ export const feeRulePredicateShape = z
30
45
  .describe('Transaction metadata field the predicate tests, e.g. "institution".'),
31
46
  operator: z
32
47
  .enum(PREDICATE_OPERATORS)
33
- .describe('Comparison operator. EQUALS matches a single `value`; IN matches any ' +
34
- 'of `values`; EXISTS asserts the field is present (needs neither).'),
48
+ .describe('Comparison operator. EQUALS matches a single `value`; NEQ is its ' +
49
+ 'negation (numeric when both sides parse as decimals, else ' +
50
+ 'case-insensitive string) and consumes `value`. IN matches any of ' +
51
+ '`values`. EXISTS asserts the field is present (needs neither `value` ' +
52
+ 'nor `values`). GT/GTE/LT/LTE compare the field numerically against a ' +
53
+ 'single decimal `value`. BETWEEN tests inclusive numeric membership in ' +
54
+ '`values`=[lo, hi] (lo<=hi).'),
35
55
  value: z
36
56
  .string()
37
57
  .optional()
38
- .describe('Comparison value required for the EQUALS operator.'),
58
+ .describe('Single comparison value. Required by EQUALS and NEQ, and by the ' +
59
+ 'numeric comparisons GT/GTE/LT/LTE.'),
39
60
  values: z
40
61
  .array(z.string())
41
62
  .optional()
42
- .describe('Candidate values required for the IN operator.'),
63
+ .describe('List of comparison values. Required by IN (membership) and BETWEEN ' +
64
+ '(exactly [lo, hi], inclusive).'),
43
65
  })
44
66
  .describe('A single field predicate a transaction must satisfy for the rule to apply.');
45
67
  /** Zod raw shape for `fee_rule_create` input — mirrors CreateFeeRuleRequest. */
@@ -91,7 +113,8 @@ export function registerFeeRuleCreateTool(server) {
91
113
  'to transactions whose metadata satisfies the predicates. Provide ' +
92
114
  'contextId (path), side (LEFT|RIGHT|ANY), feeScheduleId (UUID), name ' +
93
115
  '(1–100), priority (unique within the context across all sides), and ' +
94
- 'predicates[] (each { field, operator EQUALS|IN|EXISTS, value?, values? }). ' +
116
+ 'predicates[] (each { field, operator ' +
117
+ 'EQUALS|IN|EXISTS|GT|GTE|LT|LTE|BETWEEN|NEQ, value?, values? }). ' +
95
118
  'The rule is scoped to your token\'s tenant (no tenant field is accepted). ' +
96
119
  'Returns the created rule, or a structured RFC 9457 error.',
97
120
  inputSchema: createFeeRuleInputShape,
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/tools/fee-rule/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/tools/fee-rule/create.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,9 @@ const MAX_SUGGESTIONS = 5;
32
32
  const NON_JSON_BODY_GUIDANCE = {
33
33
  uploadFile: 'uploadFile takes a multipart/form-data body, which this JSON relay ' +
34
34
  'cannot construct. Use the curated ingestion_upload tool instead — it ' +
35
- 'accepts the file as contentBase64 (small files) or fileUrl (the relay ' +
36
- 'fetches the bytes server-side) and rebuilds the multipart request for you.',
35
+ 'accepts the file as contentBase64 (small files) and rebuilds the ' +
36
+ 'multipart request for you. For a real LOCAL file use ingestion_upload_begin ' +
37
+ 'to broker a direct client→matcher upload.',
37
38
  extractDocument: 'extractDocument takes the document as a raw application/pdf body, not ' +
38
39
  'JSON, which this relay cannot construct. There is no MCP path for this ' +
39
40
  'operation today — it needs a direct multipart/document upload to the ' +
@@ -1 +1 @@
1
- {"version":3,"file":"describe-operation.js","sourceRoot":"","sources":["../../../src/tools/generic/describe-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-operation.js","sourceRoot":"","sources":["../../../src/tools/generic/describe-operation.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,sEAAsE;AACtE,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,eAAe;AACf,EAAE;AACF,gFAAgF;AAChF,2BAA2B;AAC3B,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,mDAAmD;AAEnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAiCvB,6DAA6D;AAC7D,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAqC;IAC/D,UAAU,EACR,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,8EAA8E;QAC9E,2CAA2C;IAC7C,eAAe,EACb,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,uCAAuC;CAC1C,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,CACL,sBAAsB,CAAC,WAAW,CAAC;QACnC,IAAI,WAAW,4DAA4D;YACzE,yEAAyE;YACzE,0EAA0E;YAC1E,+CAA+C,CAClD,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IACrC,WAAW,CAAQ;IACnB,WAAW,CAAmB;IAEvC,YAAY,WAAmB,EAAE,WAA8B;QAC7D,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF;AAED,mFAAmF;AACnF,SAAS,mBAAmB,CAC1B,WAAmB,EACnB,WAA8B;IAE9B,MAAM,IAAI,GAAG,wBAAwB,WAAW,IAAI,CAAA;IACpD,MAAM,OAAO,GACX,WAAW,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,CAAC,CAAC,EAAE,CAAA;IACR,OAAO,CACL,IAAI;QACJ,OAAO;QACP,mEAAmE,CACpE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,MAAM,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC,MAAM,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,GAAa,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACtE,IAAI,IAAI,GAAa,IAAI,KAAK,CAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACX,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,gEAAgE;YAChE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAChB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAClB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EACtB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAC1B,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,IAAI,GAAG,IAAI,CAAA;QACX,IAAI,GAAG,IAAI,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,KAAa;IAEb,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjE,EAAE;QACF,QAAQ;QACR,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;KACjD,CAAC,CAAC,CAAA;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC9E,CAAA;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC1D,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,EAAoB;IACxC,OAAO;QACL,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,UAAU,EAAE,EAAE,CAAC,UAAU;QACzB,WAAW,EAAE,EAAE,CAAC,WAAW;QAC3B,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,GAAG,CAAC,EAAE,CAAC,iBAAiB,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,EAAE,CAAC,qBAAqB;YAC1B,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,KAA6B;IAE7B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAClD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,qBAAqB,CAC7B,KAAK,CAAC,WAAW,EACjB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAC9C,CAAA;IACH,CAAC;IACD,OAAO,YAAY,CAAC,EAAE,CAAC,CAAA;AACzB,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,mEAAmE;QACjE,sBAAsB,CACzB;CACJ,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAiB,EACjB,KAAqB;IAErB,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,WAAW,EACT,+DAA+D;YAC/D,sDAAsD;YACtD,qEAAqE;YACrE,6DAA6D;YAC7D,8DAA8D;YAC9D,gCAAgC;QAClC,WAAW,EAAE,2BAA2B;KACzC,EACD,CAAC,IAAI,EAAE,EAAE;QACP,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE;gBAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAA;YACF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;aAC9D,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBACzC,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;iBAC/C,CAAA;YACH,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -1,12 +1,15 @@
1
- // Curated ingestion vertical: seven typed tools over the matcher import
1
+ // Curated ingestion vertical: eight typed tools over the matcher import
2
2
  // lifecycle of a reconciliation context — list jobs, get a job, list a job's
3
3
  // per-row errors, list a job's transactions, search transactions, ignore a
4
- // transaction, and upload a file. Every op is fully context-nested under
5
- // /v1/imports/contexts/{contextId}/... Each tool shares the fail-closed relay
6
- // (shared.ts) and the RFC 9457 → tool-error mapping (toToolError) with the
7
- // generic surface, so curated and generic map matcher errors identically. No
8
- // tool carries a tenant field; contextId is a routing path param matcher
9
- // validates against the relayed token's tenant.
4
+ // transaction, upload a file, and broker a direct local-file upload. Every
5
+ // backend-dispatching op is fully context-nested under
6
+ // /v1/imports/contexts/{contextId}/... Each dispatching tool shares the
7
+ // fail-closed relay (shared.ts) and the RFC 9457 tool-error mapping
8
+ // (toToolError) with the generic surface, so curated and generic map matcher
9
+ // errors identically. ingestion_upload_begin is MCP-native (no backend
10
+ // dispatch — it computes an upload target locally). No tool carries a tenant
11
+ // field; contextId is a routing path param matcher validates against the
12
+ // relayed token's tenant.
10
13
  //
11
14
  // NOTE: uploadFile is now curated as ingestion_upload (base64-in-JSON, relay
12
15
  // rebuilds the multipart request — see upload.ts). extractDocument stays
@@ -17,8 +20,9 @@ import { registerIngestionJobTransactionsListTool } from './job-transactions-lis
17
20
  import { registerIngestionJobsListTool } from './jobs-list.js';
18
21
  import { registerIngestionTransactionIgnoreTool } from './transaction-ignore.js';
19
22
  import { registerIngestionTransactionsSearchTool } from './transactions-search.js';
23
+ import { registerIngestionUploadBeginTool } from './upload-begin.js';
20
24
  import { registerIngestionUploadTool } from './upload.js';
21
- /** Register all seven curated ingestion tools on the given server. */
25
+ /** Register all eight curated ingestion tools on the given server. */
22
26
  export function registerIngestionTools(server) {
23
27
  registerIngestionJobsListTool(server);
24
28
  registerIngestionJobGetTool(server);
@@ -27,5 +31,6 @@ export function registerIngestionTools(server) {
27
31
  registerIngestionTransactionsSearchTool(server);
28
32
  registerIngestionTransactionIgnoreTool(server);
29
33
  registerIngestionUploadTool(server);
34
+ registerIngestionUploadBeginTool(server);
30
35
  }
31
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/ingestion/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,gDAAgD;AAChD,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAI7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,sCAAsC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAEzD,sEAAsE;AACtE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,6BAA6B,CAAC,MAAM,CAAC,CAAA;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IACnC,kCAAkC,CAAC,MAAM,CAAC,CAAA;IAC1C,wCAAwC,CAAC,MAAM,CAAC,CAAA;IAChD,uCAAuC,CAAC,MAAM,CAAC,CAAA;IAC/C,sCAAsC,CAAC,MAAM,CAAC,CAAA;IAC9C,2BAA2B,CAAC,MAAM,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/ingestion/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,uDAAuD;AACvD,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,yEAAyE;AACzE,0BAA0B;AAC1B,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAI7E,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,sCAAsC,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,uCAAuC,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AAEzD,sEAAsE;AACtE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,6BAA6B,CAAC,MAAM,CAAC,CAAA;IACrC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IACnC,kCAAkC,CAAC,MAAM,CAAC,CAAA;IAC1C,wCAAwC,CAAC,MAAM,CAAC,CAAA;IAChD,uCAAuC,CAAC,MAAM,CAAC,CAAA;IAC/C,sCAAsC,CAAC,MAAM,CAAC,CAAA;IAC9C,2BAA2B,CAAC,MAAM,CAAC,CAAA;IACnC,gCAAgC,CAAC,MAAM,CAAC,CAAA;AAC1C,CAAC"}
@@ -0,0 +1,116 @@
1
+ // `ingestion_upload_begin` — MCP-native broker for uploading a LOCAL file.
2
+ //
3
+ // MCP-over-HTTP cannot stream file bytes through the relay, and base64-in-JSON
4
+ // (ingestion_upload's contentBase64) burns the client's output tokens and hits
5
+ // the relay's ~750 KB practical ceiling. For a real LOCAL file the bytes must
6
+ // go AROUND the relay: this tool brokers the upload TARGET, and the client's
7
+ // own Claude POSTs the multipart file DIRECTLY to matcher's public streaming
8
+ // endpoint using the same bearer it sends this relay. The relay never sees the
9
+ // bytes — there is nothing to dispatch server-side, so the handler is a pure
10
+ // local computation (no backend call, no operationId → invisible to the
11
+ // coverage/parity gates).
12
+ //
13
+ // The returned uploadUrl reuses contextSourceUploadPath so the path encoding
14
+ // matches the real endpoint /v1/imports/contexts/{contextId}/sources/{sourceId}
15
+ // /upload byte-for-byte, built from config.matcherApiUrl. That URL MUST be
16
+ // client-reachable: in cluster deployments where the relay talks to matcher
17
+ // over an internal service DNS name, the operator must point MATCHER_API_URL at
18
+ // the public host so the client's own Claude can POST to it directly.
19
+ import { z } from 'zod';
20
+ import { loadConfig } from '../../config.js';
21
+ import { contextSourceUploadPath } from './shared.js';
22
+ /** Zod raw shape for `ingestion_upload_begin` input. */
23
+ export const ingestionUploadBeginInputShape = {
24
+ contextId: z
25
+ .string()
26
+ .min(1)
27
+ .describe('The reconciliation context id (UUID) to upload into. The context MUST ' +
28
+ 'already exist and be ACTIVE — uploading to a DRAFT context is rejected ' +
29
+ 'with 403. Create it first with context_create if needed.'),
30
+ sourceId: z
31
+ .string()
32
+ .min(1)
33
+ .describe('The source id (UUID) within that context to upload into. Must already ' +
34
+ 'exist — create it first with source_create if needed.'),
35
+ format: z
36
+ .string()
37
+ .optional()
38
+ .describe('The ingestion format you will send (e.g. csv | json | xml | camt053). ' +
39
+ 'Used to build a concrete example in the returned instructions; the ' +
40
+ 'actual value you send is the `format` multipart field.'),
41
+ };
42
+ /**
43
+ * Register `ingestion_upload_begin`. Pure local computation: builds the client-
44
+ * reachable upload URL + the multipart contract and returns them as a JSON
45
+ * text block. No relay dispatch, no auth material in the output.
46
+ */
47
+ export function registerIngestionUploadBeginTool(server) {
48
+ server.registerTool('ingestion_upload_begin', {
49
+ description: 'Broker a DIRECT, client-to-matcher upload of a LOCAL file. MCP-over-' +
50
+ 'HTTP cannot stream file bytes through this relay, so instead of ' +
51
+ 'sending the bytes here, call this tool to get the upload TARGET, then ' +
52
+ 'have YOUR OWN Claude POST the multipart file straight to matcher using ' +
53
+ 'the same bearer you send this relay — the relay never touches the ' +
54
+ 'bytes. Returns { uploadUrl, method, fileField, formatField, ' +
55
+ 'fieldOrder, contextId, sourceId, baseUrlUsed, instructions }. Use this ' +
56
+ 'for real local files; for tiny inline payloads use ingestion_upload ' +
57
+ 'with contentBase64. No tenant field, no auth material is returned.',
58
+ inputSchema: ingestionUploadBeginInputShape,
59
+ }, async (args) => {
60
+ const cfg = loadConfig();
61
+ const baseUrl = cfg.matcherApiUrl;
62
+ const uploadUrl = baseUrl + contextSourceUploadPath(args.contextId, args.sourceId);
63
+ const formatExample = args.format ?? 'csv';
64
+ const instructions = [
65
+ 'Upload a LOCAL file directly to matcher (the relay never sees the ' +
66
+ 'bytes). Steps for a blind operator:',
67
+ '1. PREREQUISITES: the context (' +
68
+ args.contextId +
69
+ ') must EXIST and be ACTIVE, and the source (' +
70
+ args.sourceId +
71
+ ') must EXIST. Create them first with context_create + source_create ' +
72
+ 'if needed, and ACTIVATE the context — uploading to a DRAFT context ' +
73
+ 'returns 403.',
74
+ '2. POST a multipart/form-data request to uploadUrl (' +
75
+ uploadUrl +
76
+ ') reusing YOUR OWN bearer token — send the SAME Authorization header ' +
77
+ 'you send this relay. The relay is not in this path; you talk to ' +
78
+ 'matcher directly.',
79
+ '3. FIELD ORDER IS LOAD-BEARING: append the `format` field BEFORE the ' +
80
+ '`file` part. If the `file` part arrives first, matcher falls back to ' +
81
+ 'inferring the format from the filename extension, which CANNOT ' +
82
+ 'detect camt053 (and mis-resolves ambiguous .xml). Example fields in ' +
83
+ 'order: format="' +
84
+ formatExample +
85
+ '" then file=@<your-local-file>.',
86
+ '4. On success matcher returns 202 with a jobId. POLL ingestion_job_get ' +
87
+ '(with this contextId and that jobId) to watch status. COMPLETED and ' +
88
+ 'FAILED are terminal; on FAILED read the `diagnosis` field for the ' +
89
+ 'reason.',
90
+ '5. SIZE CAP: the streaming route is governed by the operator-' +
91
+ 'configured runtime key ingestion.max_upload_bytes (default ~1 GiB; ' +
92
+ 'range 1 MiB–8 GiB). It counts the TOTAL request body — every part, ' +
93
+ 'header, and boundary, not just the file. A body over the limit ' +
94
+ 'returns 413 (an over-limit upload detected mid-stream also fails the ' +
95
+ 'job with a diagnosis). This cap is independent of the relay body ' +
96
+ 'cap, which does not apply since the bytes bypass the relay.',
97
+ 'baseUrlUsed came from MATCHER_API_URL, which MUST be a client-' +
98
+ 'reachable (public) address. If this URL is an internal/cluster ' +
99
+ 'address your local Claude cannot reach, the operator must point ' +
100
+ 'MATCHER_API_URL at the public matcher host.',
101
+ ].join('\n');
102
+ const contract = {
103
+ uploadUrl,
104
+ method: 'POST',
105
+ fileField: 'file',
106
+ formatField: 'format',
107
+ fieldOrder: ['format', 'file'],
108
+ contextId: args.contextId,
109
+ sourceId: args.sourceId,
110
+ baseUrlUsed: baseUrl,
111
+ instructions,
112
+ };
113
+ return { content: [{ type: 'text', text: JSON.stringify(contract) }] };
114
+ });
115
+ }
116
+ //# sourceMappingURL=upload-begin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-begin.js","sourceRoot":"","sources":["../../../src/tools/ingestion/upload-begin.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,wEAAwE;AACxE,0BAA0B;AAC1B,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,2EAA2E;AAC3E,4EAA4E;AAC5E,gFAAgF;AAChF,sEAAsE;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,wDAAwD;AACxD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,wEAAwE;QACtE,yEAAyE;QACzE,0DAA0D,CAC7D;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,wEAAwE;QACtE,uDAAuD,CAC1D;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,qEAAqE;QACrE,wDAAwD,CAC3D;CACJ,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAAiB;IAChE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,sEAAsE;YACtE,kEAAkE;YAClE,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,8DAA8D;YAC9D,yEAAyE;YACzE,sEAAsE;YACtE,oEAAoE;QACtE,WAAW,EAAE,8BAA8B;KAC5C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAA;QACjC,MAAM,SAAS,GACb,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAA;QAE1C,MAAM,YAAY,GAAG;YACnB,oEAAoE;gBAClE,qCAAqC;YACvC,iCAAiC;gBAC/B,IAAI,CAAC,SAAS;gBACd,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ;gBACb,sEAAsE;gBACtE,qEAAqE;gBACrE,cAAc;YAChB,sDAAsD;gBACpD,SAAS;gBACT,uEAAuE;gBACvE,kEAAkE;gBAClE,mBAAmB;YACrB,uEAAuE;gBACrE,uEAAuE;gBACvE,iEAAiE;gBACjE,sEAAsE;gBACtE,iBAAiB;gBACjB,aAAa;gBACb,iCAAiC;YACnC,yEAAyE;gBACvE,sEAAsE;gBACtE,oEAAoE;gBACpE,SAAS;YACX,+DAA+D;gBAC7D,qEAAqE;gBACrE,qEAAqE;gBACrE,iEAAiE;gBACjE,uEAAuE;gBACvE,mEAAmE;gBACnE,6DAA6D;YAC/D,gEAAgE;gBAC9D,iEAAiE;gBACjE,kEAAkE;gBAClE,6CAA6C;SAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,QAAQ,GAAG;YACf,SAAS;YACT,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,QAAQ;YACrB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,OAAO;YACpB,YAAY;SACb,CAAA;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;IACxE,CAAC,CACF,CAAA;AACH,CAAC"}