apcore-mcp 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +165 -19
  3. package/dist/acl-builder.d.ts +43 -0
  4. package/dist/acl-builder.d.ts.map +1 -0
  5. package/dist/acl-builder.js +115 -0
  6. package/dist/acl-builder.js.map +1 -0
  7. package/dist/adapters/annotations.d.ts.map +1 -1
  8. package/dist/adapters/annotations.js +37 -2
  9. package/dist/adapters/annotations.js.map +1 -1
  10. package/dist/adapters/errors.d.ts +17 -0
  11. package/dist/adapters/errors.d.ts.map +1 -1
  12. package/dist/adapters/errors.js +192 -2
  13. package/dist/adapters/errors.js.map +1 -1
  14. package/dist/adapters/id-normalizer.d.ts +40 -0
  15. package/dist/adapters/id-normalizer.d.ts.map +1 -0
  16. package/dist/adapters/id-normalizer.js +59 -0
  17. package/dist/adapters/id-normalizer.js.map +1 -0
  18. package/dist/adapters/index.d.ts +2 -2
  19. package/dist/adapters/index.d.ts.map +1 -1
  20. package/dist/adapters/index.js +2 -2
  21. package/dist/adapters/index.js.map +1 -1
  22. package/dist/adapters/{mcpErrorFormatter.d.ts → mcp-error-formatter.d.ts} +5 -7
  23. package/dist/adapters/mcp-error-formatter.d.ts.map +1 -0
  24. package/dist/adapters/mcp-error-formatter.js +30 -0
  25. package/dist/adapters/mcp-error-formatter.js.map +1 -0
  26. package/dist/adapters/schema.d.ts +21 -4
  27. package/dist/adapters/schema.d.ts.map +1 -1
  28. package/dist/adapters/schema.js +147 -13
  29. package/dist/adapters/schema.js.map +1 -1
  30. package/dist/apcore-mcp.d.ts +24 -2
  31. package/dist/apcore-mcp.d.ts.map +1 -1
  32. package/dist/apcore-mcp.js +8 -0
  33. package/dist/apcore-mcp.js.map +1 -1
  34. package/dist/auth/hooks.d.ts +1 -1
  35. package/dist/auth/hooks.d.ts.map +1 -1
  36. package/dist/auth/hooks.js +10 -3
  37. package/dist/auth/hooks.js.map +1 -1
  38. package/dist/auth/jwt.d.ts +1 -2
  39. package/dist/auth/jwt.d.ts.map +1 -1
  40. package/dist/auth/jwt.js +18 -10
  41. package/dist/auth/jwt.js.map +1 -1
  42. package/dist/auth/types.d.ts +6 -3
  43. package/dist/auth/types.d.ts.map +1 -1
  44. package/dist/cli.d.ts.map +1 -1
  45. package/dist/cli.js +23 -1
  46. package/dist/cli.js.map +1 -1
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +15 -6
  49. package/dist/config.js.map +1 -1
  50. package/dist/converters/openai.d.ts +10 -0
  51. package/dist/converters/openai.d.ts.map +1 -1
  52. package/dist/converters/openai.js +100 -5
  53. package/dist/converters/openai.js.map +1 -1
  54. package/dist/explorer/index.d.ts +2 -0
  55. package/dist/explorer/index.d.ts.map +1 -0
  56. package/dist/explorer/index.js +2 -0
  57. package/dist/explorer/index.js.map +1 -0
  58. package/dist/index.d.ts +68 -5
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +346 -60
  61. package/dist/index.js.map +1 -1
  62. package/dist/inspector/index.d.ts +2 -0
  63. package/dist/inspector/index.d.ts.map +1 -0
  64. package/dist/inspector/index.js +2 -0
  65. package/dist/inspector/index.js.map +1 -0
  66. package/dist/middleware-builder.d.ts +41 -0
  67. package/dist/middleware-builder.d.ts.map +1 -0
  68. package/dist/middleware-builder.js +129 -0
  69. package/dist/middleware-builder.js.map +1 -0
  70. package/dist/server/async-task-bridge.d.ts +190 -0
  71. package/dist/server/async-task-bridge.d.ts.map +1 -0
  72. package/dist/server/async-task-bridge.js +393 -0
  73. package/dist/server/async-task-bridge.js.map +1 -0
  74. package/dist/server/context.d.ts +9 -2
  75. package/dist/server/context.d.ts.map +1 -1
  76. package/dist/server/context.js +14 -6
  77. package/dist/server/context.js.map +1 -1
  78. package/dist/server/factory.d.ts +25 -2
  79. package/dist/server/factory.d.ts.map +1 -1
  80. package/dist/server/factory.js +127 -7
  81. package/dist/server/factory.js.map +1 -1
  82. package/dist/server/listener.d.ts +3 -0
  83. package/dist/server/listener.d.ts.map +1 -1
  84. package/dist/server/listener.js +13 -2
  85. package/dist/server/listener.js.map +1 -1
  86. package/dist/server/observability.d.ts +51 -0
  87. package/dist/server/observability.d.ts.map +1 -0
  88. package/dist/server/observability.js +96 -0
  89. package/dist/server/observability.js.map +1 -0
  90. package/dist/server/router.d.ts +114 -0
  91. package/dist/server/router.d.ts.map +1 -1
  92. package/dist/server/router.js +360 -18
  93. package/dist/server/router.js.map +1 -1
  94. package/dist/server/trace-context.d.ts +40 -0
  95. package/dist/server/trace-context.d.ts.map +1 -0
  96. package/dist/server/trace-context.js +67 -0
  97. package/dist/server/trace-context.js.map +1 -0
  98. package/dist/server/transport.d.ts +39 -0
  99. package/dist/server/transport.d.ts.map +1 -1
  100. package/dist/server/transport.js +134 -4
  101. package/dist/server/transport.js.map +1 -1
  102. package/dist/types.d.ts +18 -4
  103. package/dist/types.d.ts.map +1 -1
  104. package/dist/types.js +11 -0
  105. package/dist/types.js.map +1 -1
  106. package/package.json +12 -6
  107. package/dist/adapters/idNormalizer.d.ts +0 -22
  108. package/dist/adapters/idNormalizer.d.ts.map +0 -1
  109. package/dist/adapters/idNormalizer.js +0 -30
  110. package/dist/adapters/idNormalizer.js.map +0 -1
  111. package/dist/adapters/mcpErrorFormatter.d.ts.map +0 -1
  112. package/dist/adapters/mcpErrorFormatter.js +0 -24
  113. package/dist/adapters/mcpErrorFormatter.js.map +0 -1
