@lerianstudio/matcher-mcp 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.js +0 -33
- package/dist/config.js.map +1 -1
- package/dist/spec/enum-policy.js +83 -0
- package/dist/spec/enum-policy.js.map +1 -0
- package/dist/spec/openapi.yaml +27 -20
- package/dist/spec/schema-parity.js +393 -0
- package/dist/spec/schema-parity.js.map +1 -0
- package/dist/tools/context/create.js +18 -3
- package/dist/tools/context/create.js.map +1 -1
- package/dist/tools/context/update.js +20 -5
- package/dist/tools/context/update.js.map +1 -1
- package/dist/tools/exception/bulk-dispatch.js +11 -13
- package/dist/tools/exception/bulk-dispatch.js.map +1 -1
- package/dist/tools/exception/list.js +12 -3
- package/dist/tools/exception/list.js.map +1 -1
- package/dist/tools/fee-rule/create.js +36 -13
- package/dist/tools/fee-rule/create.js.map +1 -1
- package/dist/tools/generic/describe-operation.js +3 -2
- package/dist/tools/generic/describe-operation.js.map +1 -1
- package/dist/tools/ingestion/index.js +13 -8
- package/dist/tools/ingestion/index.js.map +1 -1
- package/dist/tools/ingestion/upload-begin.js +116 -0
- package/dist/tools/ingestion/upload-begin.js.map +1 -0
- package/dist/tools/ingestion/upload.js +47 -97
- package/dist/tools/ingestion/upload.js.map +1 -1
- package/dist/tools/source/create.js +6 -3
- package/dist/tools/source/create.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/ingestion/fetch-source.js +0 -105
- package/dist/tools/ingestion/fetch-source.js.map +0 -1
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
// Curated-tool ⇄ OpenAPI request-body parity — the client-side sibling of the Go
|
|
2
|
+
// `check-huma-spec` gate.
|
|
3
|
+
//
|
|
4
|
+
// WHY THIS EXISTS
|
|
5
|
+
// A curated Zod tool (src/tools/<family>/*.ts) hand-writes its input shape and
|
|
6
|
+
// dispatches a fixed method+path. `curated-operations.test.ts` already pins that
|
|
7
|
+
// each tool's operation still EXISTS in the spec (structural drift). This file
|
|
8
|
+
// goes one layer deeper: it diffs each curated tool's declared Zod request shape
|
|
9
|
+
// against the spec's request-body JSON Schema and fails when the TOOL IS BEHIND —
|
|
10
|
+
// a body property the spec added that the tool never exposes, or a closed Zod
|
|
11
|
+
// enum that lags the spec's enum values. Either way an operator driving the tool
|
|
12
|
+
// blind (the .describe() text is the whole product) would be unable to send a
|
|
13
|
+
// field the backend accepts, or would be rejected client-side for a value the
|
|
14
|
+
// backend allows. The enum-policy allow-lists (enum-policy.ts) carve out the two
|
|
15
|
+
// sanctioned divergences (spec-enum→free-string, and deliberately-omitted field).
|
|
16
|
+
//
|
|
17
|
+
// SCOPE — A DECISION, NOT AN OVERSIGHT
|
|
18
|
+
// This gate covers REQUEST-BODY parity only. Query- and path-parameter drift is
|
|
19
|
+
// deliberately OUT OF SCOPE here: path params ride URL builders (a rename there
|
|
20
|
+
// breaks the dispatched path, which `curated-operations.test.ts`'s method+path
|
|
21
|
+
// reconciliation already guards), and the query surface is thin and mostly
|
|
22
|
+
// pagination. Body shape is where a curated tool silently rots against a growing
|
|
23
|
+
// backend contract, so that is what we pin.
|
|
24
|
+
//
|
|
25
|
+
// TOOL-AHEAD IS NOT A FAILURE
|
|
26
|
+
// Extra tool properties the spec lacks (or a tool enum with MORE values than the
|
|
27
|
+
// spec) are not flagged — a curated tool may intentionally lead the spec. Only
|
|
28
|
+
// the tool falling BEHIND the spec bites.
|
|
29
|
+
//
|
|
30
|
+
// ZOD 4 INTROSPECTION
|
|
31
|
+
// Dependency-free (no zod-to-json-schema). Zod 4 exposes `schema._def.type` as
|
|
32
|
+
// the discriminator and `_def.innerType` for the single-child wrappers
|
|
33
|
+
// (optional / default / nullable / readonly / catch / nonoptional); ZodPipe
|
|
34
|
+
// (transform/refine-with-effect) carries `_def.in`; ZodEnum carries
|
|
35
|
+
// `_def.entries`; ZodArray carries `_def.element`; ZodObject exposes `.shape`.
|
|
36
|
+
// The self-test fixtures in schema-parity.test.ts are the correctness proof for
|
|
37
|
+
// these unwrap wrinkles.
|
|
38
|
+
// --- Zod side --------------------------------------------------------------
|
|
39
|
+
/** Access the Zod 4 internal def, tolerating either accessor. */
|
|
40
|
+
function defOf(schema) {
|
|
41
|
+
if (schema === null || typeof schema !== 'object') {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const s = schema;
|
|
45
|
+
const d = s._def ?? s.def;
|
|
46
|
+
return d !== null && typeof d === 'object'
|
|
47
|
+
? d
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Peel the transparent single-child wrappers (optional / default / nullable /
|
|
52
|
+
* readonly / catch / nonoptional via `innerType`; transform/pipe via `in`) until
|
|
53
|
+
* a "core" schema (object / array / enum / scalar / record) is reached.
|
|
54
|
+
*/
|
|
55
|
+
function unwrap(schema) {
|
|
56
|
+
let current = schema;
|
|
57
|
+
for (let hops = 0; hops < 50; hops += 1) {
|
|
58
|
+
const d = defOf(current);
|
|
59
|
+
if (d === undefined) {
|
|
60
|
+
return current;
|
|
61
|
+
}
|
|
62
|
+
if (d['type'] === 'pipe' && d['in'] !== undefined) {
|
|
63
|
+
current = d['in'];
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (d['innerType'] !== undefined) {
|
|
67
|
+
current = d['innerType'];
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
return current;
|
|
71
|
+
}
|
|
72
|
+
return current;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Whether a Zod field is GUARANTEED to appear in the parsed payload.
|
|
76
|
+
* Peels wrappers outermost-first: the first wrapper that decides presence wins.
|
|
77
|
+
* `optional` → 'optional' (may be absent); `default`/`catch`/`prefault` →
|
|
78
|
+
* 'guaranteed' (a value is filled when the caller omits it); `nonoptional` →
|
|
79
|
+
* 'guaranteed' (explicitly strips optionality); `nullable`/`readonly`/`pipe`
|
|
80
|
+
* are transparent for presence and are peeled through. A bare scalar/object/
|
|
81
|
+
* array with no wrapper is required.
|
|
82
|
+
*/
|
|
83
|
+
function presenceOf(schema) {
|
|
84
|
+
let current = schema;
|
|
85
|
+
for (let hops = 0; hops < 50; hops += 1) {
|
|
86
|
+
const d = defOf(current);
|
|
87
|
+
if (d === undefined) {
|
|
88
|
+
return 'guaranteed';
|
|
89
|
+
}
|
|
90
|
+
const type = d['type'];
|
|
91
|
+
if (type === 'optional') {
|
|
92
|
+
return 'optional';
|
|
93
|
+
}
|
|
94
|
+
if (type === 'default' || type === 'catch' || type === 'prefault') {
|
|
95
|
+
return 'guaranteed';
|
|
96
|
+
}
|
|
97
|
+
if (type === 'nonoptional') {
|
|
98
|
+
return 'guaranteed';
|
|
99
|
+
}
|
|
100
|
+
if (type === 'pipe' && d['in'] !== undefined) {
|
|
101
|
+
current = d['in'];
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (d['innerType'] !== undefined) {
|
|
105
|
+
current = d['innerType'];
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
return 'guaranteed';
|
|
109
|
+
}
|
|
110
|
+
return 'guaranteed';
|
|
111
|
+
}
|
|
112
|
+
/** Recurse a Zod schema, appending property paths and closed enums to `out`. */
|
|
113
|
+
function walkZod(schema, path, out) {
|
|
114
|
+
const core = unwrap(schema);
|
|
115
|
+
const d = defOf(core);
|
|
116
|
+
const type = d?.['type'];
|
|
117
|
+
if (type === 'object') {
|
|
118
|
+
const shape = core.shape ?? {};
|
|
119
|
+
for (const [key, child] of Object.entries(shape)) {
|
|
120
|
+
const childPath = path ? `${path}.${key}` : key;
|
|
121
|
+
out.propertyPaths.add(childPath);
|
|
122
|
+
if (presenceOf(child) === 'guaranteed') {
|
|
123
|
+
out.requiredPaths.add(childPath);
|
|
124
|
+
}
|
|
125
|
+
walkZod(child, childPath, out);
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (type === 'array') {
|
|
130
|
+
const element = core.element ?? d?.['element'];
|
|
131
|
+
if (element !== undefined) {
|
|
132
|
+
walkZod(element, `${path}[]`, out);
|
|
133
|
+
}
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (type === 'enum' && path) {
|
|
137
|
+
const entries = d?.['entries'];
|
|
138
|
+
if (entries !== null && typeof entries === 'object') {
|
|
139
|
+
out.closedEnums.set(path, new Set(Object.values(entries).map(String)));
|
|
140
|
+
}
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// record / string / number / boolean / unknown → leaf; nothing to add.
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Introspect a curated tool's `ZodRawShape` into its property paths and closed
|
|
147
|
+
* enums. Wrapper types are unwrapped; arrays recurse into their element under a
|
|
148
|
+
* `[]` segment; enums surface their `.options`.
|
|
149
|
+
*/
|
|
150
|
+
export function introspectShape(shape) {
|
|
151
|
+
const out = {
|
|
152
|
+
propertyPaths: new Set(),
|
|
153
|
+
closedEnums: new Map(),
|
|
154
|
+
requiredPaths: new Set(),
|
|
155
|
+
};
|
|
156
|
+
for (const [key, schema] of Object.entries(shape)) {
|
|
157
|
+
out.propertyPaths.add(key);
|
|
158
|
+
if (presenceOf(schema) === 'guaranteed') {
|
|
159
|
+
out.requiredPaths.add(key);
|
|
160
|
+
}
|
|
161
|
+
walkZod(schema, key, out);
|
|
162
|
+
}
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
165
|
+
// --- Spec side -------------------------------------------------------------
|
|
166
|
+
/**
|
|
167
|
+
* Recurse an (already-dereferenced) JSON Schema fragment into `out`.
|
|
168
|
+
*
|
|
169
|
+
* FLAT-SCHEMA-ONLY (invariant, not a bug): traverses `properties`/`items`/`enum`
|
|
170
|
+
* only. Composition keywords (allOf/oneOf/anyOf) are NOT descended into — Huma
|
|
171
|
+
* emits flat schemas and the shipped spec has zero of them (a schema-parity.test
|
|
172
|
+
* canary asserts this stays true). If the generator ever emits a composed body,
|
|
173
|
+
* a property/enum under the composition would be invisible here (fail-OPEN), so
|
|
174
|
+
* the canary trips RED first, forcing composition traversal to be added.
|
|
175
|
+
*/
|
|
176
|
+
function walkSpec(node, path, out) {
|
|
177
|
+
if (node === null || typeof node !== 'object') {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const obj = node;
|
|
181
|
+
const enumVals = obj['enum'];
|
|
182
|
+
if (Array.isArray(enumVals) && path) {
|
|
183
|
+
out.closedEnums.set(path, new Set(enumVals.map(String)));
|
|
184
|
+
}
|
|
185
|
+
// `required` lists property NAMES required at THIS object level; project each
|
|
186
|
+
// onto the same dot/bracket path notation as its property entry below.
|
|
187
|
+
const required = obj['required'];
|
|
188
|
+
if (Array.isArray(required)) {
|
|
189
|
+
for (const name of required) {
|
|
190
|
+
if (typeof name === 'string') {
|
|
191
|
+
out.requiredPaths.add(path ? `${path}.${name}` : name);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
const properties = obj['properties'];
|
|
196
|
+
if (properties !== null && typeof properties === 'object') {
|
|
197
|
+
for (const [key, child] of Object.entries(properties)) {
|
|
198
|
+
const childPath = path ? `${path}.${key}` : key;
|
|
199
|
+
out.propertyPaths.add(childPath);
|
|
200
|
+
walkSpec(child, childPath, out);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const items = obj['items'];
|
|
204
|
+
if (items !== undefined) {
|
|
205
|
+
walkSpec(items, `${path}[]`, out);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Introspect a spec request-body JSON Schema (as produced by the loader, refs
|
|
210
|
+
* already inlined) into its property paths and enums — same path notation as
|
|
211
|
+
* {@link introspectShape} so the two are directly comparable.
|
|
212
|
+
*/
|
|
213
|
+
export function introspectSpecSchema(schema) {
|
|
214
|
+
const out = {
|
|
215
|
+
propertyPaths: new Set(),
|
|
216
|
+
closedEnums: new Map(),
|
|
217
|
+
requiredPaths: new Set(),
|
|
218
|
+
};
|
|
219
|
+
walkSpec(schema, '', out);
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Diff a curated tool's Zod shape against a spec request-body schema, honoring
|
|
224
|
+
* the per-op allow-lists. Returns every gap where the TOOL IS BEHIND the spec.
|
|
225
|
+
* Pure — the gate and the self-test both drive it.
|
|
226
|
+
*/
|
|
227
|
+
export function compareShapeToSpec(shape, specSchema, allow) {
|
|
228
|
+
const tool = introspectShape(shape);
|
|
229
|
+
const spec = introspectSpecSchema(specSchema);
|
|
230
|
+
const findings = [];
|
|
231
|
+
// (1) Spec property the tool never exposes → missing, unless omitted-allow-listed.
|
|
232
|
+
for (const fieldPath of spec.propertyPaths) {
|
|
233
|
+
if (tool.propertyPaths.has(fieldPath)) {
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
if (allow.omittedFields.has(fieldPath)) {
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
findings.push({ kind: 'missing-property', fieldPath });
|
|
240
|
+
}
|
|
241
|
+
// (2)/(3) Spec enums vs the tool's modeling of the same field.
|
|
242
|
+
for (const [fieldPath, specValues] of spec.closedEnums) {
|
|
243
|
+
if (!tool.propertyPaths.has(fieldPath)) {
|
|
244
|
+
// Absent entirely — already reported (or allow-listed) by pass (1).
|
|
245
|
+
continue;
|
|
246
|
+
}
|
|
247
|
+
const toolValues = tool.closedEnums.get(fieldPath);
|
|
248
|
+
if (toolValues !== undefined) {
|
|
249
|
+
// (2) Closed tool enum must be a superset of the spec's values.
|
|
250
|
+
const missing = [...specValues].filter((v) => !toolValues.has(v));
|
|
251
|
+
if (missing.length > 0) {
|
|
252
|
+
findings.push({ kind: 'enum-missing-values', fieldPath, missing });
|
|
253
|
+
}
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
// (3) Spec enum, but the tool types it as a free string — only OK if declared.
|
|
257
|
+
if (!allow.openFields.has(fieldPath)) {
|
|
258
|
+
findings.push({ kind: 'enum-modeled-as-string', fieldPath });
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return findings;
|
|
262
|
+
}
|
|
263
|
+
/** A required path is unconditional only at the top level (no parent container). */
|
|
264
|
+
function isTopLevel(fieldPath) {
|
|
265
|
+
return !fieldPath.includes('.') && !fieldPath.includes('[');
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Diff the required-ness of a curated tool's fields against a spec request body.
|
|
269
|
+
* Returns every gap, its `kind` carrying the severity the gate applies:
|
|
270
|
+
* `spec-required-*` FAIL, `tool-required-spec-optional` WARN. Pure — the gate
|
|
271
|
+
* and the self-test both drive it.
|
|
272
|
+
*/
|
|
273
|
+
export function compareRequiredArrays(shape, specSchema, allow) {
|
|
274
|
+
const tool = introspectShape(shape);
|
|
275
|
+
const spec = introspectSpecSchema(specSchema);
|
|
276
|
+
const findings = [];
|
|
277
|
+
// FAIL direction: every spec-required field must be guaranteed by the tool.
|
|
278
|
+
for (const fieldPath of spec.requiredPaths) {
|
|
279
|
+
if (tool.requiredPaths.has(fieldPath)) {
|
|
280
|
+
continue; // tool guarantees it (non-optional or has a default)
|
|
281
|
+
}
|
|
282
|
+
if (allow.injectedFields.has(fieldPath)) {
|
|
283
|
+
continue; // tool code fills it before dispatch — invisible but accounted for
|
|
284
|
+
}
|
|
285
|
+
if (tool.propertyPaths.has(fieldPath)) {
|
|
286
|
+
// Exposed but optional → caller can omit a required field.
|
|
287
|
+
findings.push({ kind: 'spec-required-tool-optional', fieldPath });
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
// Not exposed at all. Absence of a NON-allow-listed field is coverage's job
|
|
291
|
+
// (compareShapeToSpec's missing-property). We only add value for the case
|
|
292
|
+
// coverage can't see: a TOP-LEVEL required field suppressed by the omitted
|
|
293
|
+
// allow-list — an unconditional 422 on every call. Nested paths under an
|
|
294
|
+
// optional/opaque container are conditional and passed through, so skip them.
|
|
295
|
+
if (isTopLevel(fieldPath) && allow.omittedFields.has(fieldPath)) {
|
|
296
|
+
findings.push({ kind: 'spec-required-tool-omitted', fieldPath });
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// WARN direction: a tool-required field the spec exposes but marks optional.
|
|
300
|
+
for (const fieldPath of tool.requiredPaths) {
|
|
301
|
+
if (!spec.propertyPaths.has(fieldPath)) {
|
|
302
|
+
continue; // tool-ahead extra the spec lacks — not an over-constraint of it
|
|
303
|
+
}
|
|
304
|
+
if (!spec.requiredPaths.has(fieldPath)) {
|
|
305
|
+
findings.push({ kind: 'tool-required-spec-optional', fieldPath });
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return findings;
|
|
309
|
+
}
|
|
310
|
+
// --- The shape table -------------------------------------------------------
|
|
311
|
+
//
|
|
312
|
+
// Each curated operation whose spec entry declares an application/json request
|
|
313
|
+
// body maps here to the tool's exported input shape. The completeness guard in
|
|
314
|
+
// the test derives the required key set from CURATED_OPERATION_IDS ∩ (spec ops
|
|
315
|
+
// with a JSON body). So for any op ALREADY in CURATED_OPERATION_IDS, adding or
|
|
316
|
+
// retargeting its curated body-tool without wiring the shape here fails the gate
|
|
317
|
+
// (missing on one side, extra on the other).
|
|
318
|
+
//
|
|
319
|
+
// SCOPE LIMIT (do not overstate this): because the required set is filtered
|
|
320
|
+
// through the hand-maintained CURATED_OPERATION_IDS, this parity gate does NOT
|
|
321
|
+
// see an op that has a JSON body but is left in GENERIC_ONLY_OPERATION_IDS —
|
|
322
|
+
// hand-curate a Zod body-tool for such an op without promoting it into
|
|
323
|
+
// CURATED_OPERATION_IDS (and without wiring it here) and no field-parity test
|
|
324
|
+
// runs for it. That promotion/triage is guarded separately by
|
|
325
|
+
// curated-operations.test.ts (curated⇄generic disjointness + frozen counts +
|
|
326
|
+
// inverse spec coverage), not by field parity here. GET/list/delete ops (no
|
|
327
|
+
// body) and uploadFile (multipart, no application/json body) are absent by design.
|
|
328
|
+
import { addCommentInputShape } from '../tools/exception/add-comment.js';
|
|
329
|
+
import { adjustEntryInputShape } from '../tools/exception/adjust-entry.js';
|
|
330
|
+
import { bulkAssignInputShape } from '../tools/exception/bulk-assign.js';
|
|
331
|
+
import { bulkDispatchInputShape } from '../tools/exception/bulk-dispatch.js';
|
|
332
|
+
import { bulkResolveInputShape } from '../tools/exception/bulk-resolve.js';
|
|
333
|
+
import { closeDisputeInputShape } from '../tools/dispute/close.js';
|
|
334
|
+
import { createContextInputShape } from '../tools/context/create.js';
|
|
335
|
+
import { createFeeRuleInputShape } from '../tools/fee-rule/create.js';
|
|
336
|
+
import { createFeeScheduleInputShape } from '../tools/fee-schedule/create.js';
|
|
337
|
+
import { createFieldMapInputShape } from '../tools/field-map/create.js';
|
|
338
|
+
import { createMatchRuleInputShape } from '../tools/match-rule/create.js';
|
|
339
|
+
import { createSourceInputShape } from '../tools/source/create.js';
|
|
340
|
+
import { dispatchExceptionInputShape } from '../tools/exception/dispatch.js';
|
|
341
|
+
import { forceMatchInputShape } from '../tools/exception/force-match.js';
|
|
342
|
+
import { ignoreTransactionInputShape } from '../tools/ingestion/transaction-ignore.js';
|
|
343
|
+
import { openDisputeInputShape } from '../tools/exception/open-dispute.js';
|
|
344
|
+
import { reorderMatchRulesInputShape } from '../tools/match-rule/reorder.js';
|
|
345
|
+
import { simulateFeeScheduleInputShape } from '../tools/fee-schedule/simulate.js';
|
|
346
|
+
import { startMatchRunInputShape } from '../tools/matching/start.js';
|
|
347
|
+
import { submitEvidenceInputShape } from '../tools/dispute/submit-evidence.js';
|
|
348
|
+
import { updateContextInputShape } from '../tools/context/update.js';
|
|
349
|
+
import { updateFeeRuleInputShape } from '../tools/fee-rule/update.js';
|
|
350
|
+
import { updateFeeScheduleInputShape } from '../tools/fee-schedule/update.js';
|
|
351
|
+
import { updateFieldMapInputShape } from '../tools/field-map/update.js';
|
|
352
|
+
import { updateMatchRuleInputShape } from '../tools/match-rule/update.js';
|
|
353
|
+
import { updateSourceInputShape } from '../tools/source/update.js';
|
|
354
|
+
/** operationId → the curated tool's request-body input shape. */
|
|
355
|
+
export const TOOL_SHAPE_BY_OPERATION_ID = {
|
|
356
|
+
// fee-schedule
|
|
357
|
+
createFeeSchedule: createFeeScheduleInputShape,
|
|
358
|
+
simulateFeeSchedule: simulateFeeScheduleInputShape,
|
|
359
|
+
updateFeeSchedule: updateFeeScheduleInputShape,
|
|
360
|
+
// fee-rule
|
|
361
|
+
createFeeRule: createFeeRuleInputShape,
|
|
362
|
+
updateFeeRule: updateFeeRuleInputShape,
|
|
363
|
+
// match-rule
|
|
364
|
+
createMatchRule: createMatchRuleInputShape,
|
|
365
|
+
reorderMatchRules: reorderMatchRulesInputShape,
|
|
366
|
+
updateMatchRule: updateMatchRuleInputShape,
|
|
367
|
+
// context
|
|
368
|
+
createContext: createContextInputShape,
|
|
369
|
+
updateContext: updateContextInputShape,
|
|
370
|
+
// source
|
|
371
|
+
createSource: createSourceInputShape,
|
|
372
|
+
updateSource: updateSourceInputShape,
|
|
373
|
+
// field-map
|
|
374
|
+
createFieldMap: createFieldMapInputShape,
|
|
375
|
+
updateFieldMap: updateFieldMapInputShape,
|
|
376
|
+
// matching
|
|
377
|
+
runMatch: startMatchRunInputShape,
|
|
378
|
+
// exception
|
|
379
|
+
addComment: addCommentInputShape,
|
|
380
|
+
adjustEntryException: adjustEntryInputShape,
|
|
381
|
+
bulkAssignExceptions: bulkAssignInputShape,
|
|
382
|
+
bulkDispatchExceptions: bulkDispatchInputShape,
|
|
383
|
+
bulkResolveExceptions: bulkResolveInputShape,
|
|
384
|
+
dispatchException: dispatchExceptionInputShape,
|
|
385
|
+
forceMatchException: forceMatchInputShape,
|
|
386
|
+
openDispute: openDisputeInputShape,
|
|
387
|
+
// dispute
|
|
388
|
+
closeDispute: closeDisputeInputShape,
|
|
389
|
+
submitEvidence: submitEvidenceInputShape,
|
|
390
|
+
// ingestion
|
|
391
|
+
ignoreTransaction: ignoreTransactionInputShape,
|
|
392
|
+
};
|
|
393
|
+
//# sourceMappingURL=schema-parity.js.map
|
|
@@ -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),
|
|
93
|
-
'
|
|
94
|
-
'
|
|
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":"AAAA,gDAAgD;AAChD,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,mFAAmF;AACnF,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,+BAA+B;AAC/B,EAAE;AACF,iFAAiF;AACjF,8DAA8D;AAE9D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAE3D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,CAAU,CAAA;AAE3D,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,QAAQ,CACP,qEAAqE;QACnE,uEAAuE;QACvE,gEAAgE,CACnE;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,qEAAqE;QACnE,gBAAgB,CACnB;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;IACH,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,gBAAgB,CAAC;SACrB,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE;QACrE,kEAAkE;QAClE,uCAAuC,CAC1C;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACxC,GAAG,CAAC,kBAAkB,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,qEAAqE;QACnE,oEAAoE;QACpE,mCAAmC,CACtC;CACJ,CAAA;AAOD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,iEAAiE;YACjE,yEAAyE;YACzE,oEAAoE;YACpE,wEAAwE;YACxE,iEAAiE;YACjE,
|
|
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
|
|
94
|
-
'
|
|
95
|
-
'
|
|
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;
|
|
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.
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
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
|
-
.
|
|
22
|
-
.
|
|
23
|
-
|
|
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
|
|
56
|
-
'
|
|
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
|
|
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
|
-
|
|
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
|
|
63
|
-
'
|
|
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":"AAAA,iDAAiD;AACjD,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAE5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhE,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAU,CAAA;AAE3E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAU,CAAA;AAElF,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,uBAAuB;IACvB,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;IAClB,YAAY;IACZ,cAAc;CACN,CAAA;AAEV,0FAA0F;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI;IACJ,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,QAAQ;CACA,CAAA;AAEV,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE;QAClE,qDAAqD,CACxD;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,kBAAkB,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,oBAAoB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/exception/list.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAE5E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEhE,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAU,CAAA;AAE3E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAU,CAAA;AAElF,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,WAAW;IACX,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,iBAAiB;IACjB,uBAAuB;IACvB,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;IAClB,YAAY;IACZ,cAAc;CACN,CAAA;AAEV,0FAA0F;AAC1F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI;IACJ,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,QAAQ;CACA,CAAA;AAEV,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAU,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE;QAClE,qDAAqD,CACxD;IACH,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,kBAAkB,CAAC;SACxB,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,oBAAoB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,MAAM,EAAE,CAAC;QACP,6EAA6E;QAC7E,qEAAqE;QACrE,4EAA4E;QAC5E,6EAA6E;QAC7E,6EAA6E;QAC7E,qEAAqE;SACpE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,sEAAsE;QACtE,4CAA4C;QAC5C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,GAAG,CACN;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IACjE,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE;QACjE,qEAAqE;QACrE,qEAAqE;QACrE,oCAAoC,CACvC;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,iBAAiB,CAAC;SACvB,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,0EAA0E,CAC7E;IACH,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,oBAAoB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAA;AAOD,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAC5B,IAAyB;IAEzB,MAAM,KAAK,GAAoC,EAAE,CAAA;IACjD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAClC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACtC,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;IAC9C,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IAClC,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACpC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC1D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,uEAAuE;YACvE,0EAA0E;YAC1E,+DAA+D;YAC/D,sEAAsE;YACtE,wEAAwE;YACxE,2EAA2E;YAC3E,8EAA8E;QAChF,WAAW,EAAE,wBAAwB;KACtC,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,iBAAiB,CACtB;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,KAAK,CACN,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
|