@cyanheads/mcp-ts-core 0.13.9 → 0.13.11

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 (192) hide show
  1. package/AGENTS.md +41 -15
  2. package/CLAUDE.md +41 -15
  3. package/README.md +37 -11
  4. package/biome.json +1 -1
  5. package/changelog/0.13.x/0.13.10.md +118 -0
  6. package/changelog/0.13.x/0.13.11.md +113 -0
  7. package/dist/cli/app-render.d.ts +11 -0
  8. package/dist/cli/app-render.d.ts.map +1 -0
  9. package/dist/cli/app-render.js +150 -0
  10. package/dist/cli/app-render.js.map +1 -0
  11. package/dist/cli/init.d.ts +2 -1
  12. package/dist/cli/init.d.ts.map +1 -1
  13. package/dist/cli/init.js +10 -2
  14. package/dist/cli/init.js.map +1 -1
  15. package/dist/config/index.d.ts +3 -0
  16. package/dist/config/index.d.ts.map +1 -1
  17. package/dist/config/index.js +11 -0
  18. package/dist/config/index.js.map +1 -1
  19. package/dist/core/app.d.ts.map +1 -1
  20. package/dist/core/app.js +15 -1
  21. package/dist/core/app.js.map +1 -1
  22. package/dist/core/context.d.ts +92 -22
  23. package/dist/core/context.d.ts.map +1 -1
  24. package/dist/core/context.js +65 -16
  25. package/dist/core/context.js.map +1 -1
  26. package/dist/core/index.d.ts +1 -1
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/worker.d.ts +6 -0
  30. package/dist/core/worker.d.ts.map +1 -1
  31. package/dist/core/worker.js +1 -0
  32. package/dist/core/worker.js.map +1 -1
  33. package/dist/linter/rules/error-contract-rules.d.ts +3 -44
  34. package/dist/linter/rules/error-contract-rules.d.ts.map +1 -1
  35. package/dist/linter/rules/error-contract-rules.js +8 -144
  36. package/dist/linter/rules/error-contract-rules.js.map +1 -1
  37. package/dist/linter/rules/index.d.ts +1 -1
  38. package/dist/linter/rules/index.d.ts.map +1 -1
  39. package/dist/linter/rules/index.js +1 -1
  40. package/dist/linter/rules/index.js.map +1 -1
  41. package/dist/linter/rules/resource-rules.d.ts.map +1 -1
  42. package/dist/linter/rules/resource-rules.js +1 -2
  43. package/dist/linter/rules/resource-rules.js.map +1 -1
  44. package/dist/linter/rules/tool-rules.d.ts.map +1 -1
  45. package/dist/linter/rules/tool-rules.js +1 -2
  46. package/dist/linter/rules/tool-rules.js.map +1 -1
  47. package/dist/mcp-server/handlerContext.d.ts +26 -13
  48. package/dist/mcp-server/handlerContext.d.ts.map +1 -1
  49. package/dist/mcp-server/handlerContext.js +32 -17
  50. package/dist/mcp-server/handlerContext.js.map +1 -1
  51. package/dist/mcp-server/inputRequired.d.ts +120 -8
  52. package/dist/mcp-server/inputRequired.d.ts.map +1 -1
  53. package/dist/mcp-server/inputRequired.js +177 -12
  54. package/dist/mcp-server/inputRequired.js.map +1 -1
  55. package/dist/mcp-server/prompts/prompt-registration.d.ts +10 -2
  56. package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -1
  57. package/dist/mcp-server/prompts/prompt-registration.js +49 -11
  58. package/dist/mcp-server/prompts/prompt-registration.js.map +1 -1
  59. package/dist/mcp-server/resources/resource-registration.d.ts +4 -2
  60. package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
  61. package/dist/mcp-server/resources/resource-registration.js +6 -4
  62. package/dist/mcp-server/resources/resource-registration.js.map +1 -1
  63. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +4 -3
  64. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
  65. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +60 -21
  66. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
  67. package/dist/mcp-server/server.d.ts +9 -0
  68. package/dist/mcp-server/server.d.ts.map +1 -1
  69. package/dist/mcp-server/server.js +14 -13
  70. package/dist/mcp-server/server.js.map +1 -1
  71. package/dist/mcp-server/tools/tool-registration.d.ts +7 -3
  72. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
  73. package/dist/mcp-server/tools/tool-registration.js +9 -5
  74. package/dist/mcp-server/tools/tool-registration.js.map +1 -1
  75. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +17 -9
  76. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  77. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +91 -50
  78. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  79. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
  80. package/dist/mcp-server/transports/http/httpErrorHandler.js +7 -1
  81. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
  82. package/dist/services/mirror/sqlite/handle.d.ts +11 -5
  83. package/dist/services/mirror/sqlite/handle.d.ts.map +1 -1
  84. package/dist/services/mirror/sqlite/handle.js +46 -8
  85. package/dist/services/mirror/sqlite/handle.js.map +1 -1
  86. package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts +6 -1
  87. package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts.map +1 -1
  88. package/dist/services/mirror/sqlite/sqliteMirrorStore.js.map +1 -1
  89. package/dist/testing/apps/browser.d.ts +27 -0
  90. package/dist/testing/apps/browser.d.ts.map +1 -0
  91. package/dist/testing/apps/browser.js +162 -0
  92. package/dist/testing/apps/browser.js.map +1 -0
  93. package/dist/testing/apps/cdp-pipe.d.ts +79 -0
  94. package/dist/testing/apps/cdp-pipe.d.ts.map +1 -0
  95. package/dist/testing/apps/cdp-pipe.js +200 -0
  96. package/dist/testing/apps/cdp-pipe.js.map +1 -0
  97. package/dist/testing/apps/csp.d.ts +17 -0
  98. package/dist/testing/apps/csp.d.ts.map +1 -0
  99. package/dist/testing/apps/csp.js +50 -0
  100. package/dist/testing/apps/csp.js.map +1 -0
  101. package/dist/testing/apps/host-pages.d.ts +47 -0
  102. package/dist/testing/apps/host-pages.d.ts.map +1 -0
  103. package/dist/testing/apps/host-pages.js +138 -0
  104. package/dist/testing/apps/host-pages.js.map +1 -0
  105. package/dist/testing/apps/index.d.ts +167 -0
  106. package/dist/testing/apps/index.d.ts.map +1 -0
  107. package/dist/testing/apps/index.js +36 -0
  108. package/dist/testing/apps/index.js.map +1 -0
  109. package/dist/testing/apps/partial-json.d.ts +14 -0
  110. package/dist/testing/apps/partial-json.d.ts.map +1 -0
  111. package/dist/testing/apps/partial-json.js +71 -0
  112. package/dist/testing/apps/partial-json.js.map +1 -0
  113. package/dist/testing/apps/run.d.ts +13 -0
  114. package/dist/testing/apps/run.d.ts.map +1 -0
  115. package/dist/testing/apps/run.js +659 -0
  116. package/dist/testing/apps/run.js.map +1 -0
  117. package/dist/testing/index.d.ts +17 -2
  118. package/dist/testing/index.d.ts.map +1 -1
  119. package/dist/testing/index.js +21 -7
  120. package/dist/testing/index.js.map +1 -1
  121. package/dist/types-global/errors.d.ts +18 -15
  122. package/dist/types-global/errors.d.ts.map +1 -1
  123. package/dist/utils/index.d.ts +1 -1
  124. package/dist/utils/index.d.ts.map +1 -1
  125. package/dist/utils/index.js +1 -1
  126. package/dist/utils/index.js.map +1 -1
  127. package/dist/utils/internal/error-handler/errorHandler.d.ts +5 -4
  128. package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
  129. package/dist/utils/internal/error-handler/errorHandler.js +9 -7
  130. package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
  131. package/dist/utils/internal/error-handler/types.d.ts +3 -1
  132. package/dist/utils/internal/error-handler/types.d.ts.map +1 -1
  133. package/dist/utils/internal/logger.d.ts +21 -1
  134. package/dist/utils/internal/logger.d.ts.map +1 -1
  135. package/dist/utils/internal/logger.js +31 -14
  136. package/dist/utils/internal/logger.js.map +1 -1
  137. package/dist/utils/internal/performance.d.ts +7 -3
  138. package/dist/utils/internal/performance.d.ts.map +1 -1
  139. package/dist/utils/internal/performance.js +16 -9
  140. package/dist/utils/internal/performance.js.map +1 -1
  141. package/dist/utils/internal/telemetryMessages.d.ts +0 -1
  142. package/dist/utils/internal/telemetryMessages.d.ts.map +1 -1
  143. package/dist/utils/internal/telemetryMessages.js +0 -1
  144. package/dist/utils/internal/telemetryMessages.js.map +1 -1
  145. package/dist/utils/security/sanitization.d.ts +16 -13
  146. package/dist/utils/security/sanitization.d.ts.map +1 -1
  147. package/dist/utils/security/sanitization.js +74 -33
  148. package/dist/utils/security/sanitization.js.map +1 -1
  149. package/dist/utils/telemetry/attributes.d.ts +12 -5
  150. package/dist/utils/telemetry/attributes.d.ts.map +1 -1
  151. package/dist/utils/telemetry/attributes.js +12 -5
  152. package/dist/utils/telemetry/attributes.js.map +1 -1
  153. package/framework-skills/add-app-tool/SKILL.md +2 -1
  154. package/framework-skills/add-service/SKILL.md +3 -12
  155. package/framework-skills/add-test/SKILL.md +20 -17
  156. package/framework-skills/add-tool/SKILL.md +30 -34
  157. package/framework-skills/api-config/SKILL.md +12 -2
  158. package/framework-skills/api-context/SKILL.md +156 -41
  159. package/framework-skills/api-errors/SKILL.md +43 -47
  160. package/framework-skills/api-linter/SKILL.md +5 -29
  161. package/framework-skills/api-mirror/SKILL.md +4 -3
  162. package/framework-skills/api-telemetry/SKILL.md +16 -10
  163. package/framework-skills/api-testing/SKILL.md +47 -11
  164. package/framework-skills/api-utils/SKILL.md +3 -3
  165. package/framework-skills/api-workers/SKILL.md +3 -1
  166. package/framework-skills/code-simplifier/SKILL.md +2 -2
  167. package/framework-skills/design-mcp-server/SKILL.md +5 -5
  168. package/framework-skills/field-test/SKILL.md +53 -8
  169. package/framework-skills/git-wrapup/SKILL.md +2 -2
  170. package/framework-skills/orchestrations/SKILL.md +1 -1
  171. package/framework-skills/orchestrations/workflows/greenfield-build.md +2 -2
  172. package/framework-skills/polish-docs-meta/SKILL.md +4 -3
  173. package/framework-skills/polish-docs-meta/references/server-json.md +24 -26
  174. package/framework-skills/release-and-publish/SKILL.md +3 -3
  175. package/framework-skills/release-pr-review/SKILL.md +6 -6
  176. package/framework-skills/security-pass/SKILL.md +8 -7
  177. package/framework-skills/setup/SKILL.md +2 -2
  178. package/package.json +38 -22
  179. package/scripts/devcheck.ts +43 -21
  180. package/scripts/install-otel.ts +84 -0
  181. package/scripts/lint-packaging.ts +279 -28
  182. package/scripts/prune-musl-packages.ts +146 -0
  183. package/templates/.env.example +2 -0
  184. package/templates/.github/workflows/codeql.yml +10 -1
  185. package/templates/AGENTS.md +5 -4
  186. package/templates/CLAUDE.md +5 -4
  187. package/templates/Dockerfile +76 -50
  188. package/templates/_.dockerignore +3 -5
  189. package/templates/_.gitignore +4 -4
  190. package/templates/package.json +4 -4
  191. package/templates/server.json +7 -21
  192. package/templates/src/mcp-server/tools/definitions/echo.tool.ts +3 -8