@@ -19,6 +19,11 @@ export interface HttpTransportOptions {
19
19
  export interface MetricsExporter {
20
20
  exportPrometheus(): string;
21
21
  }
22
+ /** Duck-typed interface for apcore-js's UsageCollector. */
23
+ export interface UsageExporter {
24
+ getSummary(period?: string): unknown;
25
+ getModule(moduleId: string, period?: string): unknown;
26
+ }
22
27
  /**
23
28
  * Read the full request body as a string.
24
29
  *
@@ -36,6 +41,8 @@ export declare class TransportManager {
36
41
  private _moduleCount;
37
42
  /** Optional metrics collector for Prometheus /metrics endpoint. */
38
43
  private _metricsCollector?;
44
+ /** Optional usage collector for /usage endpoint. */
45
+ private _usageCollector?;
39
46
  /** Optional explorer node handler (from mcp-embedded-ui). */
40
47
  private _explorerNodeHandler?;
41
48
  /** URL prefix for the explorer UI. */
@@ -46,6 +53,12 @@ export declare class TransportManager {
46
53
  private _exemptPaths;
47
54
  /** Explicit requireAuth override (when set, takes precedence over authenticator's own value). */
48
55
  private _requireAuth?;
56
+ /**
57
+ * Optional AsyncTaskBridge — used to cancel session-bound async tasks
58
+ * on transport disconnect via `cancelSessionTasks(sessionId)`.
59
+ * [A-D-018]
60
+ */
61
+ private _asyncTaskBridge?;
49
62
  /**
50
63
  * Set the number of registered modules/tools.
51
64
  *
@@ -79,6 +92,12 @@ export declare class TransportManager {
79
92
  * @param collector - A MetricsExporter instance (e.g. MetricsCollector from apcore)
80
93
  */
81
94
  setMetricsCollector(collector: MetricsExporter): void;
95
+ /**
96
+ * Set the usage collector for the /usage JSON endpoint.
97
+ *
98
+ * @param collector - A UsageExporter instance (e.g. UsageCollector from apcore)
99
+ */
100
+ setUsageCollector(collector: UsageExporter): void;
82
101
  /**
83
102
  * Set the explorer handler for Tool Explorer UI routes.
84
103
  *
@@ -86,6 +105,17 @@ export declare class TransportManager {
86
105
  * @param prefix - The URL prefix for the explorer (e.g. "/explorer")
87
106
  */
88
107
  setExplorer(handler: (req: IncomingMessage, res: ServerResponse) => void, prefix: string): void;
108
+ /**
109
+ * Wire an AsyncTaskBridge into the transport so client-disconnect events
110
+ * trigger `cancelSessionTasks(sessionId)` for cooperative cancellation
111
+ * of long-running async tasks bound to that session. Mirrors Rust's
112
+ * `TransportManager::set_cancel_handler`. [A-D-018]
113
+ *
114
+ * @param bridge - Object with a `cancelSessionTasks(sessionKey)` method
115
+ */
116
+ setAsyncTaskBridge(bridge: {
117
+ cancelSessionTasks(sessionKey: string): Promise<number>;
118
+ }): void;
89
119
  /**
90
120
  * Build the health check response payload.
91
121
  *
@@ -117,6 +147,15 @@ export declare class TransportManager {
117
147
  identity: import("../auth/types.js").Identity | null;
118
148
  blocked: boolean;
119
149
  }>;
150
+ /**
151
+ * Extract a flat headers map from an IncomingMessage.
152
+ *
153
+ * Converts Node.js's `IncomingHttpHeaders` (which allows string | string[] | undefined)
154
+ * to Record<string, string> so Authenticators receive the same flat dict that
155
+ * Python (`headers: dict`) and Rust (`&HashMap<String, String>`) expose.
156
+ * Multi-value headers are joined with ", " (the HTTP/1.1 header folding convention).
157
+ */
158
+ private _extractHeaders;
120
159
  /**
121
160
  * Create a Streamable HTTP request handler function.
122
161
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/server/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/server/transport.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * - streamableHttp: Streamable HTTP with SSE support
7
7
  * - sse: Legacy Server-Sent Events transport
8
8
  */
9
+ import * as crypto from "node:crypto";
9
10
  import { createServer } from "node:http";
10
11
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
12
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
@@ -69,6 +70,8 @@ export class TransportManager {
69
70
  _moduleCount = 0;
70
71
  /** Optional metrics collector for Prometheus /metrics endpoint. */
71
72
  _metricsCollector;
73
+ /** Optional usage collector for /usage endpoint. */
74
+ _usageCollector;
72
75
  /** Optional explorer node handler (from mcp-embedded-ui). */
73
76
  _explorerNodeHandler;
74
77
  /** URL prefix for the explorer UI. */
@@ -76,9 +79,15 @@ export class TransportManager {
76
79
  /** Optional authenticator for request authentication. */
77
80
  _authenticator;
78
81
  /** Configurable set of paths exempt from authentication. */
79
- _exemptPaths = new Set(["/health", "/metrics"]);
82
+ _exemptPaths = new Set(["/health", "/metrics", "/usage"]);
80
83
  /** Explicit requireAuth override (when set, takes precedence over authenticator's own value). */
81
84
  _requireAuth;
85
+ /**
86
+ * Optional AsyncTaskBridge — used to cancel session-bound async tasks
87
+ * on transport disconnect via `cancelSessionTasks(sessionId)`.
88
+ * [A-D-018]
89
+ */
90
+ _asyncTaskBridge;
82
91
  /**
83
92
  * Set the number of registered modules/tools.
84
93
  *
@@ -122,6 +131,14 @@ export class TransportManager {
122
131
  setMetricsCollector(collector) {
123
132
  this._metricsCollector = collector;
124
133
  }
134
+ /**
135
+ * Set the usage collector for the /usage JSON endpoint.
136
+ *
137
+ * @param collector - A UsageExporter instance (e.g. UsageCollector from apcore)
138
+ */
139
+ setUsageCollector(collector) {
140
+ this._usageCollector = collector;
141
+ }
125
142
  /**
126
143
  * Set the explorer handler for Tool Explorer UI routes.
127
144
  *
@@ -132,6 +149,17 @@ export class TransportManager {
132
149
  this._explorerNodeHandler = handler;
133
150
  this._explorerPrefix = prefix;
134
151
  }
152
+ /**
153
+ * Wire an AsyncTaskBridge into the transport so client-disconnect events
154
+ * trigger `cancelSessionTasks(sessionId)` for cooperative cancellation
155
+ * of long-running async tasks bound to that session. Mirrors Rust's
156
+ * `TransportManager::set_cancel_handler`. [A-D-018]
157
+ *
158
+ * @param bridge - Object with a `cancelSessionTasks(sessionKey)` method
159
+ */
160
+ setAsyncTaskBridge(bridge) {
161
+ this._asyncTaskBridge = bridge;
162
+ }
135
163
  /**
136
164
  * Build the health check response payload.
137
165
  *
@@ -175,6 +203,27 @@ export class TransportManager {
175
203
  }
176
204
  return true;
177
205
  }
206
+ if (url.pathname === "/usage" && req.method === "GET") {
207
+ if (!this._usageCollector) {
208
+ res.writeHead(404);
209
+ res.end();
210
+ return true;
211
+ }
212
+ try {
213
+ const period = url.searchParams.get("period") ?? "24h";
214
+ const moduleId = url.searchParams.get("module_id");
215
+ const payload = moduleId
216
+ ? this._usageCollector.getModule(moduleId, period)
217
+ : { summary: this._usageCollector.getSummary(period), period };
218
+ res.writeHead(200, { "Content-Type": "application/json" });
219
+ res.end(JSON.stringify(payload));
220
+ }
221
+ catch (err) {
222
+ res.writeHead(500, { "Content-Type": "application/json" });
223
+ res.end(JSON.stringify({ error: err instanceof Error ? err.message : String(err) }));
224
+ }
225
+ return true;
226
+ }
178
227
  return false;
179
228
  }
180
229
  /**
@@ -206,31 +255,59 @@ export class TransportManager {
206
255
  if (!this._authenticator) {
207
256
  return { identity: null, blocked: false };
208
257
  }
258
+ // Extract flat headers map from IncomingMessage for the Authenticator interface.
259
+ // The Authenticator now takes Record<string,string> (matching Python dict / Rust HashMap),
260
+ // so the transport layer is responsible for the IncomingMessage → headers adaptation.
261
+ const headersMap = this._extractHeaders(req);
209
262
  if (this._isAuthExempt(url.pathname, req.method ?? "GET")) {
210
263
  // Best-effort identity extraction: exempt paths don't *require* auth,
211
264
  // but if a valid token is present we still return the identity so that
212
265
  // downstream handlers (e.g. require_user_id) can use it.
213
266
  let identity = null;
214
267
  try {
215
- identity = await this._authenticator.authenticate(req);
268
+ identity = await this._authenticator.authenticate(headersMap);
216
269
  }
217
270
  catch {
218
271
  // Exempt path — auth failure is fine
219
272
  }
220
273
  return { identity, blocked: false };
221
274
  }
222
- const identity = await this._authenticator.authenticate(req);
275
+ const identity = await this._authenticator.authenticate(headersMap);
223
276
  if (!identity) {
224
277
  const requireAuth = this._requireAuth ?? this._authenticator.requireAuth ?? true;
225
278
  if (!requireAuth) {
226
279
  return { identity: null, blocked: false };
227
280
  }
281
+ // [JWT-2] Unify 401 body shape with Python+Rust:
282
+ // {error: "Unauthorized", detail: "Missing or invalid Bearer token"}.
283
+ // Pre-fix TS emitted {error: "Authentication required"} which
284
+ // diverged from the other two SDKs' shape.
228
285
  res.writeHead(401, { "Content-Type": "application/json", "WWW-Authenticate": "Bearer" });
229
- res.end(JSON.stringify({ error: "Authentication required" }));
286
+ res.end(JSON.stringify({
287
+ error: "Unauthorized",
288
+ detail: "Missing or invalid Bearer token",
289
+ }));
230
290
  return { identity: null, blocked: true };
231
291
  }
232
292
  return { identity, blocked: false };
233
293
  }
294
+ /**
295
+ * Extract a flat headers map from an IncomingMessage.
296
+ *
297
+ * Converts Node.js's `IncomingHttpHeaders` (which allows string | string[] | undefined)
298
+ * to Record<string, string> so Authenticators receive the same flat dict that
299
+ * Python (`headers: dict`) and Rust (`&HashMap<String, String>`) expose.
300
+ * Multi-value headers are joined with ", " (the HTTP/1.1 header folding convention).
301
+ */
302
+ _extractHeaders(req) {
303
+ const result = {};
304
+ for (const [key, value] of Object.entries(req.headers)) {
305
+ if (value === undefined)
306
+ continue;
307
+ result[key.toLowerCase()] = Array.isArray(value) ? value.join(", ") : value;
308
+ }
309
+ return result;
310
+ }
234
311
  /**
235
312
  * Create a Streamable HTTP request handler function.
236
313
  *
@@ -320,6 +397,28 @@ export class TransportManager {
320
397
  const transport = new StreamableHTTPServerTransport({
321
398
  sessionIdGenerator: () => crypto.randomUUID(),
322
399
  });
400
+ // [A-D-018] StreamableHTTP wiring: when the transport closes (server
401
+ // shutdown or SDK-internal session expiry), cancel any session-bound
402
+ // async tasks via the bridge. Mirrors the SSE-side onclose handler.
403
+ // Note: the SDK exposes a single onclose for the whole transport,
404
+ // not per-session — this fires once when the transport tears down,
405
+ // not on individual client disconnects. For per-client cancellation
406
+ // we'd need per-session-aware hooks the SDK does not currently
407
+ // provide. The transport-shutdown path is still a real cleanup
408
+ // point worth wiring.
409
+ if (this._asyncTaskBridge) {
410
+ const existing = transport.onclose;
411
+ transport.onclose = () => {
412
+ const sid = transport.sessionId;
413
+ if (sid && this._asyncTaskBridge) {
414
+ this._asyncTaskBridge.cancelSessionTasks(sid).catch((err) => {
415
+ console.warn(`cancelSessionTasks failed for streamable-http session ${sid}:`, err);
416
+ });
417
+ }
418
+ if (existing)
419
+ existing();
420
+ };
421
+ }
323
422
  await server.connect(transport);
324
423
  const handler = this._createStreamableHandler(transport, endpoint, `http://${options.host}:${options.port}`);
325
424
  const httpServer = createServer(handler);
@@ -372,6 +471,15 @@ export class TransportManager {
372
471
  transports.set(sessionId, transport);
373
472
  transport.onclose = () => {
374
473
  transports.delete(sessionId);
474
+ // [A-D-018] Cooperatively cancel any async tasks bound to
475
+ // this session when the client disconnects.
476
+ if (this._asyncTaskBridge) {
477
+ this._asyncTaskBridge
478
+ .cancelSessionTasks(sessionId)
479
+ .catch((err) => {
480
+ console.warn(`cancelSessionTasks failed for session ${sessionId}:`, err);
481
+ });
482
+ }
375
483
  };
376
484
  await server.connect(transport);
377
485
  await transport.start();
@@ -449,6 +557,28 @@ export class TransportManager {
449
557
  const transport = new StreamableHTTPServerTransport({
450
558
  sessionIdGenerator: () => crypto.randomUUID(),
451
559
  });
560
+ // [A-D-018] StreamableHTTP wiring: when the transport closes (server
561
+ // shutdown or SDK-internal session expiry), cancel any session-bound
562
+ // async tasks via the bridge. Mirrors the SSE-side onclose handler.
563
+ // Note: the SDK exposes a single onclose for the whole transport,
564
+ // not per-session — this fires once when the transport tears down,
565
+ // not on individual client disconnects. For per-client cancellation
566
+ // we'd need per-session-aware hooks the SDK does not currently
567
+ // provide. The transport-shutdown path is still a real cleanup
568
+ // point worth wiring.
569
+ if (this._asyncTaskBridge) {
570
+ const existing = transport.onclose;
571
+ transport.onclose = () => {
572
+ const sid = transport.sessionId;
573
+ if (sid && this._asyncTaskBridge) {
574
+ this._asyncTaskBridge.cancelSessionTasks(sid).catch((err) => {
575
+ console.warn(`cancelSessionTasks failed for streamable-http session ${sid}:`, err);
576
+ });
577
+ }
578
+ if (existing)
579
+ existing();
580
+ };
581
+ }
452
582
  await server.connect(transport);
453
583
  const handler = this._createStreamableHandler(transport, endpoint, "http://localhost");
454
584
  const close = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/server/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/server/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAwE,MAAM,WAAW,CAAC;AAE/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoBrD,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,0CAA0C,CAAC;AAE3E,0FAA0F;AAC1F,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC3E,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,EAAE,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAoB,EAAE,WAAmB,cAAc;IAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,QAAQ;gBAAE,OAAO;YACrB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,mEAAmE;gBACnE,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,gBAAgB;IAC3B,wEAAwE;IACxE,UAAU,CAAc;IAExB,iFAAiF;IACzE,UAAU,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;IAExC,0CAA0C;IAClC,YAAY,GAAW,CAAC,CAAC;IAEjC,mEAAmE;IAC3D,iBAAiB,CAAmB;IAE5C,oDAAoD;IAC5C,eAAe,CAAiB;IAExC,6DAA6D;IACrD,oBAAoB,CAAuD;IAEnF,sCAAsC;IAC9B,eAAe,CAAU;IAEjC,yDAAyD;IACjD,cAAc,CAAiB;IAEvC,4DAA4D;IACpD,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElE,iGAAiG;IACzF,YAAY,CAAW;IAE/B;;;;OAIG;IACK,gBAAgB,CAEtB;IAEF;;;;OAIG;IACH,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,aAA4B;QAC3C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,WAAoB;QACjC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAe;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,SAA0B;QAC5C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAwB;QACxC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,WAAW,CACT,OAA4D,EAC5D,MAAc;QAEd,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAElB;QACC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACK,oBAAoB;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE;YACrE,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CAAC,GAAoB,EAAE,GAAmB,EAAE,GAAQ;QAC7E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACvD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;gBACvD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAChE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;gBACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,QAAQ;oBACtB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;oBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;gBACjE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,QAAgB,EAAE,MAAc;QAC5C,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,oDAAoD;QACpD,gFAAgF;QAChF,gEAAgE;QAChE,IAAI,IAAI,CAAC,eAAe,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YACpC,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAoB,EAAE,GAAmB,EAAE,GAAQ;QAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5C,CAAC;QAED,iFAAiF;QACjF,2FAA2F;QAC3F,sFAAsF;QACtF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1D,sEAAsE;YACtE,uEAAuE;YACvE,yDAAyD;YACzD,IAAI,QAAQ,GAA+C,IAAI,CAAC;YAChE,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,IAAI,CAAC;YACjF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC5C,CAAC;YACD,iDAAiD;YACjD,sEAAsE;YACtE,8DAA8D;YAC9D,2CAA2C;YAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC;YACzF,GAAG,CAAC,GAAG,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,cAAc;gBACrB,MAAM,EAAE,iCAAiC;aAC1C,CAAC,CACH,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,GAAoB;QAC1C,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,SAAwC,EACxC,QAAgB,EAChB,OAAe;QAEf,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,OAAO,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAiB,EAAE;YACxE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAE,OAAO;YAEpD,6EAA6E;YAC7E,IAAI,mBAAmB,IAAI,cAAc;gBACvC,CAAC,GAAG,CAAC,QAAQ,KAAK,cAAc,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrF,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7E,IAAI,OAAO;gBAAE,OAAO;YAEpB,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;gBAC3B,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnD,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACrB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxD,IAAI,OAAO,KAAK,wBAAwB,EAAE,CAAC;4BACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;wBACrD,CAAC;6BAAM,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;4BACtC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,0EAA0E;YAC1E,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,OAA6B;QAE7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;SAC9C,CAAC,CAAC;QAEH,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,+DAA+D;QAC/D,sBAAsB;QACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;YACnC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACjC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBACnE,OAAO,CAAC,IAAI,CACV,yDAAyD,GAAG,GAAG,EAC/D,GAAG,CACJ,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,QAAQ;oBAAE,QAAQ,EAAE,CAAC;YAC3B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAC3C,SAAS,EACT,QAAQ,EACR,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CACzC,CAAC;QACF,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/E,OAAO,CAAC,IAAI,CACV,yCAAyC,OAAO,CAAC,IAAI,IAAI,UAAU,GAAG,QAAQ,EAAE,CACjF,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CACV,MAAc,EACd,OAA6B;QAE7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;QAC5C,MAAM,gBAAgB,GAAG,WAAW,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;YAClF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9E,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAE,OAAO;YAEpD,6EAA6E;YAC7E,IAAI,mBAAmB,IAAI,cAAc;gBACvC,CAAC,GAAG,CAAC,QAAQ,KAAK,cAAc,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrF,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7E,IAAI,OAAO;gBAAE,OAAO;YAEpB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;gBAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBACtD,2BAA2B;oBAC3B,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;oBAChE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;oBACtC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAErC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;wBACvB,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC7B,0DAA0D;wBAC1D,4CAA4C;wBAC5C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BAC1B,IAAI,CAAC,gBAAgB;iCAClB,kBAAkB,CAAC,SAAS,CAAC;iCAC7B,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gCACtB,OAAO,CAAC,IAAI,CACV,yCAAyC,SAAS,GAAG,EACrD,GAAG,CACJ,CAAC;4BACJ,CAAC,CAAC,CAAC;wBACP,CAAC;oBACH,CAAC,CAAC;oBAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAChC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtE,iDAAiD;oBACjD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;wBACtD,OAAO;oBACT,CAAC;oBAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;wBAC1C,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnD,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACrB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxD,IAAI,OAAO,KAAK,wBAAwB,EAAE,CAAC;gCACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;4BACrD,CAAC;iCAAM,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gCACtC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;4BACxC,CAAC;iCAAM,CAAC;gCACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;4BAClD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC;YAEF,0EAA0E;YAC1E,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC/E,OAAO,CAAC,IAAI,CACV,8BAA8B,OAAO,CAAC,IAAI,IAAI,UAAU,GAAG,QAAQ,EAAE,CACtE,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,sBAAsB,CAC1B,MAAc,EACd,OAA+B;QAK/B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC;QAE7C,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;SAC9C,CAAC,CAAC;QAEH,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,+DAA+D;QAC/D,sBAAsB;QACtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC;YACnC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;gBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,IAAI,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACjC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBACnE,OAAO,CAAC,IAAI,CACV,yDAAyD,GAAG,GAAG,EAC/D,GAAG,CACJ,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,QAAQ;oBAAE,QAAQ,EAAE,CAAC;YAC3B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAEvF,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACvB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAY,EAAE,IAAY;QAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IACE,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACvB,IAAI,GAAG,CAAC;YACR,IAAI,GAAG,KAAK,EACZ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -37,6 +37,17 @@ export declare const ErrorCodes: Readonly<{
37
37
  readonly CONFIG_MOUNT_ERROR: "CONFIG_MOUNT_ERROR";
38
38
  readonly CONFIG_BIND_ERROR: "CONFIG_BIND_ERROR";
39
39
  readonly ERROR_FORMATTER_DUPLICATE: "ERROR_FORMATTER_DUPLICATE";
40
+ readonly CONFIG_ENV_MAP_CONFLICT: "CONFIG_ENV_MAP_CONFLICT";
41
+ readonly PIPELINE_ABORT: "PIPELINE_ABORT";
42
+ readonly STEP_NOT_FOUND: "STEP_NOT_FOUND";
43
+ readonly DEPENDENCY_NOT_FOUND: "DEPENDENCY_NOT_FOUND";
44
+ readonly DEPENDENCY_VERSION_MISMATCH: "DEPENDENCY_VERSION_MISMATCH";
45
+ readonly TASK_LIMIT_EXCEEDED: "TASK_LIMIT_EXCEEDED";
46
+ readonly VERSION_CONSTRAINT_INVALID: "VERSION_CONSTRAINT_INVALID";
47
+ readonly BINDING_SCHEMA_INFERENCE_FAILED: "BINDING_SCHEMA_INFERENCE_FAILED";
48
+ readonly BINDING_SCHEMA_MODE_CONFLICT: "BINDING_SCHEMA_MODE_CONFLICT";
49
+ readonly BINDING_STRICT_SCHEMA_INCOMPATIBLE: "BINDING_STRICT_SCHEMA_INCOMPATIBLE";
50
+ readonly BINDING_POLICY_VIOLATION: "BINDING_POLICY_VIOLATION";
40
51
  }>;
41
52
  /** Dot-namespaced event types introduced in apcore 0.15.0 (§9.16). */
42
53
  export declare const APCORE_EVENTS: Readonly<{
@@ -58,7 +69,8 @@ export interface ModuleAnnotations {
58
69
  cacheTtl?: number;
59
70
  cacheKeyFields?: string[] | null;
60
71
  paginated?: boolean;
61
- paginationStyle?: "cursor" | "offset" | "page";
72
+ paginationStyle?: string;
73
+ extra?: Record<string, unknown>;
62
74
  }
63
75
  export interface ModuleDescriptor {
64
76
  moduleId: string;
@@ -83,13 +95,15 @@ export interface Registry {
83
95
  has?(moduleId: string): boolean;
84
96
  on(event: string, callback: (...args: unknown[]) => void): void;
85
97
  discover?(): Promise<number>;
98
+ exportSchema?(moduleId: string, strict?: boolean): Record<string, unknown> | null;
86
99
  }
87
100
  export interface Executor {
88
101
  registry: Registry;
89
- call(moduleId: string, inputs: Record<string, unknown>, context?: unknown): Promise<Record<string, unknown>>;
90
- callAsync?(moduleId: string, inputs: Record<string, unknown>, context?: unknown): Promise<Record<string, unknown>>;
91
- stream?(moduleId: string, inputs: Record<string, unknown>, context?: unknown): AsyncIterable<Record<string, unknown>>;
102
+ call(moduleId: string, inputs: Record<string, unknown>, context?: unknown, versionHint?: string): Promise<Record<string, unknown>>;
103
+ callAsync?(moduleId: string, inputs: Record<string, unknown>, context?: unknown, versionHint?: string): Promise<Record<string, unknown>>;
104
+ stream?(moduleId: string, inputs: Record<string, unknown>, context?: unknown, versionHint?: string): AsyncIterable<Record<string, unknown>>;
92
105
  validate?(toolName: string, args: Record<string, unknown>): unknown | Promise<unknown>;
106
+ callWithTrace?(moduleId: string, inputs: Record<string, unknown>, context?: unknown, versionHint?: string): Promise<[Record<string, unknown>, unknown]>;
93
107
  }
94
108
  export interface ModuleError extends Error {
95
109
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -36,6 +36,17 @@ export const ErrorCodes = Object.freeze({
36
36
  CONFIG_MOUNT_ERROR: "CONFIG_MOUNT_ERROR",
37
37
  CONFIG_BIND_ERROR: "CONFIG_BIND_ERROR",
38
38
  ERROR_FORMATTER_DUPLICATE: "ERROR_FORMATTER_DUPLICATE",
39
+ CONFIG_ENV_MAP_CONFLICT: "CONFIG_ENV_MAP_CONFLICT",
40
+ PIPELINE_ABORT: "PIPELINE_ABORT",
41
+ STEP_NOT_FOUND: "STEP_NOT_FOUND",
42
+ DEPENDENCY_NOT_FOUND: "DEPENDENCY_NOT_FOUND",
43
+ DEPENDENCY_VERSION_MISMATCH: "DEPENDENCY_VERSION_MISMATCH",
44
+ TASK_LIMIT_EXCEEDED: "TASK_LIMIT_EXCEEDED",
45
+ VERSION_CONSTRAINT_INVALID: "VERSION_CONSTRAINT_INVALID",
46
+ BINDING_SCHEMA_INFERENCE_FAILED: "BINDING_SCHEMA_INFERENCE_FAILED",
47
+ BINDING_SCHEMA_MODE_CONFLICT: "BINDING_SCHEMA_MODE_CONFLICT",
48
+ BINDING_STRICT_SCHEMA_INCOMPATIBLE: "BINDING_STRICT_SCHEMA_INCOMPATIBLE",
49
+ BINDING_POLICY_VIOLATION: "BINDING_POLICY_VIOLATION",
39
50
  });
40
51
  /** Dot-namespaced event types introduced in apcore 0.15.0 (§9.16). */
41
52
  export const APCORE_EVENTS = Object.freeze({
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,gFAAgF;AAEhF,qCAAqC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC,CAAC;AAEZ,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,0BAA0B,EAAE,4BAA4B;IACxD,yBAAyB,EAAE,2BAA2B;IACtD,0BAA0B,EAAE,4BAA4B;IACxD,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,yBAAyB,EAAE,2BAA2B;CAC9C,CAAC,CAAC;AAEZ,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,uBAAuB;IACvC,eAAe,EAAE,wBAAwB;IACzC,cAAc,EAAE,uBAAuB;IACvC,gBAAgB,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAEZ,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uCAAuC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,gFAAgF;AAEhF,qCAAqC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC,CAAC;AAEZ,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,uBAAuB,EAAE,yBAAyB;IAClD,UAAU,EAAE,YAAY;IACxB,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,0BAA0B,EAAE,4BAA4B;IACxD,yBAAyB,EAAE,2BAA2B;IACtD,0BAA0B,EAAE,4BAA4B;IACxD,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,2BAA2B,EAAE,6BAA6B;IAC1D,mBAAmB,EAAE,qBAAqB;IAC1C,0BAA0B,EAAE,4BAA4B;IACxD,+BAA+B,EAAE,iCAAiC;IAClE,4BAA4B,EAAE,8BAA8B;IAC5D,kCAAkC,EAAE,oCAAoC;IACxE,wBAAwB,EAAE,0BAA0B;CAC5C,CAAC,CAAC;AAEZ,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,uBAAuB;IACvC,eAAe,EAAE,wBAAwB;IACzC,cAAc,EAAE,uBAAuB;IACvC,gBAAgB,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAEZ,mDAAmD;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uCAAuC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apcore-mcp",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Automatic MCP Server & OpenAI Tools Bridge for apcore",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,10 +20,10 @@
20
20
  "test": "vitest run",
21
21
  "test:watch": "vitest",
22
22
  "test:coverage": "vitest run --coverage",
23
- "lint": "eslint src/ tests/",
23
+ "lint": "eslint src tests",
24
24
  "typecheck": "tsc --noEmit",
25
25
  "clean": "rm -rf dist",
26
- "prepublishOnly": "npm run build"
26
+ "prepublishOnly": "pnpm run build"
27
27
  },
28
28
  "keywords": [
29
29
  "apcore",
@@ -49,17 +49,23 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.26.0",
52
- "apcore-js": ">=0.15.1",
52
+ "apcore-js": ">=0.19.0",
53
53
  "jsonwebtoken": "^9.0.3",
54
- "mcp-embedded-ui": ">=0.3.2"
54
+ "mcp-embedded-ui": ">=0.4.0"
55
+ },
56
+ "optionalDependencies": {
57
+ "apcore-toolkit": ">=0.5.0"
55
58
  },
56
59
  "devDependencies": {
60
+ "@eslint/js": "^9.0.0",
57
61
  "@sinclair/typebox": "^0.34.48",
58
62
  "@types/jsonwebtoken": "^9.0.10",
59
63
  "@types/node": "^20.0.0",
60
64
  "@vitest/coverage-v8": "^3.0.0",
61
- "apdev-js": ">=0.2.0",
65
+ "apdev-js": ">=0.2.4",
66
+ "eslint": "^9.0.0",
62
67
  "typescript": "^5.5.0",
68
+ "typescript-eslint": "^8.0.0",
63
69
  "vitest": "^3.0.0"
64
70
  },
65
71
  "apdev": {
@@ -1,22 +0,0 @@
1
- /**
2
- * ModuleIDNormalizer - Converts between apcore module IDs and MCP tool names.
3
- *
4
- * apcore uses dot-separated module IDs (e.g. "myorg.tools.search")
5
- * while MCP tool names use hyphens (e.g. "myorg-tools-search").
6
- */
7
- export declare class ModuleIDNormalizer {
8
- /**
9
- * Normalize an apcore module ID to an MCP-compatible tool name.
10
- *
11
- * Validates the module ID against MODULE_ID_PATTERN before converting.
12
- * Replaces dots (`.`) with hyphens (`-`).
13
- */
14
- normalize(moduleId: string): string;
15
- /**
16
- * Denormalize an MCP tool name back to an apcore module ID.
17
- *
18
- * Replaces hyphens (`-`) with dots (`.`).
19
- */
20
- denormalize(toolName: string): string;
21
- }
22
- //# sourceMappingURL=idNormalizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idNormalizer.d.ts","sourceRoot":"","sources":["../../src/adapters/idNormalizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IASnC;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGtC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * ModuleIDNormalizer - Converts between apcore module IDs and MCP tool names.
3
- *
4
- * apcore uses dot-separated module IDs (e.g. "myorg.tools.search")
5
- * while MCP tool names use hyphens (e.g. "myorg-tools-search").
6
- */
7
- import { MODULE_ID_PATTERN } from "../types.js";
8
- export class ModuleIDNormalizer {
9
- /**
10
- * Normalize an apcore module ID to an MCP-compatible tool name.
11
- *
12
- * Validates the module ID against MODULE_ID_PATTERN before converting.
13
- * Replaces dots (`.`) with hyphens (`-`).
14
- */
15
- normalize(moduleId) {
16
- if (!MODULE_ID_PATTERN.test(moduleId)) {
17
- throw new Error(`Invalid module ID "${moduleId}": must match pattern ${MODULE_ID_PATTERN}`);
18
- }
19
- return moduleId.replaceAll(".", "-");
20
- }
21
- /**
22
- * Denormalize an MCP tool name back to an apcore module ID.
23
- *
24
- * Replaces hyphens (`-`) with dots (`.`).
25
- */
26
- denormalize(toolName) {
27
- return toolName.replaceAll("-", ".");
28
- }
29
- }
30
- //# sourceMappingURL=idNormalizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idNormalizer.js","sourceRoot":"","sources":["../../src/adapters/idNormalizer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,OAAO,kBAAkB;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,yBAAyB,iBAAiB,EAAE,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpErrorFormatter.d.ts","sourceRoot":"","sources":["../../src/adapters/mcpErrorFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGpE;AAED,qEAAqE;AACrE,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS1D"}
@@ -1,24 +0,0 @@
1
- import { ErrorMapper } from "./errors.js";
2
- /**
3
- * MCP-specific error formatter that wraps ErrorMapper for the
4
- * apcore ErrorFormatterRegistry protocol.
5
- */
6
- export class McpErrorFormatter {
7
- errorMapper = new ErrorMapper();
8
- format(error, _context) {
9
- return this.errorMapper.toMcpError(error);
10
- }
11
- }
12
- /** Register the MCP error formatter. Safe to call multiple times. */
13
- export async function registerMcpFormatter() {
14
- try {
15
- const { ErrorFormatterRegistry } = await import("apcore-js");
16
- if (!ErrorFormatterRegistry.get("mcp")) {
17
- ErrorFormatterRegistry.register("mcp", new McpErrorFormatter());
18
- }
19
- }
20
- catch {
21
- // ErrorFormatterRegistry not available in this apcore-js version
22
- }
23
- }
24
- //# sourceMappingURL=mcpErrorFormatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcpErrorFormatter.js","sourceRoot":"","sources":["../../src/adapters/mcpErrorFormatter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACX,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEjD,MAAM,CAAC,KAAc,EAAE,QAAkB;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAuC,CAAC;IAClF,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iEAAiE;IACnE,CAAC;AACH,CAAC"}