@lerianstudio/matcher-mcp 5.0.0-beta.13 → 5.0.0-beta.15
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.
- package/dist/matcher/client.js +14 -0
- package/dist/matcher/client.js.map +1 -1
- package/dist/matcher/idempotency.js +94 -0
- package/dist/matcher/idempotency.js.map +1 -0
- package/dist/spec/openapi.yaml +8 -1
- package/dist/tools/exception/bulk-dispatch.js +9 -2
- package/dist/tools/exception/bulk-dispatch.js.map +1 -1
- package/dist/tools/exception/dispatch.js +10 -3
- package/dist/tools/exception/dispatch.js.map +1 -1
- package/dist/tools/exception/shared.js +5 -0
- package/dist/tools/exception/shared.js.map +1 -1
- package/dist/tools/generic/invoke.js +12 -0
- package/dist/tools/generic/invoke.js.map +1 -1
- package/package.json +1 -1
package/dist/matcher/client.js
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// fetch/abort error — so error handling upstream is uniform.
|
|
15
15
|
import { loadConfig } from '../config.js';
|
|
16
16
|
import { injectTraceContext } from '../observability/otel.js';
|
|
17
|
+
import { deriveDispatchIdempotencyKey, isDispatchPath, } from './idempotency.js';
|
|
17
18
|
/** Thrown by `MatcherClient.request` on any matcher status >= 400 (or transport failure). */
|
|
18
19
|
export class MatcherApiError extends Error {
|
|
19
20
|
/** HTTP status from matcher (synthetic, e.g. 504, for transport failures). */
|
|
@@ -122,6 +123,19 @@ export function createMatcherClient(baseUrl, bearerToken) {
|
|
|
122
123
|
// NOT set content-type and must NOT JSON.stringify. Every other body
|
|
123
124
|
// (the overwhelming majority of requests) keeps the existing JSON path.
|
|
124
125
|
const isFormData = req.body instanceof FormData;
|
|
126
|
+
// A dispatch is the one request whose side effect lands outside matcher, so
|
|
127
|
+
// it is never sent unkeyed: without a key the model's retry after a relay
|
|
128
|
+
// timeout opens a second ticket. The caller's own key always wins — that is
|
|
129
|
+
// how a DELIBERATE second dispatch gets through. Every other route stays
|
|
130
|
+
// opt-in and unkeyed. FormData is excluded because a dispatch body is JSON
|
|
131
|
+
// by contract and a multipart body has no canonical digest form here.
|
|
132
|
+
const idempotencyKey = req.idempotencyKey ??
|
|
133
|
+
(req.method === 'POST' && isDispatchPath(req.path) && !isFormData
|
|
134
|
+
? deriveDispatchIdempotencyKey(req.path, req.body)
|
|
135
|
+
: undefined);
|
|
136
|
+
if (idempotencyKey !== undefined) {
|
|
137
|
+
headers['x-idempotency-key'] = idempotencyKey;
|
|
138
|
+
}
|
|
125
139
|
let outgoingBody;
|
|
126
140
|
if (isFormData) {
|
|
127
141
|
outgoingBody = req.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/matcher/client.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,4EAA4E;AAC5E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,2CAA2C;AAC3C,6EAA6E;AAC7E,+DAA+D;AAC/D,kFAAkF;AAClF,gFAAgF;AAChF,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/matcher/client.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,4EAA4E;AAC5E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,2CAA2C;AAC3C,6EAA6E;AAC7E,+DAA+D;AAC/D,kFAAkF;AAClF,gFAAgF;AAChF,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EACL,4BAA4B,EAC5B,cAAc,GACf,MAAM,kBAAkB,CAAA;AAkCzB,6FAA6F;AAC7F,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,8EAA8E;IACrE,MAAM,CAAQ;IACvB,oDAAoD;IAC3C,OAAO,CAAgB;IAEhC,YAAY,OAAe,EAAE,MAAc,EAAE,UAA0B,EAAE;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAQD;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAEpC,oFAAoF;AACpF,SAAS,QAAQ,CACf,OAAe,EACf,IAAY,EACZ,KAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAA;IAC1E,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,GAAa;IACvC,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAA;IAC5D,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;QACjC,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACjC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACjC,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAA;IAC1C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAsB,EAAE,CAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa;QACpC,sEAAsE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;QACvC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CAAI,GAAa;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,SAAc,CAAA;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,SAAc,CAAA;IACvB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAA;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,WAAmB;IACtE,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,SAAS,CAAA;IAExC,OAAO;QACL,KAAK,CAAC,OAAO,CAAc,GAAmB;YAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;YAElD,MAAM,OAAO,GAA2B;gBACtC,wDAAwD;gBACxD,aAAa,EAAE,UAAU,WAAW,EAAE;gBACtC,MAAM,EAAE,kBAAkB;aAC3B,CAAA;YACD,yEAAyE;YACzE,gDAAgD;YAChD,uEAAuE;YACvE,qEAAqE;YACrE,wEAAwE;YACxE,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,YAAY,QAAQ,CAAA;YAE/C,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,yEAAyE;YACzE,2EAA2E;YAC3E,sEAAsE;YACtE,MAAM,cAAc,GAClB,GAAG,CAAC,cAAc;gBAClB,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;oBAC/D,CAAC,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;oBAClD,CAAC,CAAC,SAAS,CAAC,CAAA;YAChB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,mBAAmB,CAAC,GAAG,cAAc,CAAA;YAC/C,CAAC;YAED,IAAI,YAA2C,CAAA;YAC/C,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,GAAG,GAAG,CAAC,IAAgB,CAAA;YACrC,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;gBAC5C,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;YAED,qEAAqE;YACrE,2EAA2E;YAC3E,qEAAqE;YACrE,0EAA0E;YAC1E,sCAAsC;YACtC,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAE3B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;YAE7D,IAAI,GAAa,CAAA;YACjB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACrB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO;oBACP,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,oEAAoE;gBACpE,wEAAwE;gBACxE,uEAAuE;gBACvE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO;oBACrC,CAAC,CAAC,mCAAmC,SAAS,IAAI;oBAClD,CAAC,CAAC,uDAAuD,CAAA;gBAC3D,MAAM,MAAM,GACV,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;gBAChE,MAAM,IAAI,eAAe,CACvB,GAAG,KAAK,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EACrC,wBAAwB,EACxB,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAA;YACH,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;gBACvC,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAA;gBACvE,MAAM,IAAI,eAAe,CACvB,oBAAoB,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,EAC5C,GAAG,CAAC,MAAM,EACV,OAAO,CACR,CAAA;YACH,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,MAAM,YAAY,CAAI,GAAG,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,wEAAwE;gBACxE,oDAAoD;gBACpD,MAAM,MAAM,GACV,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAA;gBAC5D,MAAM,IAAI,eAAe,CACvB,oBAAoB,GAAG,CAAC,MAAM,gCAAgC,EAC9D,GAAG,CAAC,MAAM,EACV,EAAE,KAAK,EAAE,oCAAoC,EAAE,MAAM,EAAE,CACxD,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Idempotency keys for the requests the relay must never send twice.
|
|
2
|
+
//
|
|
3
|
+
// WHY THIS IS IN THE TRANSPORT LAYER
|
|
4
|
+
// Matcher's idempotency is opt-in on `X-Idempotency-Key`, so an unkeyed request
|
|
5
|
+
// is a request nobody can deduplicate. The relay aborts on its own
|
|
6
|
+
// `MATCHER_TIMEOUT_MS`: a dispatch that succeeds slowly at Jira/ServiceNow still
|
|
7
|
+
// hands the model a transport error, the model retries the tool, and a second
|
|
8
|
+
// ticket opens at the target — which matcher cannot undo.
|
|
9
|
+
//
|
|
10
|
+
// Dispatch reaches matcher through THREE surfaces, not one: `exception_dispatch`,
|
|
11
|
+
// `exception_bulk_dispatch`, and the generic `matcher_invoke` (which can invoke
|
|
12
|
+
// any operation in the spec, dispatch included). Keying only the curated pair
|
|
13
|
+
// would leave the generic surface duplicating tickets. `createMatcherClient` is
|
|
14
|
+
// the single seam all three route through, so the default key is stamped there
|
|
15
|
+
// and this module owns the two rules it needs: which paths are dispatch, and how
|
|
16
|
+
// their key is derived.
|
|
17
|
+
//
|
|
18
|
+
// Every other operation keeps today's unkeyed behaviour on purpose. A key makes
|
|
19
|
+
// a repeat REPLAY, which is right for a dispatch and wrong for, say, a second
|
|
20
|
+
// deliberate `createContext` with the same body.
|
|
21
|
+
import { createHash } from 'node:crypto';
|
|
22
|
+
import { z } from 'zod';
|
|
23
|
+
/** Matcher's own key contract: 1–128 chars of `A-Za-z0-9:_-`. */
|
|
24
|
+
export const IDEMPOTENCY_KEY_PATTERN = /^[A-Za-z0-9:_-]{1,128}$/;
|
|
25
|
+
/**
|
|
26
|
+
* Zod field for the optional caller-chosen key on the tools that can dispatch.
|
|
27
|
+
* Validated against matcher's contract so a malformed key fails at the tool
|
|
28
|
+
* boundary with a readable message instead of as a matcher 400.
|
|
29
|
+
*/
|
|
30
|
+
export const idempotencyKeyInputField = z
|
|
31
|
+
.string()
|
|
32
|
+
.regex(IDEMPOTENCY_KEY_PATTERN, 'idempotencyKey must be 1–128 chars of A-Z a-z 0-9 : _ -')
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Optional idempotency key. OMIT IT normally: a key derived from this ' +
|
|
35
|
+
'request is sent automatically for dispatch operations, so a retry after ' +
|
|
36
|
+
'a timeout replays the recorded answer instead of dispatching a second ' +
|
|
37
|
+
'time. Supply a distinct value ONLY to deliberately dispatch again after ' +
|
|
38
|
+
'checking the target system — for example after an MTCH-0514 (outcome ' +
|
|
39
|
+
'unconfirmed) answer.');
|
|
40
|
+
/**
|
|
41
|
+
* Is this path one of matcher's two dispatch routes —
|
|
42
|
+
* `/v1/exceptions/{id}/dispatch` and `/v1/exceptions/bulk/dispatch`?
|
|
43
|
+
*/
|
|
44
|
+
export function isDispatchPath(path) {
|
|
45
|
+
return path.startsWith('/v1/exceptions/') && path.endsWith('/dispatch');
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Content-derived key for a dispatch request: `dispatch:` + sha256 hex of
|
|
49
|
+
* `path|canonicalBody` (73 chars, inside matcher's 128-char cap and charset).
|
|
50
|
+
*
|
|
51
|
+
* Determinism is the whole point — the model's retry of the same tool call with
|
|
52
|
+
* the same arguments derives the same key, so matcher replays its recorded
|
|
53
|
+
* answer (including a HELD MTCH-0514 refusal) instead of re-executing.
|
|
54
|
+
*
|
|
55
|
+
* `exceptionIds` is sorted for the digest only; the body keeps the caller's
|
|
56
|
+
* order. The same SET of ids is the same request whatever order it arrived in,
|
|
57
|
+
* and a model re-emitting the list differently must not defeat the dedup.
|
|
58
|
+
*/
|
|
59
|
+
export function deriveDispatchIdempotencyKey(path, body) {
|
|
60
|
+
return `dispatch:${createHash('sha256')
|
|
61
|
+
.update(`${path}|${JSON.stringify(canonicalizeBody(body))}`)
|
|
62
|
+
.digest('hex')}`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The digest input's body form. Object keys are sorted recursively so the same
|
|
66
|
+
* fields in a different property order hash to the same key — `matcher_invoke`
|
|
67
|
+
* accepts a free-form body, so a model re-emitting equivalent JSON with another
|
|
68
|
+
* key order must not defeat the dedup. Ordinary arrays keep their order (a
|
|
69
|
+
* different element order can be a different request); `exceptionIds` is the
|
|
70
|
+
* one set-semantics exception and is value-sorted.
|
|
71
|
+
*/
|
|
72
|
+
function canonicalizeBody(body) {
|
|
73
|
+
if (body === null || typeof body !== 'object') {
|
|
74
|
+
return body ?? null;
|
|
75
|
+
}
|
|
76
|
+
if (Array.isArray(body)) {
|
|
77
|
+
return body.map(canonicalizeBody);
|
|
78
|
+
}
|
|
79
|
+
const record = body;
|
|
80
|
+
return Object.fromEntries(Object.keys(record)
|
|
81
|
+
// `JSON.stringify` omits undefined-valued properties from the wire body,
|
|
82
|
+
// so they must not reach the digest either: `{ queue: undefined }` and
|
|
83
|
+
// `{}` send the same request and must derive the same key. Explicit
|
|
84
|
+
// nulls survive (they are on the wire too).
|
|
85
|
+
.filter((key) => record[key] !== undefined)
|
|
86
|
+
.sort()
|
|
87
|
+
.map((key) => [
|
|
88
|
+
key,
|
|
89
|
+
key === 'exceptionIds' && Array.isArray(record[key])
|
|
90
|
+
? [...record[key]].map(String).sort()
|
|
91
|
+
: canonicalizeBody(record[key]),
|
|
92
|
+
]));
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=idempotency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/matcher/idempotency.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,qCAAqC;AACrC,gFAAgF;AAChF,mEAAmE;AACnE,iFAAiF;AACjF,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,wBAAwB;AACxB,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,iDAAiD;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,EAAE;KACR,KAAK,CACJ,uBAAuB,EACvB,yDAAyD,CAC1D;KACA,QAAQ,EAAE;KACV,QAAQ,CACP,sEAAsE;IACpE,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,sBAAsB,CACzB,CAAA;AAEH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY,EACZ,IAAa;IAEb,OAAO,YAAY,UAAU,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;SAC3D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAa;IACrC,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,IAAI,IAAI,IAAI,CAAA;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,MAAM,GAAG,IAA+B,CAAA;IAC9C,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACjB,yEAAyE;QACzE,uEAAuE;QACvE,oEAAoE;QACpE,4CAA4C;SAC3C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;SAC1C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;QACZ,GAAG;QACH,GAAG,KAAK,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC,GAAI,MAAM,CAAC,GAAG,CAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YACpD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAClC,CAAC,CACL,CAAA;AACH,CAAC"}
|
package/dist/spec/openapi.yaml
CHANGED
|
@@ -8473,7 +8473,14 @@ info:
|
|
|
8473
8473
|
email: support@lerian.studio
|
|
8474
8474
|
name: Lerian Studio Support
|
|
8475
8475
|
url: https://discord.gg/DnhqKwkGv3
|
|
8476
|
-
description:
|
|
8476
|
+
description: |-
|
|
8477
|
+
Reconciliation engine for the Lerian Studio ecosystem. Provides automated transaction matching between Midaz ledger and external systems.
|
|
8478
|
+
|
|
8479
|
+
## Idempotency
|
|
8480
|
+
|
|
8481
|
+
POST, PUT and PATCH requests accept an optional `Idempotency-Key` header (`X-Idempotency-Key` is also honoured, and wins if both are sent). Keys are 1-128 characters of letters, digits, hyphen, underscore or colon, are scoped per tenant, caller, method and request target, and are strictly opt-in: a request sent without the header is never de-duplicated. A retry under a key whose first attempt completed replays that stored response and carries `Idempotency-Replayed: true`; a retry that arrives while the first attempt is still in flight is refused with 409.
|
|
8482
|
+
|
|
8483
|
+
A request that FAILED normally releases its key, so a caller can correct the cause and retry under the same key. The exception is a dispatch whose outcome could not be confirmed (502, code `MTCH-0514`): the exception may already have been created in the target system, so that answer HOLDS its key — every retry under it replays the same 502 and no second dispatch is sent. Deliberately attempting that dispatch again therefore requires a NEW idempotency key. A dispatch the target answered and rejected (502, code `MTCH-0513`) created nothing there and releases its key as usual.
|
|
8477
8484
|
license:
|
|
8478
8485
|
name: Lerian Studio General License
|
|
8479
8486
|
title: Matcher Reconciliation API
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
// tenant field; matcher scopes to the relayed token's tenant.
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
import { DISPATCH_TARGET_SYSTEMS } from './dispatch.js';
|
|
12
|
+
import { idempotencyKeyInputField } from '../../matcher/idempotency.js';
|
|
12
13
|
import { dispatchException, EXCEPTIONS_BULK_DISPATCH_PATH } from './shared.js';
|
|
13
14
|
/** Zod raw shape for `exception_bulk_dispatch` input — ids + target + optional queue. */
|
|
14
15
|
export const bulkDispatchInputShape = {
|
|
@@ -26,10 +27,11 @@ export const bulkDispatchInputShape = {
|
|
|
26
27
|
.max(255)
|
|
27
28
|
.optional()
|
|
28
29
|
.describe('Optional queue or team assignment (≤255, e.g. "RECON-TEAM").'),
|
|
30
|
+
idempotencyKey: idempotencyKeyInputField,
|
|
29
31
|
};
|
|
30
32
|
/**
|
|
31
33
|
* Build the bulk-dispatch POST body, omitting the optional `queue` when unset so
|
|
32
|
-
* the request stays minimal.
|
|
34
|
+
* the request stays minimal. The header-only `idempotencyKey` never enters it.
|
|
33
35
|
*/
|
|
34
36
|
export function buildBulkDispatchBody(args) {
|
|
35
37
|
const body = {
|
|
@@ -54,13 +56,18 @@ export function registerExceptionBulkDispatchTool(server) {
|
|
|
54
56
|
'(JIRA|SERVICENOW|WEBHOOK|MANUAL), and optionally a ' +
|
|
55
57
|
'queue/team (≤255). Partial success is supported — the response reports ' +
|
|
56
58
|
'per-exception successes and failures. No tenant field is accepted. Errors ' +
|
|
57
|
-
'surface as structured RFC 9457 problems.'
|
|
59
|
+
'surface as structured RFC 9457 problems. This call is idempotent: an ' +
|
|
60
|
+
'identical retry replays the recorded answer instead of dispatching the ' +
|
|
61
|
+
'same exceptions a second time.',
|
|
58
62
|
inputSchema: bulkDispatchInputShape,
|
|
59
63
|
}, async (args, extra) => {
|
|
60
64
|
return dispatchException({
|
|
61
65
|
method: 'POST',
|
|
62
66
|
path: EXCEPTIONS_BULK_DISPATCH_PATH,
|
|
63
67
|
body: buildBulkDispatchBody(args),
|
|
68
|
+
...(args.idempotencyKey !== undefined
|
|
69
|
+
? { idempotencyKey: args.idempotencyKey }
|
|
70
|
+
: {}),
|
|
64
71
|
}, extra);
|
|
65
72
|
});
|
|
66
73
|
}
|
|
@@ -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,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;
|
|
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,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,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;IAC3E,cAAc,EAAE,wBAAwB;CACzC,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,uEAAuE;YACvE,yEAAyE;YACzE,gCAAgC;QAClC,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;YACjC,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;SACR,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// string) plus an optional queue/team. exceptionId is a path param; no tenant
|
|
7
7
|
// field is accepted.
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
+
import { idempotencyKeyInputField } from '../../matcher/idempotency.js';
|
|
9
10
|
import { dispatchException, exceptionDispatchPath } from './shared.js';
|
|
10
11
|
/** External target systems a single exception can be dispatched to (closed enum per spec). */
|
|
11
12
|
export const DISPATCH_TARGET_SYSTEMS = [
|
|
@@ -28,10 +29,12 @@ export const dispatchExceptionInputShape = {
|
|
|
28
29
|
.max(255)
|
|
29
30
|
.optional()
|
|
30
31
|
.describe('Optional queue or team assignment (e.g. "RECON-TEAM").'),
|
|
32
|
+
idempotencyKey: idempotencyKeyInputField,
|
|
31
33
|
};
|
|
32
34
|
/**
|
|
33
|
-
* Build the POST body from the input minus the path-only `exceptionId
|
|
34
|
-
* the optional `queue` when unset so the
|
|
35
|
+
* Build the POST body from the input minus the path-only `exceptionId` and the
|
|
36
|
+
* header-only `idempotencyKey`, omitting the optional `queue` when unset so the
|
|
37
|
+
* request stays minimal.
|
|
35
38
|
*/
|
|
36
39
|
export function buildDispatchBody(args) {
|
|
37
40
|
const body = { targetSystem: args.targetSystem };
|
|
@@ -51,13 +54,17 @@ export function registerExceptionDispatchTool(server) {
|
|
|
51
54
|
'Provide exceptionId (UUID path param), targetSystem ' +
|
|
52
55
|
'(JIRA|SERVICENOW|WEBHOOK|MANUAL), and optionally a queue/team. No tenant ' +
|
|
53
56
|
'field is accepted. Returns the dispatch acknowledgement, or a structured ' +
|
|
54
|
-
'RFC 9457 error.'
|
|
57
|
+
'RFC 9457 error. This call is idempotent: an identical retry replays the ' +
|
|
58
|
+
'recorded answer instead of opening a second ticket.',
|
|
55
59
|
inputSchema: dispatchExceptionInputShape,
|
|
56
60
|
}, async (args, extra) => {
|
|
57
61
|
return dispatchException({
|
|
58
62
|
method: 'POST',
|
|
59
63
|
path: exceptionDispatchPath(args.exceptionId),
|
|
60
64
|
body: buildDispatchBody(args),
|
|
65
|
+
...(args.idempotencyKey !== undefined
|
|
66
|
+
? { idempotencyKey: args.idempotencyKey }
|
|
67
|
+
: {}),
|
|
61
68
|
}, extra);
|
|
62
69
|
});
|
|
63
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/tools/exception/dispatch.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAC5E,8EAA8E;AAC9E,qBAAqB;AAErB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEtE,8FAA8F;AAC9F,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM;IACN,YAAY;IACZ,SAAS;IACT,QAAQ;CACA,CAAA;AAEV,gFAAgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sCAAsC,CAAC;IACnD,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,QAAQ,CACP,gEAAgE,CACjE;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/tools/exception/dispatch.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAC5E,8EAA8E;AAC9E,qBAAqB;AAErB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEtE,8FAA8F;AAC9F,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM;IACN,YAAY;IACZ,SAAS;IACT,QAAQ;CACA,CAAA;AAEV,gFAAgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sCAAsC,CAAC;IACnD,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,QAAQ,CACP,gEAAgE,CACjE;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,cAAc,EAAE,wBAAwB;CACzC,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA4B;IAE5B,MAAM,IAAI,GAA4B,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAA;IACzE,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;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,uEAAuE;YACvE,sDAAsD;YACtD,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,qDAAqD;QACvD,WAAW,EAAE,2BAA2B;KACzC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;YAC7C,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;SACR,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
|
|
@@ -59,6 +59,11 @@ export const EXCEPTIONS_BULK_ASSIGN_PATH = `${EXCEPTIONS_PATH}/bulk/assign`;
|
|
|
59
59
|
export const EXCEPTIONS_BULK_RESOLVE_PATH = `${EXCEPTIONS_PATH}/bulk/resolve`;
|
|
60
60
|
/** Bulk-dispatch action across many exceptions. */
|
|
61
61
|
export const EXCEPTIONS_BULK_DISPATCH_PATH = `${EXCEPTIONS_PATH}/bulk/dispatch`;
|
|
62
|
+
// The DEFAULT idempotency key for both dispatch routes is stamped by the
|
|
63
|
+
// transport (`src/matcher/idempotency.ts`), not here: the generic `matcher_invoke`
|
|
64
|
+
// can dispatch too, and keying only these two tools would leave that surface
|
|
65
|
+
// duplicating tickets. These tools only expose the OVERRIDE lane
|
|
66
|
+
// (`idempotencyKeyInputField`) for a deliberate second dispatch.
|
|
62
67
|
/**
|
|
63
68
|
* Run one assembled request through the relay: fail-closed auth, dispatch, and
|
|
64
69
|
* RFC 9457 → tool-error mapping — identical to the generic invoke's dispatch so
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/tools/exception/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/tools/exception/shared.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AACxE,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,kEAAkE;AAClE,6EAA6E;AAC7E,yBAAyB;AACzB,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,qEAAqE;AAIrE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEjE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAE/C,iGAAiG;AACjG,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,GAAG,eAAe,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAA;AAChE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,UAAU,CAAA;AAChD,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAA;AACjD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,SAAiB;IAEjB,OAAO,GAAG,qBAAqB,CAAC,WAAW,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAA;AACjF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAA;AACjD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAA;AACjD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,cAAc,CAAA;AACpD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,eAAe,CAAA;AACrD,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,eAAe,cAAc,CAAA;AAE3E,kDAAkD;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,eAAe,eAAe,CAAA;AAE7E,mDAAmD;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,eAAe,gBAAgB,CAAA;AAE/E,yEAAyE;AACzE,mFAAmF;AACnF,6EAA6E;AAC7E,iEAAiE;AACjE,iEAAiE;AAEjE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAuB,EACvB,KAAmC,EACnC,YAAyD,oBAAoB;IAE7E,IAAI,MAAqB,CAAA;IACzB,IAAI,CAAC;QACH,4DAA4D;QAC5D,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAA;QAC1E,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,0EAA0E;QAC1E,kCAAkC;QAClC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,4EAA4E;QAC5E,+CAA+C;QAC/C,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -39,6 +39,7 @@ import { Ajv2020 } from 'ajv/dist/2020.js';
|
|
|
39
39
|
import { z } from 'zod';
|
|
40
40
|
import { requireMatcherClient, UnauthenticatedError, } from '../../auth/request-token.js';
|
|
41
41
|
import { MatcherApiError, } from '../../matcher/client.js';
|
|
42
|
+
import { idempotencyKeyInputField } from '../../matcher/idempotency.js';
|
|
42
43
|
import { closestOperationIds, nonJsonBodyGuidance } from './describe-operation.js';
|
|
43
44
|
import { isMatcherApiError, toToolError } from '../tool-error.js';
|
|
44
45
|
/** Keys that would let a caller assert a tenant — categorically forbidden. */
|
|
@@ -302,6 +303,13 @@ export class Invoker {
|
|
|
302
303
|
path,
|
|
303
304
|
...(input.query !== undefined ? { query: input.query } : {}),
|
|
304
305
|
...(body !== undefined ? { body } : {}),
|
|
306
|
+
// The DEFAULT key for a dispatch is stamped by the transport, so this
|
|
307
|
+
// generic surface is covered without knowing which operations dispatch.
|
|
308
|
+
// Passing a key here is the caller's deliberate override — how a second
|
|
309
|
+
// dispatch gets past a held refusal.
|
|
310
|
+
...(input.idempotencyKey !== undefined
|
|
311
|
+
? { idempotencyKey: input.idempotencyKey }
|
|
312
|
+
: {}),
|
|
305
313
|
};
|
|
306
314
|
}
|
|
307
315
|
}
|
|
@@ -356,6 +364,7 @@ export const invokeInputShape = {
|
|
|
356
364
|
.describe('JSON request body. Validated against the operation’s request-body ' +
|
|
357
365
|
'schema before sending; on failure the validation errors are returned ' +
|
|
358
366
|
'and no request is made. A tenant key is rejected.'),
|
|
367
|
+
idempotencyKey: idempotencyKeyInputField,
|
|
359
368
|
};
|
|
360
369
|
/**
|
|
361
370
|
* Run an already-assembled request through the relay: fail-closed auth, dispatch,
|
|
@@ -417,6 +426,9 @@ export function registerInvokeTool(server, index) {
|
|
|
417
426
|
...(args.pathParams !== undefined ? { pathParams: args.pathParams } : {}),
|
|
418
427
|
...(args.query !== undefined ? { query: args.query } : {}),
|
|
419
428
|
...(args.body !== undefined ? { body: args.body } : {}),
|
|
429
|
+
...(args.idempotencyKey !== undefined
|
|
430
|
+
? { idempotencyKey: args.idempotencyKey }
|
|
431
|
+
: {}),
|
|
420
432
|
});
|
|
421
433
|
}
|
|
422
434
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/tools/generic/invoke.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/tools/generic/invoke.ts"],"names":[],"mappings":"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"}
|