@emseepea/server 0.22.1 → 0.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1110,10 +1110,20 @@ With public discovery, return suggestions that are safe to expose in that
1110
1110
  catalogue. With protected discovery, the framework authenticates before the
1111
1111
  completion callback runs.
1112
1112
 
1113
- Em See Pea does not enumerate every concrete address that could match a
1114
- resource template or permit unbounded catalogue pages. Applications provide a
1115
- purpose-built search or list tool when clients need concrete records, then the
1116
- client uses `resources/read` for the selected URI.
1113
+ A protected, discoverable resource template may add a `list` callback to
1114
+ return bounded metadata for the caller’s records. This makes the entire
1115
+ `resources/list` method authenticated, including with public discovery. The
1116
+ callback receives the validated principal, cancellation signal, deadline,
1117
+ and exclusive ordering key. Reads check access again.
1118
+
1119
+ See the [private resource inventory guide](https://emseepea.github.io/emseepea/resource-inventory/)
1120
+ for the API, ownership rules, page bounds, and cursor limits. Cursors expire
1121
+ fifteen minutes after the first page and are local to the serving process;
1122
+ pages query live records rather than a snapshot.
1123
+
1124
+ Without a callback, static
1125
+ listing behavior is unchanged. A purpose-built search tool remains useful
1126
+ when clients need searchable record details.
1117
1127
 
1118
1128
  ## Tool That Requires Sign-In
1119
1129
 
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import { McpServer, inputRequired as sdkInputRequired, type AuthMetadataOptions,
2
2
  import type { FastifyInstance, RouteHandlerMethod } from "fastify";
3
3
  import { z } from "zod";
4
4
  import { type McpEventsOptions } from "./events.js";
5
+ import { type ResourceInventoryHandler } from "./resource-inventory.js";
6
+ export type { ResourceInventoryEntry, ResourceInventoryPage, ResourceInventoryHandler } from "./resource-inventory.js";
5
7
  export type { McpEventDefinition, McpEventDelivery, McpClaimedEventDelivery, McpEventStore, McpEventSubscription, McpEventsOptions } from "./events.js";
6
8
  import { type CallerClassification, type ObservabilityAdapter } from "./telemetry.js";
7
9
  export { openTelemetry, structuredLogging, type CallerClassification, type ObservabilityAdapter, type ObservabilityEvent, type ObservedForwardingRefusal, type ObservedHttpMethod, type ObservedMcpMethod, type ObservedProtocolOutcome, } from "./telemetry.js";
@@ -66,6 +68,7 @@ declare const RESOURCE_MATCHES: unique symbol;
66
68
  declare const RESOURCE_ROUTE: unique symbol;
67
69
  declare const RESOURCE_LISTING: unique symbol;
68
70
  declare const RESOURCE_ACCESS: unique symbol;
71
+ declare const RESOURCE_INVENTORY: unique symbol;
69
72
  declare const PROMPT_NAME: unique symbol;
70
73
  declare const PROMPT_ACCESS: unique symbol;
71
74
  declare const HAS_COMPLETION: unique symbol;
@@ -77,6 +80,8 @@ interface RequestStateRuntime {
77
80
  }
78
81
  export interface Principal {
79
82
  readonly clientId: string;
83
+ /** Stable subject supplied by the verifier as extra.subject; never raw claims. */
84
+ readonly subject?: string;
80
85
  /** Normalized permissions granted to this MCP resource. */
81
86
  readonly permissions: readonly string[];
82
87
  readonly resource?: string;
@@ -350,10 +355,12 @@ export type ResourceTemplateDefinition = ResourceTemplateDefinitionBase & ({
350
355
  readonly access: "public";
351
356
  readonly requiredScopes?: never;
352
357
  readonly handler: ResourceTemplateHandler<"public">;
358
+ readonly list?: never;
353
359
  } | {
354
360
  readonly access: "protected";
355
361
  readonly requiredScopes: readonly string[];
356
362
  readonly handler: ResourceTemplateHandler<"protected">;
363
+ readonly list?: ResourceInventoryHandler;
357
364
  });
358
365
  interface ResourceTemplateRoute {
359
366
  readonly protocol: string;
@@ -372,6 +379,7 @@ export interface EmseepeaResource {
372
379
  readonly value: Readonly<Record<string, unknown>>;
373
380
  };
374
381
  readonly [RESOURCE_ACCESS]: "public" | ProtectedCapabilityAccess;
382
+ readonly [RESOURCE_INVENTORY]?: ResourceInventoryHandler;
375
383
  readonly [HAS_COMPLETION]: boolean;
376
384
  readonly [REGISTER]: (server: McpServer, timeoutMs: number, maxApplicationResultBytes: number, maxProgressEvents: number, maxProgressEventBytes: number, requestState?: RequestStateRuntime, clientLogging?: NormalizedClientLogging) => void;
377
385
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,SAAS,EAeT,aAAa,IAAI,gBAAgB,EAQjC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,IAAI,EACT,KAAK,mBAAmB,IAAI,sBAAsB,EAClD,KAAK,YAAY,EAEjB,KAAK,iBAAiB,IAAI,oBAAoB,EAM9C,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EAGvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAGlB,KAAK,aAAa,EAClB,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAEV,eAAe,EAGf,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAmE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAyD,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC/H,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACvH,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACxJ,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AAExB,cAAc,SAAS,CAAC;AACxB,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,MAAM,EAAE,oBAAoB,GAAG,YAAY,CAAA;CAAE,CAAC,CAAC;AACxG,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC;CAC5C;AAED,OAAO,CAAC,MAAM,aAAa,EAAE,OAAO,MAAM,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,KAAK,iBAAiB,GAClB;IAAE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,iBAAiB,CAAC;AAE7E,UAAU,oBAAoB;IAC5B,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAC/C,KAAK,IAAI,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACzD,MAAM,CACJ,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAClD,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IAC3D,SAAS,CACP,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,GACrD,OAAO,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,EAQrB,oBAAoB,CAAC;AAE1B,wBAAgB,eAAe,CAAC,CAAC,SAAS,gBAAgB,EACxD,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,CAAC,GACR,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAE7C;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE9F,wBAAgB,aAAa,CAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,EACxD,GAAG,EAAE,MAAM,GACV,iBAAiB,CAGnB;AAED,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG;IACtE,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CACvC;AAGD,6EAA6E;AAC7E,wBAAgB,aAAa,CAC3B,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,GAAG,EAAE,MAAM,GACV,SAAS,UAAU,EAAE,GAAG,SAAS,CAOnC;AAWD,QAAA,MAAM,QAAQ,eAAqB,CAAC;AACpC,QAAA,MAAM,YAAY,eAAyB,CAAC;AAC5C,QAAA,MAAM,SAAS,eAAqB,CAAC;AACrC,QAAA,MAAM,WAAW,eAAuB,CAAC;AACzC,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,YAAY,eAAwB,CAAC;AAC3C,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,YAAY,eAAwB,CAAC;AAC3C,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,gBAAgB,eAA4B,CAAC;AACnD,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,gBAAgB,eAA4B,CAAC;AACnD,QAAA,MAAM,eAAe,eAA2B,CAAC;AACjD,QAAA,MAAM,kBAAkB,eAA8B,CAAC;AACvD,QAAA,MAAM,WAAW,eAAuB,CAAC;AACzC,QAAA,MAAM,aAAa,eAAyB,CAAC;AAC7C,QAAA,MAAM,cAAc,eAA0B,CAAC;AAC/C,QAAA,MAAM,cAAc,eAA0B,CAAC;AAS/C,KAAK,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;AAa3D,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9E;AAwCD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AACtC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,CAAC;AACtD,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AACjF,MAAM,WAAW,WAAW,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IACjE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,oBAAoB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAE1E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AACD,MAAM,WAAW,UAAU,CAAC,MAAM;IAChC,gIAAgI;IAChI,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AACD,2EAA2E;AAC3E,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;CACvB,CAAC;AACF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AACrD,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CACpF,SAAQ,gBAAgB;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxE,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AACD,MAAM,WAAW,qBAAqB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CACvF,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AACD,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,CACnF,SAAQ,gBAAgB;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AACD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,KACvB,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AACpD,UAAU,yBAAyB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AACD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAChD,UAAU,oBAAoB,CAAC,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;CAC7B;AACD,KAAK,aAAa,GAAG,sBAAsB,GAAG;IAC5C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC;CACtC,CAAC;AACF,KAAK,kBAAkB,CAAC,KAAK,EAAE,MAAM,SAAS,sBAAsB,GAAG,SAAS,IAC9E,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,SAAS,sBAAsB,GAChE;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AACzC,KAAK,WAAW,CAAC,MAAM,IAAI,MAAM,SAAS,gBAAgB,GACtD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAC7C,KAAK,CAAC;AACV,KAAK,iBAAiB,CAAC,MAAM,IAAI,kBAAkB,GACjD,CAAC,MAAM,SAAS,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9E,KAAK,sBAAsB,CACzB,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,MAAM,SAAS,UAAU,EACzB,MAAM,IAEN,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IAClC,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAC1C,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAClC,MAAM,CAAC;CACb,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAC/E,KAAK,+BAA+B,CAClC,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,MAAM,SAAS,UAAU,EACzB,MAAM,IACJ,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACtC,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAC1C,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAC3C,MAAM,CAAC;CACb,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAC7E,KAAK,4BAA4B,CAC/B,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,YAAY,SAAS,aAAa,EAClC,aAAa,SAAS,aAAa,EACnC,MAAM,SAAS,UAAU,EACzB,MAAM,IACJ,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACtC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,KACvC,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,EACjD,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CACrF,GAAG,CAAC,MAAM,SAAS,QAAQ,GACxB;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC;AAE7E,KAAK,cAAc,CAAC,MAAM,IAAI,MAAM,SAAS,UAAU,CAAC,MAAM,IAAI,CAAC,GAC/D,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,GAAG,KAAK,GACxC,KAAK,CAAC;AACV,KAAK,eAAe,CAClB,MAAM,EACN,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,YAAY,SAAS,MAAM,IACzB,MAAM,SAAS,aAAa,GAC5B,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC/E,MAAM,GACN;IAAE,QAAQ,EAAE,GAAG,IAAI,YAAY,GAAG,KAAK;CAAE,GAC3C,MAAM,CAAC;AACX,KAAK,eAAe,CAAC,MAAM,IAAI,MAAM,SAAS,WAAW,CAAC,MAAM,KAAK,CAAC,GAClE,eAAe,CAAC,KAAK,CAAC,GACtB,MAAM,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GACvC,OAAO,CAAC,MAAM,MAAM,EAAE,SAAS,GAAG,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,GACxF,KAAK,GACL,MAAM,GACR,KAAK,CAAC;AACZ,KAAK,mBAAmB,CAAC,MAAM,EAAE,YAAY,SAAS,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACrG,MAAM,GACN;IAAE,QAAQ,EAAE,GAAG,IAAI,YAAY,GAAG,KAAK;CAAE,CAAC;AAC9C,MAAM,MAAM,cAAc,CACxB,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,sBAAsB,GAAG,SAAS,GAAG,SAAS,EAC7D,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,GAC5D,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,GACxD,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,GAC/C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAE1D,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAChC;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CACtF,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;CACzF,CACJ,CAAC;AACJ,MAAM,MAAM,uBAAuB,CACjC,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,sBAAsB,GAAG,SAAS,GAAG,SAAS,EAC7D,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GACtC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAClC,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAEhE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAChC;IACE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC;CAC/F,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;CAClG,CACJ,CAAC;AACJ,KAAK,wBAAwB,CAC3B,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,YAAY,SAAS,CAAC,CAAC,SAAS,EAChC,aAAa,SAAS,CAAC,CAAC,SAAS,EACjC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAClE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG;IACtC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,EAAE,CAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAC7B,OAAO,EAAE,qBAAqB,KAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;CACjE,CAAA;AACD,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,CAAC,CAAC,SAAS,EACzB,MAAM,SAAS,sBAAsB,GAAG,SAAS,EACjD,YAAY,SAAS,CAAC,CAAC,SAAS,EAChC,aAAa,SAAS,CAAC,CAAC,SAAS,EACjC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAElE,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG;IAC7E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;CACjC,GACD,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,GAAG;IAC7E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,CAAC;AACN,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC7D,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AACD,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,CACtD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KACzD,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAA;CAAE,GAClG;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,KAC5D,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAA;CAAE,CACrG,CAAC;AACF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AACD,UAAU,4BAA4B;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,2BAA2B,GAAG,qBAAqB,CAAC;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AACD,MAAM,MAAM,wBAAwB,GAAG,4BAA4B,GAAG,CAClE;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAC/E,GAAG,CACA;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GACvD;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;CAAE,CACvD,CAAC;AACF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC7C;AACD,UAAU,8BAA8B;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACjE;AACD,KAAK,uBAAuB,CAAC,MAAM,SAAS,gBAAgB,IAAI,CAC9D,KAAK,EAAE;IACL,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1E,EACD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,KACnC,kBAAkB,GAAG,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;AAClG,MAAM,MAAM,0BAA0B,GAAG,8BAA8B,GAAG,CACtE;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAA;CAAE,CACvG,CAAC;AACF,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,qBAAqB,CAAC;IAClD,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE;QAC3B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,0BAA0B,CAAC;QAC/D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD,CAAC;IACF,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IACjE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACzD,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,KAAK,2BAA2B,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI;KAC1D,GAAG,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,GACjF,KAAK,GACL,GAAG;CACR,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,KAAK,qBAAqB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IACjD;IAAC,2BAA2B,CAAC,IAAI,CAAC;CAAC,SAAS,CAAC,KAAK,CAAC,GAC/C,MAAM,GACN;IAAE,QAAQ,CAAC,gCAAgC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3D,KAAK,oBAAoB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;CACxG,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAClF;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAC/E,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,KAClF,eAAe,GAAG,mBAAmB,GAAG,OAAO,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAA;CAAE,CAC/F,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC;IAC/D,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,yBAAyB,EAAE,MAAM,EACjC,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,CAAC,EAAE,mBAAmB,EAClC,aAAa,CAAC,EAAE,uBAAuB,KACpC,IAAI,CAAC;CACX;AACD,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAClF,MAAM,MAAM,uBAAuB,CAAC,OAAO,GAAG,SAAS,IAAI,CACzD,OAAO,EAAE,OAAO,KACb,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AACD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAClD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,mCAAmC,CAAC,GAAG;QAClF,QAAQ,CAAC,iCAAiC,CAAC,EAAE,KAAK,CAAC;KACpD,CAAC;IACF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,iGAAiG;IACjG,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;CAC7C;AACD,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAC/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C,yFAAyF;IACzF,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACnD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACjD;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AACD,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AACD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,eAAe,EACb,gBAAgB,GAChB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,YAAY,CACf,CAAC;AACF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AACD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;CAChD,CAAC;AAEN,wBAAgB,qBAAqB,CACnC,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GACtE,iBAAiB,CA4DnB;AACD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;CAC/C;AACD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,UAAU,gBAAgB;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAoCxF,wBAAgB,UAAU,CACxB,KAAK,SAAS,aAAa,EAC3B,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SACR,kBAAkB,GAClB,mBAAmB,GACnB,OAAO,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,EACrD,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;AACtF,wBAAgB,UAAU,CACxB,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,EACrC,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,GAClE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,mBAAmB,CAAC,EAC1D,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CACnF,MAAM,EACN,MAAM,EACN,4DAA4D,CAC7D,GAAG,mBAAmB,CAAC,MAAM,EAAE,6DAA6D,CAAC,GAAG,YAAY,CAAC;AAU9G,wBAAgB,mBAAmB,CACjC,KAAK,SAAS,aAAa,EAC3B,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,EACrE,UAAU,EAAE,+BAA+B,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;AAC/F,wBAAgB,mBAAmB,CACjC,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,EACrC,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EACnF,UAAU,EAAE,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAC5F,MAAM,EACN,MAAM,EACN,4DAA4D,CAC7D,GAAG,mBAAmB,CAAC,MAAM,EAAE,6DAA6D,CAAC,GAAG,YAAY,CAAC;AAM9G,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,aAAa,EAC3B,YAAY,SAAS,aAAa,EAClC,aAAa,SAAS,aAAa,EACnC,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,kBAAkB,EACvC,UAAU,EAAE,4BAA4B,CACxC,KAAK,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,MAAM,EACN,MAAM,CACP,GAAG,YAAY,CAAC;AACjB,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,aAAa,EAC3B,MAAM,SAAS,sBAAsB,EACrC,YAAY,SAAS,aAAa,EAClC,aAAa,SAAS,aAAa,EACnC,KAAK,CAAC,MAAM,SAAS,UAAU,EAC/B,KAAK,CAAC,MAAM,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAE9C,UAAU,EAAE,4BAA4B,CACtC,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,MAAM,EACN,MAAM,CACP,GAAG,eAAe,CACjB,MAAM,EACN,MAAM,EACN,8DAA8D,CAC/D,GAAG,mBAAmB,CAAC,MAAM,EAAE,+DAA+D,CAAC,GAC/F,YAAY,CAAC;AAkChB,wBAAgB,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,gBAAgB,CA+F/E;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc,CA4EzF;AAqCD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,0BAA0B,GAAG,gBAAgB,CAiI/F;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,SAAS,EACnD,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,GACjC,cAAc,CA6FhB;AAcD,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,GAAG,SAAS,EAC5D,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,sBAAsB,CAAC,CA6CjC;AA2kBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CA6sBxE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACvC;;;GAGG;AACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,CAKf;AA8MD,wBAAsB,aAAa,CACjC,GAAG,EAAE,eAAe,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA4ChC"}
package/dist/index.js CHANGED
@@ -11,6 +11,7 @@ import { isAbsolute, join } from "node:path";
11
11
  import { fileURLToPath, pathToFileURL } from "node:url";
12
12
  import { z } from "zod";
13
13
  import { createMcpEventRuntime, McpEventInputError } from "./events.js";
14
+ import { createResourceInventory, ResourceInventoryCursorError } from "./resource-inventory.js";
14
15
  import { installObservability, observabilityState, } from "./telemetry.js";
15
16
  export { openTelemetry, structuredLogging, } from "./telemetry.js";
16
17
  export * from "./ui.js";
@@ -62,6 +63,7 @@ const RESOURCE_MATCHES = Symbol("resourceMatches");
62
63
  const RESOURCE_ROUTE = Symbol("resourceRoute");
63
64
  const RESOURCE_LISTING = Symbol("resourceListing");
64
65
  const RESOURCE_ACCESS = Symbol("resourceAccess");
66
+ const RESOURCE_INVENTORY = Symbol("resourceInventory");
65
67
  const PROMPT_NAME = Symbol("promptName");
66
68
  const PROMPT_ACCESS = Symbol("promptAccess");
67
69
  const HAS_COMPLETION = Symbol("hasCompletion");
@@ -418,6 +420,10 @@ export function defineResourceTemplate(definition) {
418
420
  const { name, handler } = definition;
419
421
  assertRegistrationName("Resource template", name);
420
422
  const access = normalizeCapabilityAccess("Resource template", definition.access, definition.requiredScopes);
423
+ const inventory = definition.list;
424
+ if (inventory !== undefined && (typeof inventory !== "function" || access === "public" || definition.discoverable === false)) {
425
+ throw new TypeError("Resource inventory listing requires a discoverable protected template and a callback");
426
+ }
421
427
  const { template, route } = checkedResourceTemplate(definition.uriTemplate);
422
428
  const uriTemplate = template.uriTemplate.toString();
423
429
  const listing = checkedProtocolValue("ResourceTemplate", {
@@ -447,6 +453,7 @@ export function defineResourceTemplate(definition) {
447
453
  [DISCOVERABLE]: normalizeDiscoverable("Resource template", definition.discoverable),
448
454
  [RESOURCE_NAME]: name,
449
455
  [RESOURCE_URI]: uriTemplate,
456
+ ...(inventory ? { [RESOURCE_INVENTORY]: inventory } : {}),
450
457
  [RESOURCE_KIND]: "template",
451
458
  [RESOURCE_ACCESS]: access,
452
459
  [RESOURCE_MATCHES]: (uri) => template.uriTemplate.match(uri) !== null,
@@ -1181,6 +1188,23 @@ export function createEmseepea(options) {
1181
1188
  .filter((resource) => resource[RESOURCE_KIND] === "static")
1182
1189
  .map((resource) => [resource[RESOURCE_URI], resource]));
1183
1190
  const resourceTemplates = resources.filter((resource) => resource[RESOURCE_KIND] === "template");
1191
+ const inventorySources = resourceTemplates.filter((resource) => resource[RESOURCE_INVENTORY]).map((resource) => {
1192
+ const access = resource[RESOURCE_ACCESS];
1193
+ if (access === "public")
1194
+ throw new TypeError("Resource inventory requires protected access");
1195
+ return Object.freeze({ name: resource[RESOURCE_NAME], uriTemplate: resource[RESOURCE_URI],
1196
+ requiredScopes: Object.freeze([...access.requiredScopes]), matches: resource[RESOURCE_MATCHES],
1197
+ list: resource[RESOURCE_INVENTORY], });
1198
+ });
1199
+ const inventoryBounds = paginationOptions ?? { pageSize: 50, maxPageBytes: maxApplicationResultBytes };
1200
+ const resourceInventory = inventorySources.length ? createResourceInventory({
1201
+ sources: inventorySources,
1202
+ serverInfo,
1203
+ catalogue: resources.map((resource) => [resource[RESOURCE_LISTING], resource[RESOURCE_ACCESS]]),
1204
+ ...inventoryBounds,
1205
+ maxPageBytes: Math.min(inventoryBounds.maxPageBytes, maxApplicationResultBytes),
1206
+ maxBackendBytes: maxApplicationResultBytes,
1207
+ }) : undefined;
1184
1208
  const promptsByName = new Map(prompts.map((prompt) => [prompt[PROMPT_NAME], prompt]));
1185
1209
  const enabledMethods = new Set(["server/discover"]);
1186
1210
  if (eventRuntime)
@@ -1250,7 +1274,8 @@ export function createEmseepea(options) {
1250
1274
  ...(activeClientLogging ? { logging: {} } : {}),
1251
1275
  },
1252
1276
  instructions: options.instructions,
1253
- cacheHints: request?.filterCatalogues || request?.legacy ? undefined : cacheHints,
1277
+ cacheHints: request?.filterCatalogues || request?.legacy ? undefined : resourceInventory
1278
+ ? { ...cacheHints, "resources/list": { ttlMs: 0, cacheScope: "private" } } : cacheHints,
1254
1279
  supportedProtocolVersions: [...SUPPORTED_PROTOCOLS],
1255
1280
  ...(requestState && !request?.legacy ? { requestState: { verify: requestState.verify } } : {}),
1256
1281
  });
@@ -1277,6 +1302,28 @@ export function createEmseepea(options) {
1277
1302
  : basePagination;
1278
1303
  if (pagination)
1279
1304
  installListPagination(server, pagination);
1305
+ if (resourceInventory && activeResources.length)
1306
+ server.server.setRequestHandler("resources/list", async (input, context) => {
1307
+ const operation = requestOperations.getStore();
1308
+ const principal = operation?.principal;
1309
+ if (!principal)
1310
+ throw new ProtocolError(ProtocolErrorCode.InvalidParams, "Resource inventory unavailable");
1311
+ const deadlineMs = operation?.deadlineMs ?? Date.now() + operationTimeoutMs;
1312
+ try {
1313
+ const result = await runWithDeadline(AbortSignal.any([
1314
+ context.mcpReq.signal, operation.signal, stopping.signal,
1315
+ ]), deadlineMs, (signal) => resourceInventory(input.params?.cursor, discoverableResources.filter((resource) => resource[RESOURCE_KIND] === "static" &&
1316
+ accessAllows(resource[RESOURCE_ACCESS], principal)).map((resource) => resource[RESOURCE_LISTING].value), Object.freeze({ principal, signal, deadlineMs })));
1317
+ assertResultSize(result, Math.min(inventoryBounds.maxPageBytes, maxApplicationResultBytes), deadlineMs, operation.signal);
1318
+ return result;
1319
+ }
1320
+ catch (error) {
1321
+ markCurrentProtocolOutcome("protocol_error");
1322
+ if (error instanceof ResourceInventoryCursorError)
1323
+ throw error;
1324
+ throw new ProtocolError(ProtocolErrorCode.InternalError, "Resource inventory listing failed");
1325
+ }
1326
+ });
1280
1327
  return server;
1281
1328
  }, {
1282
1329
  onerror: () => markCurrentProtocolOutcome("protocol_error"),
@@ -1437,6 +1484,9 @@ export function createEmseepea(options) {
1437
1484
  return;
1438
1485
  }
1439
1486
  const protectsCatalogue = authentication?.discovery === "protected";
1487
+ const inventoryRequest = Boolean(resourceInventory) && isRecord(request.body) && request.body.method === "resources/list";
1488
+ if (inventoryRequest)
1489
+ reply.raw.setHeader("cache-control", "private, no-store");
1440
1490
  let subscriptionTarget;
1441
1491
  if (!legacy && isRecord(request.body) && request.body.method === "subscriptions/listen") {
1442
1492
  try {
@@ -1456,14 +1506,14 @@ export function createEmseepea(options) {
1456
1506
  markObservabilityProtocolError(request);
1457
1507
  }
1458
1508
  let authInfo;
1459
- if (authentication && (eventMethod || protectsCatalogue || access && access !== "public")) {
1509
+ if (authentication && (inventoryRequest || eventMethod || protectsCatalogue || access && access !== "public")) {
1460
1510
  try {
1461
- authInfo = await verifyAuthenticatedRequest(request, reply, eventMethod || protectsCatalogue ? [] : access.requiredScopes, authentication);
1511
+ authInfo = await verifyAuthenticatedRequest(request, reply, inventoryRequest || eventMethod || protectsCatalogue ? [] : access.requiredScopes, authentication);
1462
1512
  request.raw.auth = authInfo;
1463
1513
  }
1464
1514
  catch (error) {
1465
1515
  await sendWebResponse(reply, bearerAuthChallengeResponse(safeOAuthError(error), {
1466
- requiredScopes: eventMethod || protectsCatalogue
1516
+ requiredScopes: inventoryRequest || eventMethod || protectsCatalogue
1467
1517
  ? []
1468
1518
  : [...access.requiredScopes],
1469
1519
  resourceMetadataUrl: authentication.resourceMetadataUrl,
@@ -1472,6 +1522,13 @@ export function createEmseepea(options) {
1472
1522
  }
1473
1523
  }
1474
1524
  const principal = authInfo ? principalFrom(authInfo) : undefined;
1525
+ if (inventoryRequest && !inventorySources.some((source) => principal &&
1526
+ source.requiredScopes.every((scope) => principal.permissions.includes(scope)))) {
1527
+ await sendWebResponse(reply, bearerAuthChallengeResponse(new OAuthError(OAuthErrorCode.InsufficientScope, "Insufficient scope"), {
1528
+ requiredScopes: [], resourceMetadataUrl: authentication.resourceMetadataUrl,
1529
+ }));
1530
+ return;
1531
+ }
1475
1532
  if (protectsCatalogue)
1476
1533
  reply.raw.setHeader("cache-control", "private, no-store");
1477
1534
  if (protectsCatalogue && isCapabilityInvocation(request.body) &&
@@ -1803,9 +1860,15 @@ function principalFrom(authInfo) {
1803
1860
  if (!Array.isArray(authInfo.scopes) || authInfo.scopes.some((scope) => typeof scope !== "string" || !/^[\x21\x23-\x5B\x5D-\x7E]+$/.test(scope)) || new Set(authInfo.scopes).size !== authInfo.scopes.length) {
1804
1861
  throw new TypeError("Authentication verifier returned invalid permissions");
1805
1862
  }
1863
+ const subject = authInfo.extra?.subject;
1864
+ // oxlint-disable-next-line no-control-regex -- Reject untrusted identity control characters.
1865
+ if (subject !== undefined && (typeof subject !== "string" || !subject.trim() || subject.length > 256 || /[\x00-\x1f\x7f]/.test(subject))) {
1866
+ throw new TypeError("Authentication verifier returned an invalid subject");
1867
+ }
1806
1868
  const permissions = Object.freeze([...authInfo.scopes]);
1807
1869
  return Object.freeze({
1808
1870
  clientId: authInfo.clientId,
1871
+ ...(subject === undefined ? {} : { subject: subject }),
1809
1872
  permissions,
1810
1873
  resource: authInfo.resource?.href,
1811
1874
  });
@@ -2461,14 +2524,27 @@ function promptArguments(schema) {
2461
2524
  })));
2462
2525
  }
2463
2526
  function sdkMetadataSchema(schema) {
2527
+ // The declaration is captured once, but the SDK reads metadata again for
2528
+ // subsequent registrations and requests. Keep output lazy: an input
2529
+ // transform can be valid even when it has no representable output schema.
2530
+ const documents = new Map();
2531
+ const document = (io) => {
2532
+ let captured = documents.get(io);
2533
+ if (!captured) {
2534
+ captured = deepFreeze(structuredClone(jsonMetadataSchema(schema, io)));
2535
+ documents.set(io, captured);
2536
+ }
2537
+ return captured;
2538
+ };
2539
+ document("input");
2464
2540
  return {
2465
2541
  "~standard": {
2466
2542
  version: 1,
2467
2543
  vendor: "emseepea",
2468
2544
  validate: (value) => ({ value }),
2469
2545
  jsonSchema: {
2470
- input: () => jsonMetadataSchema(schema, "input"),
2471
- output: () => jsonMetadataSchema(schema, "output"),
2546
+ input: () => document("input"),
2547
+ output: () => document("output"),
2472
2548
  },
2473
2549
  },
2474
2550
  };