@@ -5,9 +5,9 @@
5
5
  */
6
6
  import { ZodError, z } from 'zod';
7
7
  import { config } from '../../../config/index.js';
8
- import { readContentStore, readEnrichmentStore } from '../../../core/context.js';
8
+ import { readContentStore, readEnrichmentStore, resolveDeclaredFailure } from '../../../core/context.js';
9
9
  import { buildHandlerContext, handlerParentContext, resolveHandlerRequest, } from '../../handlerContext.js';
10
- import { isInputRequiredSignal } from '../../inputRequired.js';
10
+ import { CLIENT_CAPABILITY_MISSING_REASON, isInputRequiredSignal, sealThrown, } from '../../inputRequired.js';
11
11
  import { parseOutputContract } from '../../outputContract.js';
12
12
  import { withRequiredScopes } from '../../transports/auth/lib/authUtils.js';
13
13
  import { internalError, JsonRpcErrorCode, McpError, } from '../../../types-global/errors.js';
@@ -62,15 +62,17 @@ function extractRecoveryHint(data) {
62
62
  /**
63
63
  * The compact trailing line carrying the two `data` fields a caller branches
64
64
  * on — `reason`, the stable identifier, and `retryable`, whether a retry can
65
- * succeed (#458). Both reach `structuredContent.error.data`; without this line
66
- * neither reaches the text surface, so a model that just failed cannot tell a
67
- * deterministic rejection from a transient one.
65
+ * succeed (#458) — then `request <id>`, the `data.requestId` the server's log
66
+ * records carry (#576). All three reach `structuredContent.error.data`;
67
+ * without this line none reaches the text surface, so a model that just failed
68
+ * cannot tell a deterministic rejection from a transient one, and a failure
69
+ * reported from a `content[]`-only client cannot be matched to its log record.
68
70
  *
69
- * Returns `undefined` when `data` carries neither — a classified plain
70
- * `Error`, an `McpError` with no `data` — leaving the text as it was. The
71
- * numeric `code` and `data.issues` stay JSON-only on purpose: the code is the
72
- * one envelope field a model cannot act on, and the message already renders
73
- * each issue as a sentence.
71
+ * Returns `undefined` when `data` carries none of them — an `McpError` with no
72
+ * `data` outside a request, as `runToolContract` builds it — leaving the text
73
+ * as it was. The numeric `code` and `data.issues` stay JSON-only on purpose:
74
+ * the code is the one envelope field a model cannot act on, and the message
75
+ * already renders each issue as a sentence.
74
76
  */
75
77
  function renderBranchableTerms(data) {
76
78
  const terms = [];
@@ -80,6 +82,9 @@ function renderBranchableTerms(data) {
80
82
  if (typeof data?.retryable === 'boolean') {
81
83
  terms.push(data.retryable ? 'retryable' : 'not retryable');
82
84
  }
85
+ if (typeof data?.requestId === 'string' && data.requestId.length > 0) {
86
+ terms.push(`request ${data.requestId}`);
87
+ }
83
88
  return terms.length > 0 ? `(${terms.join(' · ')})` : undefined;
84
89
  }
85
90
  /**
@@ -89,9 +94,9 @@ function renderBranchableTerms(data) {
89
94
  * - `structuredContent.error` — read by clients like Claude Code (JSON)
90
95
  *
91
96
  * The text carries the message, the `data.recovery.hint` when it adds
92
- * something, and the branchable `reason` / `retryable` terms
93
- * {@link renderBranchableTerms} renders; the numeric `code` and `data.issues`
94
- * stay JSON-only.
97
+ * something, and the `reason` / `retryable` / `request` terms
98
+ * {@link renderBranchableTerms} renders, in that order; the numeric `code` and
99
+ * `data.issues` stay JSON-only.
95
100
  *
96
101
  * The `Recovery:` line is dropped when the message already contains the hint
97
102
  * verbatim (#459) — `buildArgumentRecoveryHint` restates a constraint or
@@ -591,20 +596,36 @@ function accept(def, attempt, parsed, context) {
591
596
  * Builds an error `CallToolResult` from a raw thrown value. Classifies via
592
597
  * {@link ErrorHandler.classifyOnly} when the value isn't already an
593
598
  * `McpError`. Only propagates data from `McpError` (its declared `data`) or
594
- * `ZodError` (its `issues`) — other thrown values get a `structuredContent.error`
595
- * with `code` and `message` only, so internal classification context never
596
- * leaks to clients.
599
+ * `ZodError` (its `issues`), so internal classification context never leaks
600
+ * to clients.
601
+ *
602
+ * `requestId`, when given, is set as `data.requestId` on the envelope — after
603
+ * the thrown data, so the framework's value replaces a thrown one, as
604
+ * canonical fields win in log records (#550) — and closes the `content[]`
605
+ * terms line (#576). It is the one request-context field that reaches `data`,
606
+ * added here rather than to the thrown `McpError.data`, so the error the
607
+ * handler threw and the log record's `errorData` stay context-free (#548).
608
+ * `runToolContract` passes none: it has no real request, so a thrown
609
+ * `data.requestId` is dropped rather than rendered as one.
597
610
  *
598
611
  * Use after invoking {@link ErrorHandler.handleError} for OTel/logging side
599
612
  * effects — this helper does not log.
600
613
  */
601
- export function classifyAndBuildToolErrorResult(error) {
614
+ export function classifyAndBuildToolErrorResult(error, requestId) {
615
+ const withRequestId = (data) => {
616
+ if (requestId !== undefined)
617
+ return { ...data, requestId };
618
+ if (data?.requestId === undefined)
619
+ return data;
620
+ const { requestId: _thrown, ...rest } = data;
621
+ return Object.keys(rest).length > 0 ? rest : undefined;
622
+ };
602
623
  if (error instanceof McpError) {
603
- return buildToolErrorResult(error.code, error.message, error.data);
624
+ return buildToolErrorResult(error.code, error.message, withRequestId(error.data));
604
625
  }
605
626
  const { code, message } = ErrorHandler.classifyOnly(error);
606
627
  const data = error instanceof ZodError ? { issues: error.issues } : undefined;
607
- return buildToolErrorResult(code, message, data);
628
+ return buildToolErrorResult(code, message, withRequestId(data));
608
629
  }
609
630
  // ---------------------------------------------------------------------------
610
631
  // Success response shaping — enrichment merge + trailer
@@ -880,25 +901,37 @@ export function buildToolSuccessResult(def, ctx, domainValidated, domainContent)
880
901
  // Factory
881
902
  // ---------------------------------------------------------------------------
882
903
  /**
883
- * The log level the definition declared for the failure that just unwound, or
884
- * `undefined` to keep `error` (#380).
904
+ * The two reasons the framework raises itself, both a refusal of the call
905
+ * rather than a fault in this server: `invalid_arguments`, only from the schema
906
+ * gate in {@link parseToolArguments}, and `client_capability_missing`, only
907
+ * from `ctx.requestInput`'s capability gate.
908
+ */
909
+ const FRAMEWORK_REFUSAL_REASONS = new Set([
910
+ INVALID_ARGUMENTS_REASON,
911
+ CLIENT_CAPABILITY_MISSING_REASON,
912
+ ]);
913
+ /**
914
+ * The level the `Error in tool:<name>` record is emitted at, or `undefined` to
915
+ * keep `error`.
916
+ *
917
+ * A severity the matched `errors[]` entry declares wins (#380). Otherwise one
918
+ * of the framework's own refusals ({@link FRAMEWORK_REFUSAL_REASONS}) logs at
919
+ * `notice` (#567): a caller's arguments failing the tool's schema, or a client
920
+ * connection that cannot serve an input request, is routine traffic, and a
921
+ * schema that wrongly rejects valid calls still shows per tool on
922
+ * `mcp.tool.rejections`. Everything else — a plain `Error`, an undeclared
923
+ * reason, an entry with no severity, an auth refusal, an output-contract
924
+ * failure — keeps `error`. A cancellation takes `handleError`'s own `info`
925
+ * path whatever this returns.
885
926
  *
886
- * The outer catch is the one place holding both the definition and the thrown
887
- * error, so the reason-to-entry lookup happens here rather than inside
888
- * `ErrorHandler`, which sees neither. Resolution is deliberately narrow: an
889
- * `McpError` whose `data.reason` names a contract entry that declared a
890
- * severity. A plain `Error`, a reason thrown below the handler that the
891
- * contract never declared, and an entry with no severity all fall through to
892
- * today's behavior. A cancellation is settled earlier — `asRequestCancelled`
893
- * replaces the thrown value, so no declared reason reaches this point.
927
+ * Resolved here rather than in `ErrorHandler`, which also serves services,
928
+ * prompts, and transports and knows neither the definition nor the schema gate.
894
929
  */
895
- function declaredSeverity(def, error) {
896
- if (!(error instanceof McpError))
897
- return undefined;
898
- const reason = error.data?.reason;
899
- if (typeof reason !== 'string')
900
- return undefined;
901
- return def.errors?.find((entry) => entry.reason === reason)?.severity;
930
+ function failureSeverity(entry, failure) {
931
+ if (entry?.severity !== undefined)
932
+ return entry.severity;
933
+ const reason = failure instanceof McpError ? failure.data?.reason : undefined;
934
+ return typeof reason === 'string' && FRAMEWORK_REFUSAL_REASONS.has(reason) ? 'notice' : undefined;
902
935
  }
903
936
  /**
904
937
  * Creates an MCP tool handler from a tool definition.
@@ -914,14 +947,14 @@ function declaredSeverity(def, error) {
914
947
  * - Catches errors and returns `isError: true`, counting one raised before the
915
948
  * measured region (the scope check, argument validation) on `mcp.tool.rejections`
916
949
  */
917
- export function createToolHandler(def, services, notifiers, inputGate) {
950
+ export function createToolHandler(def, services, notifiers, capabilities) {
918
951
  // The handler's return value carries no marker, so the arrays partial-success
919
952
  // telemetry reads are named by the output schema — resolved once here (#524).
920
953
  const partialResultKeys = resolvePartialResultKeys(def.output.shape);
921
954
  return async (input, serverContext) => {
922
955
  const request = resolveHandlerRequest(serverContext, services, notifiers);
923
956
  const appContext = requestContextService.createRequestContext({
924
- parentContext: handlerParentContext(request),
957
+ parentContext: handlerParentContext(serverContext),
925
958
  operation: 'HandleToolRequest',
926
959
  additionalContext: { toolName: def.name },
927
960
  });
@@ -951,7 +984,7 @@ export function createToolHandler(def, services, notifiers, inputGate) {
951
984
  // the handler returned recorded those as successes (#346).
952
985
  measured = true;
953
986
  return await measureToolExecution(async (spanContext, recordOutput) => {
954
- const handlerCtx = buildHandlerContext(request, services, spanContext, def.errors, inputGate);
987
+ const handlerCtx = buildHandlerContext(request, services, spanContext, def.errors, capabilities);
955
988
  ctx = handlerCtx;
956
989
  try {
957
990
  // Handler may return sync or async.
@@ -968,8 +1001,10 @@ export function createToolHandler(def, services, notifiers, inputGate) {
968
1001
  catch (error) {
969
1002
  // Inside the measurement on purpose: the completion log's
970
1003
  // `metrics.errorCode` and the span's error-code attribute are
971
- // derived from what leaves this callback (#421).
972
- throw asRequestCancelled(error, request.signal);
1004
+ // derived from what leaves this callback (#421). An input-required
1005
+ // signal leaves with its `requestState` sealed when a key is
1006
+ // configured, so a sealing failure is a failed call like any other.
1007
+ throw asRequestCancelled(await sealThrown(error, services.requestState, serverContext), request.signal);
973
1008
  }
974
1009
  }, { ...appContext, toolName: def.name }, validatedInput, () => {
975
1010
  const store = ctx ? readEnrichmentStore(ctx) : undefined;
@@ -980,22 +1015,28 @@ export function createToolHandler(def, services, notifiers, inputGate) {
980
1015
  }
981
1016
  catch (error) {
982
1017
  // `ctx.requestInput(...)` is protocol control flow, not a failure: return
983
- // the `input_required` result untouched, with no span, log, or
984
- // classification. The client (2026 era) or the SDK's legacy shim (2025
985
- // era) fulfils it and re-invokes this handler. A request this connection
986
- // cannot serve never reaches here as a signal — `ctx.requestInput`
987
- // throws the refusal instead, and it arrives below as an `McpError`.
1018
+ // the `input_required` result — its `requestState` already sealed when a
1019
+ // key is configured — with no span, log, or classification. The client
1020
+ // (2026 era) or the SDK's legacy shim (2025 era) fulfils it and
1021
+ // re-invokes this handler. A request this connection cannot serve never
1022
+ // reaches here as a signal — `ctx.requestInput` throws the refusal
1023
+ // instead, and it arrives below as an `McpError`.
988
1024
  if (isInputRequiredSignal(error))
989
1025
  return error.result;
990
- const severity = declaredSeverity(def, error);
991
- ErrorHandler.handleError(error, {
1026
+ // One reason-to-entry lookup: the declared recovery fills a failure that
1027
+ // carries none (#579) and the entry's severity sets the log level (#380,
1028
+ // #567). Filled before `handleError`, so the error record, the envelope,
1029
+ // and the failure-payload record carry the same hint.
1030
+ const { entry, failure } = resolveDeclaredFailure(def.errors, error);
1031
+ const severity = failureSeverity(entry, failure);
1032
+ ErrorHandler.handleError(failure, {
992
1033
  operation: `tool:${def.name}`,
993
1034
  context: appContext,
994
1035
  ...(severity !== undefined && { severity }),
995
1036
  });
996
1037
  if (!measured)
997
- recordToolRejection(def.name, error);
998
- const result = classifyAndBuildToolErrorResult(error);
1038
+ recordToolRejection(def.name, failure);
1039
+ const result = classifyAndBuildToolErrorResult(failure, appContext.requestId);
999
1040
  if (config.logToolFailurePayloads) {
1000
1041
  logFailurePayload(services.logger, def.name, appContext, input, result, severity);
1001
1042
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"httpErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS,SAAS,MAAM,GAAG,gBAAgB,OAC3E,KAAK,KACP,OAAO,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,KAClC,OAAO,CAAC,QAAQ,CA8KlB,CAAC"}
1
+ {"version":3,"file":"httpErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS,SAAS,MAAM,GAAG,gBAAgB,OAC3E,KAAK,KACP,OAAO,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,KAClC,OAAO,CAAC,QAAQ,CAoLlB,CAAC"}
@@ -161,12 +161,18 @@ export const httpErrorHandler = async (err, c) => {
161
161
  logger.debug('Request body already consumed, cannot extract JSON-RPC ID.', context);
162
162
  }
163
163
  c.status(status);
164
+ /**
165
+ * `data` carries what a thrown `McpError` declared plus this handler's own
166
+ * `requestId` (#576) — the id its `Client error:` or `Error in httpTransport`
167
+ * record logs, so a failure reported from the client can be matched to it.
168
+ * Set last, so it replaces a thrown `data.requestId`.
169
+ */
164
170
  const errorResponse = {
165
171
  jsonrpc: '2.0',
166
172
  error: {
167
173
  code: errorCode,
168
174
  message: classified.message,
169
- ...(originalData !== undefined && { data: originalData }),
175
+ data: { ...originalData, requestId: context.requestId },
170
176
  },
171
177
  id: requestId,
172
178
  };
@@ -1 +1 @@
1
- {"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"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"}
@@ -32,17 +32,23 @@ export interface SqliteHandle {
32
32
  }
33
33
  /** Options for {@link openSqliteHandle}. */
34
34
  export interface OpenHandleOptions {
35
- /** `PRAGMA busy_timeout` in ms — how long a writer waits on a locked DB. Default 5000. */
35
+ /**
36
+ * How long, in ms, a statement waits on another connection's lock
37
+ * (`PRAGMA busy_timeout`), and how long the open keeps retrying the switch
38
+ * to WAL, counted from when the open began. Default 5000.
39
+ */
36
40
  busyTimeoutMs?: number;
37
41
  }
38
42
  /**
39
43
  * Open (or create) a SQLite database at `path`, picking the driver for the
40
- * current runtime. Creates the parent directory, enables WAL, and sets
41
- * `busy_timeout` so a refresh writer and reader processes coexist without
42
- * spurious `database is locked` errors.
44
+ * current runtime. Creates the parent directory, sets `busy_timeout` before
45
+ * anything reads the file, then enables WAL, so a refresh writer and reader
46
+ * processes coexist without spurious `database is locked` errors. An open that
47
+ * meets another connection's lock waits it out for up to `busyTimeoutMs`.
43
48
  *
44
49
  * Throws `ConfigurationError` on Node when `better-sqlite3` is not installed,
45
- * and `DatabaseError` for any other open failure.
50
+ * and `DatabaseError` for any other open failure, with the driver error on
51
+ * `cause` and the connection already closed.
46
52
  */
47
53
  export declare function openSqliteHandle(path: string, options?: OpenHandleOptions): Promise<SqliteHandle>;
48
54
  //# sourceMappingURL=handle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/handle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,4FAA4F;AAC5F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO;IAC7C,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnF;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4DD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAoBvB"}
1
+ {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/handle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,4FAA4F;AAC5F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO;IAC7C,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7C,GAAG,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnF;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC5D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA+DD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAuBvB"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import { mkdir } from 'node:fs/promises';
13
13
  import { dirname, resolve as resolvePath } from 'node:path';
14
+ import { setTimeout as delay } from 'node:timers/promises';
14
15
  import { configurationError, databaseError, McpError } from '../../../types-global/errors.js';
15
16
  import { runtimeCaps } from '../../../utils/internal/runtime.js';
16
17
  /**
@@ -21,6 +22,8 @@ import { runtimeCaps } from '../../../utils/internal/runtime.js';
21
22
  */
22
23
  const BUN_SQLITE_SPECIFIER = 'bun:sqlite';
23
24
  const BETTER_SQLITE3_SPECIFIER = 'better-sqlite3';
25
+ /** Pause between attempts to switch a contended file to WAL. */
26
+ const WAL_RETRY_INTERVAL_MS = 10;
24
27
  /** Adapts a driver to the runtime-neutral {@link SqliteHandle}; `close` is driver-specific. */
25
28
  function wrapDriver(db, close) {
26
29
  return {
@@ -41,31 +44,66 @@ function wrapDriver(db, close) {
41
44
  }
42
45
  /**
43
46
  * Open (or create) a SQLite database at `path`, picking the driver for the
44
- * current runtime. Creates the parent directory, enables WAL, and sets
45
- * `busy_timeout` so a refresh writer and reader processes coexist without
46
- * spurious `database is locked` errors.
47
+ * current runtime. Creates the parent directory, sets `busy_timeout` before
48
+ * anything reads the file, then enables WAL, so a refresh writer and reader
49
+ * processes coexist without spurious `database is locked` errors. An open that
50
+ * meets another connection's lock waits it out for up to `busyTimeoutMs`.
47
51
  *
48
52
  * Throws `ConfigurationError` on Node when `better-sqlite3` is not installed,
49
- * and `DatabaseError` for any other open failure.
53
+ * and `DatabaseError` for any other open failure, with the driver error on
54
+ * `cause` and the connection already closed.
50
55
  */
51
56
  export async function openSqliteHandle(path, options = {}) {
57
+ const startedAt = performance.now();
52
58
  await mkdir(dirname(resolvePath(path)), { recursive: true });
53
59
  const busyTimeoutMs = options.busyTimeoutMs ?? 5000;
54
60
  let handle;
55
61
  try {
56
62
  handle = runtimeCaps.isBun ? await openBunHandle(path) : await openBetterSqlite3Handle(path);
63
+ // One statement per call: bun:sqlite's multi-statement `exec` drops the
64
+ // step error of a statement followed by more text (oven-sh/bun#37415).
65
+ // NORMAL synchronous is the WAL-recommended durability/throughput balance.
66
+ handle.exec(`PRAGMA busy_timeout = ${busyTimeoutMs}`);
67
+ await enableWal(handle, startedAt + busyTimeoutMs);
68
+ handle.exec('PRAGMA synchronous = NORMAL');
69
+ handle.exec('PRAGMA foreign_keys = ON');
70
+ return handle;
57
71
  }
58
72
  catch (err) {
73
+ handle?.close();
59
74
  // The Node path throws a ConfigurationError when better-sqlite3 is absent —
60
75
  // preserve it rather than masking it as a generic open failure.
61
76
  if (err instanceof McpError)
62
77
  throw err;
63
78
  throw databaseError(`Failed to open mirror store at ${path}`, { path }, { cause: err });
64
79
  }
65
- // Connection pragmas. WAL allows one writer + concurrent readers; NORMAL
66
- // synchronous is the WAL-recommended durability/throughput balance.
67
- handle.exec(`PRAGMA journal_mode = WAL; PRAGMA synchronous = NORMAL; PRAGMA foreign_keys = ON; PRAGMA busy_timeout = ${busyTimeoutMs};`);
68
- return handle;
80
+ }
81
+ /**
82
+ * Switch the connection to WAL, which lets one writer and concurrent readers
83
+ * share the file. The switch is the open's first read of the file, and the
84
+ * busy handler waits out a lock met there. Converting a rollback-mode file
85
+ * also takes a RESERVED lock, which SQLite never waits for through the busy
86
+ * handler (it fails at once to avoid deadlock), so a `SQLITE_BUSY*` result is
87
+ * retried here until `deadline`. Runs through `prepare().get()` so a step
88
+ * error always surfaces, on `bun:sqlite` too.
89
+ */
90
+ async function enableWal(handle, deadline) {
91
+ for (;;) {
92
+ try {
93
+ handle.prepare('PRAGMA journal_mode = WAL').get();
94
+ return;
95
+ }
96
+ catch (err) {
97
+ if (!isBusy(err) || performance.now() >= deadline)
98
+ throw err;
99
+ await delay(WAL_RETRY_INTERVAL_MS);
100
+ }
101
+ }
102
+ }
103
+ /** Both drivers name the extended result code on `code`: `SQLITE_BUSY`, `SQLITE_BUSY_RECOVERY`, … */
104
+ function isBusy(err) {
105
+ const code = err.code;
106
+ return typeof code === 'string' && code.startsWith('SQLITE_BUSY');
69
107
  }
70
108
  /**
71
109
  * Bun driver. Closes with `close(true)` so statements the store still holds
@@ -1 +1 @@
1
- {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/handle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AA6B1D;;;;;GAKG;AACH,MAAM,oBAAoB,GAAW,YAAY,CAAC;AAClD,MAAM,wBAAwB,GAAW,gBAAgB,CAAC;AAgC1D,+FAA+F;AAC/F,SAAS,UAAU,CAAC,EAAgB,EAAE,KAAiB;IACrD,OAAO;QACL,KAAK;QACL,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACZ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QACD,OAAO,EAAE,CAAO,GAAW,EAAyB,EAAE;YACpD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;gBACL,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,MAAoB,CAAW;gBAChE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,MAAoB,CAAqB;gBAC1E,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,MAAoB,CAAC;aACvD,CAAC;QACJ,CAAC;QACD,WAAW,EAAE,CAAI,EAAW,EAAK,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,OAAO,GAAsB,EAAE;IAE/B,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IAEpD,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,gEAAgE;QAChE,IAAI,GAAG,YAAY,QAAQ;YAAE,MAAM,GAAG,CAAC;QACvC,MAAM,aAAa,CAAC,kCAAkC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,CAAC,IAAI,CACT,2GAA2G,aAAa,GAAG,CAC5H,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAA6C,CAAC;IAC7F,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IACjD,IAAI,GAAmC,CAAC;IACxC,IAAI,CAAC;QACH,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAA8C,CAAC;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2FAA2F;QAC3F,MAAM,kBAAkB,CACtB,yFAAyF,EACzF,EAAE,IAAI,EAAE,EACR,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/handle.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,12 @@ export interface SqliteMirrorStoreLimits {
28
28
  }
29
29
  /** Configuration for {@link sqliteMirrorStore}. */
30
30
  export interface SqliteMirrorStoreSpec extends SchemaSpec {
31
- /** `PRAGMA busy_timeout` in ms. Default 5000. */
31
+ /**
32
+ * How long, in ms, a statement waits on another connection's lock
33
+ * (`PRAGMA busy_timeout`). It bounds the store's open too: the open retries
34
+ * the switch to WAL under another connection's lock until this much time has
35
+ * passed. Default 5000.
36
+ */
32
37
  busyTimeoutMs?: number;
33
38
  /** Query and batch ceilings. Omitted fields stay unbounded. */
34
39
  limits?: SqliteMirrorStoreLimits;
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteMirrorStore.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,SAAS,EAET,WAAW,EAMZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAkB,KAAK,UAAU,EAAsB,MAAM,aAAa,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,WAAW,CAoO1E"}
1
+ {"version":3,"file":"sqliteMirrorStore.d.ts","sourceRoot":"","sources":["../../../../src/services/mirror/sqlite/sqliteMirrorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAEV,SAAS,EAET,WAAW,EAMZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAkB,KAAK,UAAU,EAAsB,MAAM,aAAa,CAAC;AAElF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,mFAAmF;IACnF,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,WAAW,CAoO1E"}