@cyanheads/mcp-ts-core 0.8.20 → 0.9.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.
Files changed (123) hide show
  1. package/CLAUDE.md +21 -13
  2. package/README.md +45 -9
  3. package/biome.json +1 -1
  4. package/changelog/0.9.x/0.9.0.md +80 -0
  5. package/changelog/0.9.x/0.9.1.md +41 -0
  6. package/changelog/template.md +1 -1
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +1 -1
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/core/app.d.ts +11 -2
  11. package/dist/core/app.d.ts.map +1 -1
  12. package/dist/core/app.js +6 -19
  13. package/dist/core/app.js.map +1 -1
  14. package/dist/core/context.d.ts +6 -0
  15. package/dist/core/context.d.ts.map +1 -1
  16. package/dist/core/context.js +2 -0
  17. package/dist/core/context.js.map +1 -1
  18. package/dist/core/worker.d.ts +17 -2
  19. package/dist/core/worker.d.ts.map +1 -1
  20. package/dist/core/worker.js +6 -2
  21. package/dist/core/worker.js.map +1 -1
  22. package/dist/linter/rules/index.d.ts +1 -0
  23. package/dist/linter/rules/index.d.ts.map +1 -1
  24. package/dist/linter/rules/index.js +1 -0
  25. package/dist/linter/rules/index.js.map +1 -1
  26. package/dist/linter/rules/portability-rules.d.ts +49 -0
  27. package/dist/linter/rules/portability-rules.d.ts.map +1 -0
  28. package/dist/linter/rules/portability-rules.js +209 -0
  29. package/dist/linter/rules/portability-rules.js.map +1 -0
  30. package/dist/linter/rules/prompt-rules.d.ts +2 -1
  31. package/dist/linter/rules/prompt-rules.d.ts.map +1 -1
  32. package/dist/linter/rules/prompt-rules.js +7 -2
  33. package/dist/linter/rules/prompt-rules.js.map +1 -1
  34. package/dist/linter/rules/resource-rules.d.ts +2 -1
  35. package/dist/linter/rules/resource-rules.d.ts.map +1 -1
  36. package/dist/linter/rules/resource-rules.js +12 -3
  37. package/dist/linter/rules/resource-rules.js.map +1 -1
  38. package/dist/linter/rules/schema-rules.d.ts +2 -0
  39. package/dist/linter/rules/schema-rules.d.ts.map +1 -1
  40. package/dist/linter/rules/schema-rules.js +1 -1
  41. package/dist/linter/rules/schema-rules.js.map +1 -1
  42. package/dist/linter/rules/tool-rules.d.ts +2 -1
  43. package/dist/linter/rules/tool-rules.d.ts.map +1 -1
  44. package/dist/linter/rules/tool-rules.js +12 -3
  45. package/dist/linter/rules/tool-rules.js.map +1 -1
  46. package/dist/linter/types.d.ts +15 -0
  47. package/dist/linter/types.d.ts.map +1 -1
  48. package/dist/linter/validate.d.ts.map +1 -1
  49. package/dist/linter/validate.js +22 -3
  50. package/dist/linter/validate.js.map +1 -1
  51. package/dist/logs/combined.log +7 -7
  52. package/dist/logs/error.log +5 -5
  53. package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
  54. package/dist/mcp-server/resources/resource-registration.js +2 -0
  55. package/dist/mcp-server/resources/resource-registration.js.map +1 -1
  56. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +2 -0
  57. package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
  58. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +2 -0
  59. package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
  60. package/dist/mcp-server/server.d.ts +15 -0
  61. package/dist/mcp-server/server.d.ts.map +1 -1
  62. package/dist/mcp-server/server.js +12 -7
  63. package/dist/mcp-server/server.js.map +1 -1
  64. package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
  65. package/dist/mcp-server/tools/tool-registration.js +4 -0
  66. package/dist/mcp-server/tools/tool-registration.js.map +1 -1
  67. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +2 -0
  68. package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
  69. package/dist/mcp-server/tools/utils/toolHandlerFactory.js +2 -0
  70. package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
  71. package/dist/mcp-server/transports/http/httpServer.d.ts +22 -0
  72. package/dist/mcp-server/transports/http/httpServer.d.ts.map +1 -0
  73. package/dist/mcp-server/transports/http/httpServer.js +121 -0
  74. package/dist/mcp-server/transports/http/httpServer.js.map +1 -0
  75. package/dist/mcp-server/transports/http/httpTransport.d.ts +5 -14
  76. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  77. package/dist/mcp-server/transports/http/httpTransport.js +15 -114
  78. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  79. package/dist/mcp-server/transports/manager.js +1 -1
  80. package/dist/mcp-server/transports/manager.js.map +1 -1
  81. package/dist/storage/core/storageValidation.js +2 -2
  82. package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts.map +1 -1
  83. package/dist/storage/providers/fileSystem/fileSystemProvider.js +15 -10
  84. package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -1
  85. package/dist/testing/index.d.ts +4 -0
  86. package/dist/testing/index.d.ts.map +1 -1
  87. package/dist/testing/index.js +2 -0
  88. package/dist/testing/index.js.map +1 -1
  89. package/dist/utils/internal/logger.d.ts.map +1 -1
  90. package/dist/utils/internal/logger.js +25 -10
  91. package/dist/utils/internal/logger.js.map +1 -1
  92. package/dist/utils/internal/runtime.d.ts +18 -2
  93. package/dist/utils/internal/runtime.d.ts.map +1 -1
  94. package/dist/utils/internal/runtime.js +18 -3
  95. package/dist/utils/internal/runtime.js.map +1 -1
  96. package/dist/utils/network/fetchWithTimeout.d.ts +19 -16
  97. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  98. package/dist/utils/network/fetchWithTimeout.js +66 -32
  99. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  100. package/dist/utils/scheduling/scheduler.js +1 -1
  101. package/dist/utils/scheduling/scheduler.js.map +1 -1
  102. package/dist/utils/security/rateLimiter.d.ts.map +1 -1
  103. package/dist/utils/security/rateLimiter.js +4 -1
  104. package/dist/utils/security/rateLimiter.js.map +1 -1
  105. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -1
  106. package/dist/utils/telemetry/instrumentation.js +10 -7
  107. package/dist/utils/telemetry/instrumentation.js.map +1 -1
  108. package/package.json +27 -26
  109. package/scripts/build-changelog.ts +3 -3
  110. package/scripts/devcheck.ts +8 -4
  111. package/skills/add-tool/SKILL.md +17 -1
  112. package/skills/api-errors/SKILL.md +7 -1
  113. package/skills/api-linter/SKILL.md +75 -1
  114. package/skills/api-workers/SKILL.md +15 -1
  115. package/skills/design-mcp-server/SKILL.md +2 -1
  116. package/skills/field-test/SKILL.md +2 -1
  117. package/skills/polish-docs-meta/SKILL.md +2 -2
  118. package/skills/polish-docs-meta/references/readme.md +1 -1
  119. package/skills/tool-defs-analysis/SKILL.md +19 -3
  120. package/templates/AGENTS.md +9 -9
  121. package/templates/CLAUDE.md +9 -9
  122. package/templates/changelog/template.md +1 -1
  123. package/templates/src/index.ts +3 -0
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Package:** `@cyanheads/mcp-ts-core`
4
- **Version:** 0.8.20
4
+ **Version:** 0.9.1
5
5
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
6
6
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
7
7
  **Zod:** ^4.4.3
@@ -22,19 +22,19 @@ This package serves two consumer paths. When making changes, know which audience
22
22
  | **Direct package import** — existing project pulls in the package | `bun add @cyanheads/mcp-ts-core` → `import { createApp, tool, z } from '@cyanheads/mcp-ts-core'` | Public API surface (`src/`) — existing consumers feel changes immediately on upgrade |
23
23
  | **Init-scaffolded server** — fresh project bootstrapped from this repo's templates | `bunx @cyanheads/mcp-ts-core init [name]` copies `templates/` into the new directory | `templates/` — only affects newly scaffolded servers, not existing ones |
24
24
 
25
- Both paths end up consuming the same public API. The init script bootstraps the project structure: starter `package.json`, `tsconfig`, `biome.json`, `vitest.config.ts`, `.env.example`, `Dockerfile`, `CLAUDE.md`/`AGENTS.md`, and example tool/resource/prompt definitions. Files in `templates/` prefixed with `_` (e.g. `_.gitignore`, `_tsconfig.json`) have the prefix stripped on copy. After init, agents should consult the `setup` skill.
25
+ Both paths share the same public API. Init copies starter `package.json`, configs (`tsconfig`, `biome.json`, `vitest.config.ts`), `.env.example`, `Dockerfile`, `CLAUDE.md`/`AGENTS.md`, and example definitions. `_`-prefixed files (e.g. `_.gitignore`) drop the prefix on copy. After init, consult the `setup` skill.
26
26
 
27
27
  ---
28
28
 
29
29
  ## Core Rules
30
30
 
31
- - **Logic throws, framework catches.** Pure, stateless `handler` functions. No `try...catch`. Throw on failure — plain `Error` is fine; the framework catches, classifies, and formats. Use `McpError(code, message, data, options?)` only when you need a specific JSON-RPC error code or structured data payload. The optional 4th arg accepts `{ cause }` for error chaining.
31
+ - **Logic throws, framework catches.** Pure, stateless `handler` functions, no `try/catch`. Plain `Error` works framework catches, classifies, formats. Use `McpError(code, message, data, options?)` only when you need a specific JSON-RPC code or structured data; 4th arg `{ cause }` chains.
32
32
  - **Full-stack observability.** The framework automatically instruments every tool/resource call — OTel span, duration/payload/memory metrics, structured completion log. Use `ctx.log` for additional domain-specific logging within handlers (external API calls, multi-step operations, business events). `requestId`, `traceId`, `tenantId` auto-correlated. No `console` calls.
33
33
  - **Unified Context.** Handlers receive `ctx` with logging (`ctx.log`), tenant-scoped storage (`ctx.state`), optional protocol capabilities (`ctx.elicit`, `ctx.sample`), and cancellation (`ctx.signal`).
34
34
  - **Decoupled storage.** `ctx.state` for tenant-scoped KV. Never access persistence backends directly.
35
35
  - **Canvas tokens are capabilities, not tenant-scoped state.** A `canvasId` is a 10-char URL-safe token; possession grants full read/write/drop on that canvas. Tokens are designed to be shareable — between agents in one session, and across users in single-tenant deployments (see tenant resolution table under `ctx.state`). Tools should accept the token in `input` (or omit to create fresh) and return it in `output`; collaboration is opt-in via explicit token exchange.
36
36
  - **Runtime parity.** All features work with `stdio`/`http` and Worker bundle. Guard non-portable deps via `runtimeCaps` from `@cyanheads/mcp-ts-core/utils` — a frozen capability object (`isNode`, `isBun`, `isWorkerLike`, `hasBuffer`, `hasProcess`, etc.) computed once at module load. Prefer runtime-agnostic abstractions (Hono + `@hono/mcp`, Fetch APIs).
37
- - **Startup validation.** `createApp()` runs the definition linter before proceeding — errors (spec violations) throw `ConfigurationError` and block startup; warnings are logged. Also available standalone via `bun run lint:mcp` and as a devcheck step. Every diagnostic links to the rule reference in `api-linter` skill; see that skill for the full rule catalog.
37
+ - **Definition linting is build-time only.** Run `bun run lint:mcp` (standalone) or `bun run devcheck` (gate). Not invoked at server startup new lint rules are additive and never break deployed servers. Every diagnostic links to the rule reference in `api-linter` skill; see that skill for the full rule catalog.
38
38
  - **Elicitation for missing input.** Use `ctx.elicit` when the client supports it.
39
39
 
40
40
  ---
@@ -94,6 +94,9 @@ await createApp({
94
94
  tools: allToolDefinitions,
95
95
  resources: allResourceDefinitions,
96
96
  prompts: allPromptDefinitions,
97
+ instructions: // server-level orientation, sent on every initialize
98
+ 'Pre-configured shortcuts:\n- `default` → production API\n' +
99
+ 'Other endpoints reachable via `connect({ baseUrl })`.',
97
100
  extensions: { // SEP-2133 extensions advertised in capabilities
98
101
  'vendor/my-extension': { /* extension config */ },
99
102
  },
@@ -103,6 +106,8 @@ await createApp({
103
106
  });
104
107
  ```
105
108
 
109
+ **`instructions`** — Optional server-level orientation text. Surfaces on every `initialize` response so spec-compliant clients can forward it to the model as session-level system context. Use for deployment-specific guidance (configured connection aliases, regional notes, scope hints, shortcuts) instead of leaking that text into every tool description. Client adoption is uneven, but clients that ignore the field are no worse off than they are today — strict improvement when set.
110
+
106
111
  ### Cloudflare Workers — `createWorkerHandler(options)`
107
112
 
108
113
  ```ts
@@ -112,6 +117,7 @@ export default createWorkerHandler({
112
117
  tools: allToolDefinitions,
113
118
  resources: allResourceDefinitions,
114
119
  prompts: allPromptDefinitions,
120
+ instructions: (env) => `Region: ${env.ENVIRONMENT ?? 'production'}`, // string | (env) => string
115
121
  setup(core) { initMyService(core.config, core.storage); },
116
122
  extraEnvBindings: [['MY_API_KEY', 'MY_API_KEY']], // string values → process.env
117
123
  extraObjectBindings: [['MY_CUSTOM_KV', 'MY_CUSTOM_KV']], // KV/R2/D1 → globalThis
@@ -119,6 +125,8 @@ export default createWorkerHandler({
119
125
  });
120
126
  ```
121
127
 
128
+ `instructions` on the Worker handler accepts either a plain string or a `(env) => string` resolver so deployment env (injected at request time) can shape the text.
129
+
122
130
  Per-request `McpServer` factory (security: SDK GHSA-345p-7cg4-v4c7). Requires `compatibility_flags = ["nodejs_compat"]` and `compatibility_date >= "2025-09-01"` in `wrangler.toml`. Only `in-memory`, `cloudflare-r2`, `cloudflare-kv`, `cloudflare-d1` storage in Workers. See `api-workers` skill for full details.
123
131
 
124
132
  ### Interfaces
@@ -374,7 +382,7 @@ See `api-context` skill for full details.
374
382
 
375
383
  ## Error Handling
376
384
 
377
- **Recommended path: declare a typed error contract.** Add `errors: [{ reason, code, when, recovery, retryable? }]` to `tool()` / `resource()`. The handler then receives `ctx.fail(reason, msg?, data?)` typed against the reason union — `ctx.fail('typo')` is a TypeScript error. The runtime auto-populates `data.reason` for observability and the linter enforces conformance against the handler body. The `recovery` field is required (≥5 words, lint-validated) — it's the single source of truth for the recovery hint that flows to the wire. Spread `ctx.recoveryFor('reason')` into `data` to opt the contract recovery onto the wire (the framework mirrors `data.recovery.hint` into `content[]` text). Override with explicit `{ recovery: { hint: '...' } }` when runtime context matters.
385
+ **Recommended path: declare a typed error contract.** Add `errors: [{ reason, code, when, recovery, retryable? }]` to `tool()` / `resource()`. Handler gets `ctx.fail(reason, msg?, data?)` typed against the reason union — typos fail at compile time. Runtime auto-populates `data.reason` for observability; linter enforces conformance against the handler body. `recovery` is required (≥5 words, lint-validated) — the single source of truth for the wire hint. Spread `ctx.recoveryFor('reason')` into `data` to opt the contract recovery onto the wire (framework mirrors `data.recovery.hint` into `content[]` text); override with explicit `{ recovery: { hint: '...' } }` when runtime context matters.
378
386
 
379
387
  ```ts
380
388
  errors: [
@@ -396,9 +404,9 @@ async handler(input, ctx) {
396
404
  }
397
405
  ```
398
406
 
399
- **`ctx.recoveryFor(reason)`** is the first member of a planned family of opt-in resolution helpers (future: `troubleshootingFor`, `userMessageFor`, …). Always present on `Context` (returns `{}` when no contract is attached or the reason is unknown spread-safe), strictly typed on `HandlerContext<R>` against the declared reason union. The same resolver works in services that accept `ctx`: `throw validationError(msg, { reason: 'X', ...ctx.recoveryFor('X') })`. No auto-population — author opts in by typing the helper.
407
+ **`ctx.recoveryFor(reason)`** always present on `Context`, returns `{}` when no contract is attached or the reason is unknown (spread-safe). Strictly typed on `HandlerContext<R>` against the declared reason union. Works in services accepting `ctx`: `throw validationError(msg, { reason: 'X', ...ctx.recoveryFor('X') })`. No auto-population — author opts in by typing the helper.
400
408
 
401
- **Declare contracts inline on each tool, even when they look similar across tools.** The contract is part of the tool's documented public surface — reading one tool definition file should give the full picture (input, output, errors, handler, format). Don't extract a shared `errors[]` constant or contract module to deduplicate; per-tool repetition is the intended cost of locality, and dynamic `recovery` hints often need tool-specific context anyway.
409
+ **Declare contracts inline on each tool.** The contract is part of the tool's public surface — one file should give the full picture (input, output, errors, handler, format). Don't extract a shared `errors[]` constant; per-tool repetition is the intended cost of locality, and dynamic `recovery` hints need tool-specific context.
402
410
 
403
411
  The contract describes the **public failure surface** — declare domain-specific failures only. **Baseline codes** (`InternalError`, `ServiceUnavailable`, `Timeout`, `ValidationError`, `SerializationError`) bubble from anywhere and are auto-allowed by the conformance lint, so you don't need to enumerate them per-tool. The conformance lint scans handler source text only — failures thrown from called services aren't visible to it (still reach the client correctly via the auto-classifier, just without lint enforcement).
404
412
 
@@ -416,7 +424,7 @@ For HTTP responses from upstream APIs, use `httpErrorFromResponse(response, { se
416
424
 
417
425
  **Auto-classification.** Plain `Error`, `ZodError`, and any other thrown value are caught and classified automatically. Resolution order: `McpError` code (preserved as-is) → JS constructor name (`TypeError` → `ValidationError`) → provider patterns (HTTP status codes, AWS errors, DB errors) → common message patterns → `AbortError` name → `InternalError` fallback.
418
426
 
419
- **Error-path parity.** Tool errors apply the same client-surface parity as success: `content[]` carries a markdown rendering with `data.recovery.hint` mirrored in, `structuredContent.error` carries `{ code, message, data? }`. `_meta.error` is not emitted. Resources re-throw to the SDK and route through the JSON-RPC error envelope (no parity wiring there).
427
+ **Error-path parity.** Tool errors apply the same parity as success: `content[]` carries markdown with `data.recovery.hint` mirrored in; `structuredContent.error` carries `{ code, message, data? }`. No `_meta.error`. Resources re-throw to the SDK via JSON-RPC error envelope (no parity wiring).
420
428
 
421
429
  The startup linter checks handler bodies for `prefer-mcp-error-in-handler`, `prefer-error-factory`, `preserve-cause-on-rethrow`, `no-stringify-upstream-error`, plus contract conformance (`error-contract-conformance` for undeclared non-baseline codes, `error-contract-prefer-fail` for declared codes thrown directly instead of via `ctx.fail`) — all warnings, surfaced in `bun run devcheck`.
422
430
 
@@ -439,7 +447,7 @@ Pick one convention per server and stay consistent. Verbs are typically `read`,
439
447
 
440
448
  **Modes** (`MCP_AUTH_MODE`): `none` (default) | `jwt` (local secret via `MCP_AUTH_SECRET_KEY`) | `oauth` (JWKS via `OAUTH_ISSUER_URL`, `OAUTH_AUDIENCE`). See `api-auth` skill for claims, CORS, and detailed config.
441
449
 
442
- **Granted scopes** are unioned from `scp`, `scope`, and `mcp_tool_scopes` JWT claims. The `mcp_tool_scopes` custom claim is the supported escape hatch for OIDC providers (Authentik, Keycloak < 26.5, Zitadel) that ignore property mappings overriding `scope` in `authorization_code` flow. For deployments where no custom claim can be injected, `MCP_AUTH_DISABLE_SCOPE_CHECKS=true` bypasses both `withRequiredScopes` and `checkScopes` after the auth-context presence check (signature/audience/issuer/expiry validation intact). A `WARNING` is logged at startup whenever the bypass is active.
450
+ **Granted scopes** union `scp`, `scope`, and `mcp_tool_scopes` JWT claims. `mcp_tool_scopes` is the escape hatch for OIDC providers (Authentik, Keycloak < 26.5, Zitadel) that ignore property mappings overriding `scope` in `authorization_code` flow. When no custom claim can be injected, `MCP_AUTH_DISABLE_SCOPE_CHECKS=true` bypasses both `withRequiredScopes` and `checkScopes` after auth-context presence check (signature/audience/issuer/expiry intact). Startup logs `WARNING` when active.
443
451
 
444
452
  ---
445
453
 
@@ -459,7 +467,7 @@ Managed by `@cyanheads/mcp-ts-core`. Validated via Zod. Precedence: `createApp()
459
467
 
460
468
  ### Server config (separate schema)
461
469
 
462
- Own Zod schema for domain-specific env vars. **Never merge with core's schema.** Lazy-parse — do not eagerly parse `process.env` at top-level (Workers inject env at request time via `injectEnvVars()`). Prefer `parseEnvConfig(schema, envMap)` from `/config` over `schema.parse(...)` — it maps schema paths to env var names so errors say `MY_API_KEY is missing` instead of `apiKey: expected string`. Raw `ZodError` thrown from `setup()` is still caught and converted by the framework, but `parseEnvConfig` produces better messages. See `api-config` skill for example.
470
+ Own Zod schema for domain-specific env vars. **Never merge with core's schema.** Lazy-parse — Workers inject env at request time via `injectEnvVars()`, so no top-level `process.env` reads. Prefer `parseEnvConfig(schema, envMap)` from `/config` over `schema.parse(...)` — it maps schema paths to env var names (`MY_API_KEY is missing` vs. `apiKey: expected string`). Raw `ZodError` from `setup()` is still caught and converted, but messages are worse. See `api-config` skill.
463
471
 
464
472
  ---
465
473
 
@@ -597,7 +605,7 @@ At release time, author the per-version file with a concrete version and date, t
597
605
 
598
606
  ```markdown
599
607
  ---
600
- summary: "One-line headline, ≤250 chars, no markdown" # required
608
+ summary: "One-line headline, ≤350 chars, no markdown" # required
601
609
  breaking: false # optional, default false
602
610
  security: false # optional, default false
603
611
  ---
@@ -613,11 +621,11 @@ security: false # optional, default fals
613
621
 
614
622
  | Field | Required | Purpose |
615
623
  |:------|:---------|:--------|
616
- | `summary` | yes | Rollup index line. ≤250 chars, no markdown, single line. Write like a GitHub Release title. |
624
+ | `summary` | yes | Rollup index line. ≤350 chars, no markdown, single line. Write like a GitHub Release title. |
617
625
  | `breaking` | no (default `false`) | Flags releases with breaking changes. Renders as `· ⚠️ Breaking` badge in the rollup. Agents running the `maintenance` skill read this to prioritize review. |
618
626
  | `security` | no (default `false`) | Flags releases with security fixes. Renders as `· 🛡️ Security` badge in the rollup so users can triage upgrade urgency. Pairs with the `## Security` body section. |
619
627
 
620
- When both flags are set, badges render in fixed order: `· ⚠️ Breaking · 🛡️ Security`. Summary > 250 chars or a malformed boolean fails `changelog:check`. Missing `summary` emits a warning and renders the rollup entry as header-only.
628
+ When both flags are set, badges render in fixed order: `· ⚠️ Breaking · 🛡️ Security`. Summary > 350 chars or a malformed boolean fails `changelog:check`. Missing `summary` emits a warning and renders the rollup entry as header-only.
621
629
 
622
630
  **Section order** (Keep a Changelog): Added, Changed, Deprecated, Removed, Fixed, Security. Include only sections with entries — don't ship empty headers.
623
631
 
package/README.md CHANGED
@@ -5,9 +5,9 @@
5
5
 
6
6
  <div align="center">
7
7
 
8
- [![Version](https://img.shields.io/badge/Version-0.8.18-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP Spec](https://img.shields.io/badge/MCP%20Spec-2025--11--25-8A2BE2.svg?style=flat-square)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-11-25/changelog.mdx) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE)
8
+ [![Version](https://img.shields.io/badge/Version-0.9.1-blue.svg?style=flat-square)](./CHANGELOG.md) [![MCP Spec](https://img.shields.io/badge/MCP%20Spec-2025--11--25-8A2BE2.svg?style=flat-square)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-11-25/changelog.mdx) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE)
9
9
 
10
- [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.3-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -31,9 +31,18 @@ const greet = tool('greet', {
31
31
  output: z.object({
32
32
  message: z.string().describe('The greeting message'),
33
33
  }),
34
- handler: async (input) => ({
35
- message: `Hello, ${input.name}!`,
36
- }),
34
+ errors: [
35
+ {
36
+ reason: 'name_blocked',
37
+ code: JsonRpcErrorCode.Forbidden,
38
+ when: 'The provided name is on the configured block list.',
39
+ recovery: 'Use a different name.',
40
+ },
41
+ ],
42
+ handler: async (input, ctx) => {
43
+ if (isBlocked(input.name)) throw ctx.fail('name_blocked', `"${input.name}" is blocked`);
44
+ return { message: `Hello, ${input.name}!` };
45
+ },
37
46
  });
38
47
 
39
48
  await createApp({ tools: [greet] });
@@ -92,6 +101,32 @@ export const itemData = resource('items://{itemId}', {
92
101
  });
93
102
  ```
94
103
 
104
+ And contracts for failure modes — typed at compile time, surfaced to clients with recovery hints the model can act on:
105
+
106
+ ```ts
107
+ import { tool, z } from '@cyanheads/mcp-ts-core';
108
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
109
+
110
+ export const search = tool('search', {
111
+ // ...input, output as above
112
+ errors: [
113
+ {
114
+ reason: 'no_match',
115
+ code: JsonRpcErrorCode.NotFound,
116
+ when: 'The query returned zero items from the upstream index.',
117
+ recovery: 'Broaden the query — close matches by edit distance are in `data.suggestions`.',
118
+ },
119
+ ],
120
+ async handler(input, ctx) {
121
+ const { items, suggestions } = await doSearch(input.query, input.limit);
122
+ if (items.length === 0) throw ctx.fail('no_match', `No matches for "${input.query}"`, { suggestions });
123
+ return { items };
124
+ },
125
+ });
126
+ ```
127
+
128
+ The linter cross-checks `errors[]` against the handler body, contracts publish in `tools/list` so clients can preview failure modes, and `data.recovery.hint` mirrors into the markdown `content[]` so tool-only clients see it too.
129
+
95
130
  Everything registers through `createApp()` in your entry point:
96
131
 
97
132
  ```ts
@@ -101,6 +136,7 @@ await createApp({
101
136
  tools: allToolDefinitions,
102
137
  resources: allResourceDefinitions,
103
138
  prompts: allPromptDefinitions,
139
+ instructions: 'Brief composition hints for the model.', // optional, sent on every `initialize`
104
140
  });
105
141
  ```
106
142
 
@@ -109,11 +145,12 @@ It also works on Cloudflare Workers with `createWorkerHandler()` — same defini
109
145
  ## Features
110
146
 
111
147
  - **Declarative definitions** — `tool()`, `resource()`, `prompt()` builders with Zod schemas; `appTool()`/`appResource()` add interactive HTML UIs.
148
+ - **Server-level orientation** — `instructions` on `createApp`/`createWorkerHandler` rides every `initialize` for the model. Cross-tool composition hints, regional notes, scope guidance — without leaking text into every tool description.
112
149
  - **Unified Context** — one `ctx` for logging, tenant-scoped storage, elicitation, sampling, cancellation, and task progress.
113
150
  - **Auth** — `auth: ['scope']` on definitions, checked before dispatch (no wrapper code). Modes: `none`, `jwt`, or `oauth` (local secret or JWKS).
114
151
  - **Task tools** — `task: true` for long-running ops; framework manages create/poll/progress/complete/cancel.
115
- - **Definition linter** — validates names, schemas, auth scopes, annotations, and format-parity at startup. Standalone via `lint:mcp` or devcheck.
116
- - **Typed error contracts** — declare `errors: [{ reason, code, when, retryable? }]` and handlers get a typed `ctx.fail(reason, …)`. Contracts publish in `tools/list` so clients preview failure modes; the linter cross-checks the handler. Factories (`notFound()`, `httpErrorFromResponse()`, …) cover ad-hoc throws; plain `Error` auto-classifies.
152
+ - **Definition linter** — validates names, schemas, auth scopes, annotations, format-parity, and cross-vendor JSON Schema portability at startup. Standalone via `lint:mcp` or devcheck.
153
+ - **Typed error contracts** — declare `errors: [{ reason, code, when, recovery, retryable? }]` and handlers get a typed `ctx.fail(reason, …)`. Contracts publish in `tools/list` so clients preview failure modes; the linter cross-checks the handler. Factories (`notFound()`, `httpErrorFromResponse()`, …) cover ad-hoc throws; plain `Error` auto-classifies.
117
154
  - **Multi-backend storage** — `in-memory`, filesystem, Supabase, Cloudflare D1/KV/R2. Swap via env var; handlers don't change.
118
155
  - **DataCanvas (optional)** — Tier 3 SQL/analytical workspace backed by DuckDB. Register tabular data from upstream APIs, run SQL across registered tables, export CSV/Parquet/JSON. Token-sharing model (opaque `canvas_id`) for multi-agent collaboration; sliding TTL + per-tenant scoping. Opt-in via `CANVAS_PROVIDER_TYPE=duckdb`; fails closed on Workers.
119
156
  - **Observability** — Pino logging + optional OpenTelemetry traces/metrics. Request correlation and tool metrics automatic.
@@ -258,8 +295,7 @@ Also exports `fuzzResource`, `fuzzPrompt`, `zodToArbitrary`, and `ADVERSARIAL_ST
258
295
  ## Documentation
259
296
 
260
297
  - **[CLAUDE.md/AGENTS.md](CLAUDE.md)** — Framework reference: exports catalog, patterns, Context interface, error codes, auth, config, testing. Ships in the npm package.
261
- - **[docs/telemetry/observability.md](docs/telemetry/observability.md)** — OpenTelemetry catalog: every span, metric, and attribute the framework emits, plus the env vars to wire export.
262
- - **[docs/telemetry/dashboards.md](docs/telemetry/dashboards.md)** — Example Grafana dashboard JSON and vendor-agnostic query recipes (Datadog, New Relic, Honeycomb).
298
+ - **[docs/telemetry/](docs/telemetry/)** — OpenTelemetry: full catalog of spans, metrics, and attributes the framework emits ([observability.md](docs/telemetry/observability.md)), plus an example Grafana dashboard and vendor-agnostic query recipes for Datadog, New Relic, Honeycomb ([dashboards.md](docs/telemetry/dashboards.md)).
263
299
  - **[CHANGELOG.md](CHANGELOG.md)** — Version history - Directory based for easier parsing by agents. Each entry includes a summary, migration notes, and links to commits/issues.
264
300
 
265
301
  ## Development
package/biome.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.4.14/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.4.15/schema.json",
3
3
  "vcs": {
4
4
  "enabled": true,
5
5
  "clientKind": "git",
@@ -0,0 +1,80 @@
1
+ ---
2
+ summary: "Workers boot under `nodejs_compat` (#124), adds `instructions` on entry points (#91), cross-vendor portability lint family (#132), definition linting moves to build-time only. Plus RFC 8414 §3 well-known mount, SSRF hardening, tenant-id boundary check."
3
+ breaking: true
4
+ security: true
5
+ ---
6
+
7
+ # 0.9.0 — 2026-05-11
8
+
9
+ Cloudflare Workers now boot and serve real MCP JSON-RPC under `nodejs_compat` ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)) — previously a few module-load paths assumed Node and silently broke. Also new: the MCP spec's `instructions` field on `createApp`/`createWorkerHandler` ([#91](https://github.com/cyanheads/mcp-ts-core/issues/91)) and a cross-vendor JSON Schema portability lint family ([#132](https://github.com/cyanheads/mcp-ts-core/issues/132)) whose `error`-level default-on rule may fail `bun run lint:mcp` and `bun run devcheck` on schemas using `z.url()`/`z.cuid()`/etc. (see Migration below). The startup linter gate has been removed — definition linting is now build-time only, so new lint rules are additive and never break deployed servers.
10
+
11
+ ## Added
12
+
13
+ - **`CreateAppOptions.instructions?: string`** ([#91](https://github.com/cyanheads/mcp-ts-core/issues/91)) — server-level orientation text included on every `initialize` response. Spec-compliant clients SHOULD forward it to the model as session-level system context. Use for deployment-specific guidance (configured shortcuts, regional notes, scope hints) instead of leaking text into every tool description.
14
+ - **`WorkerHandlerOptions.instructions?: string | ((env) => string)`** ([#91](https://github.com/cyanheads/mcp-ts-core/issues/91)) — the resolver form runs inside `initializeApp(env)` after `injectEnvVars`, so `env`-derived text doesn't fight Workers' module-load lifecycle. Type extends `Omit<CreateAppOptions, 'instructions'>`. Empty string is treated as unset.
15
+ - **Portability lint family** ([#132](https://github.com/cyanheads/mcp-ts-core/issues/132), folding in [#122](https://github.com/cyanheads/mcp-ts-core/issues/122)) — five new rules walk the emitted JSON Schema and flag patterns that hard-fail or silently drop at OpenAI/Gemini:
16
+ - `schema-format-portability` (**error**, default-on) — `format` value outside the allowlist. Default = OpenAI's nine (`date-time`, `time`, `date`, `duration`, `email`, `hostname`, `ipv4`, `ipv6`, `uuid`). Field report: [cyanheads/git-mcp-server#47](https://github.com/cyanheads/git-mcp-server/issues/47) (`gpt-5-codex` hard-rejects `format: "uri"`).
17
+ - `schema-anyof-needs-type` (warning, default-on) — `anyOf`/`oneOf` branch missing top-level `type` (Gemini rejects with `400: reference to undefined schema`).
18
+ - `schema-no-discriminator-keyword` (warning, default-on) — OpenAPI `discriminator` leaked into the emitted schema.
19
+ - `schema-no-defs` (warning, opt-in) — `$defs`/`$ref` emission. Opt-in because SEP-1576 moves the community toward more `$defs`.
20
+ - `schema-dialect-tag` (warning, opt-in) — missing top-level `$schema`. Forward-compat for hand-built schemas.
21
+ - **`LintInput.formatAllowlist`** and **`LintInput.portability: 'strict'`** — programmatic overrides on `validateDefinitions`. Env-var equivalent: `MCP_LINT_PORTABILITY=strict` promotes opt-in rules to warnings.
22
+ - **`/.well-known/oauth-protected-resource/{path}` path-suffixed mount** ([#95](https://github.com/cyanheads/mcp-ts-core/issues/95)) — RFC 8414 §3 metadata is now reachable at the path-suffixed variant in addition to the root well-known path, so clients that resolve metadata relative to the MCP endpoint can discover it without extra config.
23
+ - **Worker-runtime test suite** ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)) — `tests/worker/create-worker-handler.worker.test.ts` exercises HTTP binding injection, scheduled events, the origin guard, and end-to-end MCP `initialize → notifications/initialized → tools/list → tools/call` under `@cloudflare/vitest-pool-workers`. Asserts `runtimeCaps.isWorkerLike === true` inside the isolate.
24
+ - **Source-level type contract suite** — locks public exports for `tool()` / `resource()` / `prompt()` / `appTool()` / `appResource()` and `CreateAppOptions`.
25
+ - **Export-map structural suite** — validates `package.json` `exports` shape against the runtime imports README and skills demonstrate.
26
+
27
+ ## Changed
28
+
29
+ - **Worker runtime detection** uses `navigator.userAgent === 'Cloudflare-Workers'` instead of `!process.versions.node` ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)). Under `nodejs_compat`, `process.versions.node` is a truthy string, so the previous `!isNode && hasWorkerGlobalScope()` check always evaluated `false`. `isWorkerLike` is now independent of `isNode`: both can be true.
30
+ - **HTTP transport bootstrap split** ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)) — `httpTransport.ts` now exports only the runtime-agnostic `createHttpApp`; `@hono/node-server` `serve()` and the `node:http` port-probe moved to a new `httpServer.ts`. Worker bundles tree-shake the Node-server bootstrap.
31
+ - **`logger.isServerless` check** is deferred until first log call ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)) — previously captured at module load before `createWorkerHandler` could set `IS_SERVERLESS`.
32
+ - **Node-only call sites gated on `!isWorkerLike`** ([#124](https://github.com/cyanheads/mcp-ts-core/issues/124)) — `config.logsPath`, `node-cron` dynamic import, and `canUseNodeSDK()` (NodeSDK needs `perf_hooks` + `worker_threads`, partial/absent in the polyfill). Workers fall back to lightweight telemetry mode; framework offloads Worker-native OTLP export to the app layer.
33
+ - **Definition linting is build-time only.** `createApp()` no longer invokes `validateDefinitions` at startup. Lint runs via `bun run lint:mcp` (standalone) and `bun run devcheck` (gate) — the same surface, just not on every boot. Faster cold starts (especially on Workers), and new lint rules are additive going forward instead of potential breaking changes for deployed servers.
34
+ - **Changelog summary cap raised 250 → 350 chars** ([#129](https://github.com/cyanheads/mcp-ts-core/issues/129)) — `SUMMARY_MAX_LENGTH` in `scripts/build-changelog.ts`, propagated through `changelog/template.md`, the consumer templates, and `CLAUDE.md`/`AGENTS.md`. 250 was forcing operator-relevant context out of recent summaries (Authentik/Keycloak/Zitadel specificity trimmed from v0.8.20, full Workers + instructions + portability scope cut from v0.9.0's first draft).
35
+ - **`polish-docs-meta` README template links `OTEL_ENABLED` to framework telemetry docs** ([#130](https://github.com/cyanheads/mcp-ts-core/issues/130)) — `Enable OpenTelemetry.` → `Enable [OpenTelemetry instrumentation](https://github.com/cyanheads/mcp-ts-core/tree/main/docs/telemetry) (spans, metrics, completion logs).` so downstream READMEs scaffolded from the skill point readers at exporter setup, sampling, and attribute catalog instead of leaving the flag as a dead end.
36
+ - **Agent-observed correctness principle codified across the design surface** ([#131](https://github.com/cyanheads/mcp-ts-core/issues/131)) — *server reports what only the server can know; agent decides what only the agent can know*. Lands in `design-mcp-server` (Output design top-level bullet), `add-tool` (new `Mutator response design` subsection + unit-bearing numeric-name checklist item), `tool-defs-analysis` (two new audit categories — mutator observability and unit-bearing numeric names; the audit walks 12 categories now, up from 10), `field-test` (mutator-trigger situational row), and `api-errors` (new `When not to throw` section).
37
+ - **Agent protocol prose condensed** — `CLAUDE.md`/`AGENTS.md` and `templates/CLAUDE.md`/`templates/AGENTS.md`: trims across Error Handling (Recommended path, `ctx.recoveryFor`, inline contracts, error-path parity), Consumers, Auth, server config, changelog, and First Session sections. ~150 words saved in the root protocol, ~120 in the templates; content preserved.
38
+ - **Skill bumps:** `api-linter` 1.2 → 1.3, `polish-docs-meta` 1.7 → 1.8, `design-mcp-server` 2.10 → 2.11, `add-tool` 2.8 → 2.9, `tool-defs-analysis` 1.1 → 1.2, `field-test` 2.3 → 2.4, `api-errors` 1.5 → 1.6.
39
+
40
+ ## Fixed
41
+
42
+ - **`fetchWithTimeout` SSRF DNS validation in Workers** ([#70](https://github.com/cyanheads/mcp-ts-core/issues/70), [#120](https://github.com/cyanheads/mcp-ts-core/issues/120), [#126](https://github.com/cyanheads/mcp-ts-core/issues/126)) — was skipped under `!isWorkerLike` based on a stale assumption that Workers had no DNS API. Workers now run the same pre-flight A/AAAA validation as Node and Bun. Stale JSDoc corrected.
43
+ - **SSRF IPv6 coverage** ([#70](https://github.com/cyanheads/mcp-ts-core/issues/70)) — broadened the blocklist to cover IPv4-mapped IPv6 (`::ffff:127.0.0.1`), unique-local `fc00::/7`, link-local `fe80::/10`, and the full multicast range. Errors are now status-aware (4xx/5xx mapped to typed `McpError` codes via `httpErrorFromResponse`) and response bodies are capped at 1 MB.
44
+ - **`FileSystemProvider` re-validates `tenantId` at the storage boundary** ([#72](https://github.com/cyanheads/mcp-ts-core/issues/72)) — defense-in-depth check rejecting non-conformant tenant ids reaching the provider, even when `ctx.state` already validated upstream.
45
+ - **Cursor HMAC key eager init restored under Node** — lazy getter for Worker bundles was over-correction; module-load `randomBytes(32)` works fine in the Workers isolate. Worker bundle stays clean either way.
46
+ - **`mcp.rate_limit.rejections_total` no longer carries the unbounded `key` label** ([#114](https://github.com/cyanheads/mcp-ts-core/issues/114)) — previous label could blow up Prometheus cardinality on tenant-scoped keys. Bounded labels only.
47
+ - **Logger rate-limit cache eviction** ([#115](https://github.com/cyanheads/mcp-ts-core/issues/115)) — expired entries are pruned every flush instead of growing unbounded until process exit.
48
+ - **`echo` example resource** — `requestUri` switched from `z.url()` to `z.string()` since `z.url()` emits `format: "uri"` which the new `schema-format-portability` rule errors on.
49
+ - **Coverage gap-fill** — landing manifest (`isApp` marker, resource/prompt materialization, env-example normalization, connect-snippet overrides), format-parity (record/tuple/literal/permissive matching), and the HTML landing page (resource/prompt sections).
50
+
51
+ ## Security
52
+
53
+ - **SSRF defense in Workers is now enforced end-to-end** — DNS validation + IP blocklist on every `fetchWithTimeout` call, regardless of runtime. See `## Fixed` for the IPv6/status/body details.
54
+ - **Tenant-id boundary validation in `FileSystemProvider`** ([#72](https://github.com/cyanheads/mcp-ts-core/issues/72)) — defense-in-depth against a future caller bypassing `ctx.state`'s upper-layer check.
55
+ - **Rate-limit metric cardinality bound** ([#114](https://github.com/cyanheads/mcp-ts-core/issues/114)) — closes a metric-exhaustion vector on tenant-scoped rate-limit keys.
56
+
57
+ ## Migration
58
+
59
+ The new `schema-format-portability` rule (error, default-on) rejects schemas whose emitted JSON Schema contains `format` values outside the OpenAI nine. Existing servers using `z.url()` (emits `uri`), `z.cuid()`/`z.cuid2()`/`z.ulid()`/`z.nanoid()`, `z.base64()`, or `z.jwt()` will fail `bun run lint:mcp` and `bun run devcheck` with the new lint diagnostic. Deployed servers continue to run — lint no longer gates `createApp()` startup — but CI will go red until you fix or override.
60
+
61
+ Two upgrade paths:
62
+
63
+ - **Recommended.** Drop the format method and move the constraint into describe text where the model can read it. Runtime behavior is unchanged (the format constraint was advisory in the JSON Schema anyway).
64
+
65
+ ```ts
66
+ // Before
67
+ homepage: z.url().describe('Project homepage')
68
+ // After
69
+ homepage: z.string().describe('Project homepage (absolute URL)')
70
+ ```
71
+
72
+ - **Override.** If you target only vendors that accept the format and want to keep the Zod method, call `validateDefinitions` directly from a custom lint script with a widened allowlist:
73
+
74
+ ```ts
75
+ validateDefinitions({ formatAllowlist: ['email', 'uuid', 'date-time', 'uri'], ... });
76
+ ```
77
+
78
+ The bundled `bun run lint:mcp` doesn't expose flags — fork the script or write your own when an override is needed.
79
+
80
+ See `skills/api-linter/SKILL.md#schema-format-portability` for the full Zod → emitted-format table.
@@ -0,0 +1,41 @@
1
+ ---
2
+ summary: "Gate experimental `tasks` capability on actual task-tool registration — clients pinned to MCP spec 2025-06-18 strict-parse and fail on the unknown key. Add `notifyPromptListChanged`/`notifyToolListChanged` to `Context`. OTel semconv `^1.40 → ^1.41` (stable `deployment.environment.name`). Pin `fast-xml-parser` to `5.7.3`."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.9.1 — 2026-05-15
8
+
9
+ ## Added
10
+
11
+ - **`Context.notifyPromptListChanged?: () => void`** and **`Context.notifyToolListChanged?: () => void`** — new optional notifiers alongside the existing `notifyResourceListChanged` / `notifyResourceUpdated`. Wired through `ContextDeps`, the resource/tool registry notifier bundles (`HandlerNotifiers`, `ResourceHandlerNotifiers`), and `MockContextOptions` for tests. Handlers can now signal that the prompt or tool list has changed via `server.sendPromptListChanged()` / `server.sendToolListChanged()`.
12
+
13
+ ## Changed
14
+
15
+ - **`tasks` capability advertisement gated on actual usage.** New `McpServerDeps.advertiseTasks` flag; `composeServices` sets it by scanning tools for `isTaskToolDefinition` or `def.task === true`. Servers without task tools no longer advertise the experimental SEP-1686 capability — fixes strict-parsing clients pinned to MCP spec `2025-06-18` that fail on the unknown key.
16
+ - **OTel `deployment.environment.name` uses the stable typed constant.** Migrated from string literal in `detectCloudResource` to `ATTR_DEPLOYMENT_ENVIRONMENT_NAME` from `@opentelemetry/semantic-conventions` `^1.41`, applied at resource construction site alongside `ATTR_SERVICE_NAME` / `ATTR_SERVICE_VERSION`. No attribute name change — same `deployment.environment.name` on the wire.
17
+ - **`scripts/devcheck.ts` `bun outdated` parser fixed.** `bun outdated` emits markdown-style rows (`| pkg | … |`) with an empty leading cell, so `split('|')[0]` was always empty and the allowlist never matched. Now reads index `[1]` and strips the trailing `(dev|peer|prod|optional)` workspace marker so bare package names match the allowlist.
18
+ - **`fast-xml-parser` pinned to exact `5.7.3`** across `peerDependencies` (was `latest`), `devDependencies` (was `^5.7.3`), and `resolutions`. Added to `devcheck.config.json` `outdated.allowlist`. Defensive ahead of `5.8.0`'s DOCTYPE entity validation, strnum `2.3.0` octal/binary parsing, and `fast-xml-builder` `1.2.0` tag-name sanitization shifts.
19
+ - **OTel dependency refresh:**
20
+ - `@opentelemetry/exporter-metrics-otlp-http` `^0.217.0 → ^0.218.0`
21
+ - `@opentelemetry/exporter-trace-otlp-http` `^0.217.0 → ^0.218.0`
22
+ - `@opentelemetry/instrumentation-http` `^0.217.0 → ^0.218.0`
23
+ - `@opentelemetry/instrumentation-pino` `^0.63.0 → ^0.64.0`
24
+ - `@opentelemetry/sdk-node` `^0.217.0 → ^0.218.0`
25
+ - `@opentelemetry/semantic-conventions` `^1.40.0 → ^1.41.1`
26
+ - **Resolution refresh** (transitive pins):
27
+ - `brace-expansion` `1.1.14 → 5.0.6`
28
+ - `picomatch` `2.3.2 → 4.0.4`
29
+ - `protobufjs` `7.5.5 → 8.3.0`
30
+ - `yaml` `1.10.3 → 2.9.0`
31
+ - **Other dev dependency bumps:**
32
+ - `@cloudflare/vitest-pool-workers` `^0.16.3 → ^0.16.6`
33
+ - `@cloudflare/workers-types` `^4.20260511.1 → ^4.20260515.1`
34
+ - `@types/bun` `^1.3.13 → ^1.3.14`
35
+ - `@types/node` `^25.6.2 → ^25.8.0`
36
+ - `bun-types` `^1.3.13 → ^1.3.14`
37
+ - `fast-check` `^4.7.0 → ^4.8.0`
38
+ - `sanitize-html` `^2.17.3 → ^2.17.4`
39
+ - `vite` `8.0.12 → 8.0.13`
40
+ - **Skill bump:** `api-workers` `1.3 → 1.4` — documents the `instructions` resolver form on `WorkerHandlerOptions` (runs inside `initializeApp(env)` after `injectEnvVars`).
41
+ - **README** — adds an `instructions` example to the `createApp()` snippet and a Features bullet covering server-level orientation.
@@ -4,7 +4,7 @@
4
4
  # to author a new release. Set that file's H1 to `# <version> — YYYY-MM-DD`
5
5
  # with a concrete date.
6
6
 
7
- # Required. One-line GitHub Release-style headline. ~250 character soft cap.
7
+ # Required. One-line GitHub Release-style headline. 350 character cap.
8
8
  # Default short and scannable. Don't pad, don't stitch unrelated changes with
9
9
  # semicolons — pick the headline. Quotes required: unquoted YAML treats `: `
10
10
  # inside the value as a key separator and fails GitHub's strict parser.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,wEAAwE;AACxE,eAAO,MAAM,cAAc,2BAA2B,CAAC;AACvD,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AA4CjE,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoVd,CAAC;AAGL,QAAA,MAAM,WAAW,GAAI,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmMrE,CAAC;AAIF;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,GAAI,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,IAExE,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,wEAAwE;AACxE,eAAO,MAAM,cAAc,2BAA2B,CAAC;AACvD,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AA4CjE,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoVd,CAAC;AAGL,QAAA,MAAM,WAAW,GAAI,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMrE,CAAC;AAIF;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW,GAAI,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,IAExE,CAAC;AAEF;;;;;;GAMG;AACH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
@@ -520,7 +520,7 @@ const parseConfig = (envOverrides) => {
520
520
  const finalRawConfig = {
521
521
  ...rawConfig,
522
522
  pkg: parsedPkg,
523
- logsPath: runtimeCaps.isNode
523
+ logsPath: runtimeCaps.isNode && !runtimeCaps.isWorkerLike
524
524
  ? (() => {
525
525
  // Bundled (dist/index.js) is one level deep; source (src/config/index.ts) is two.
526
526
  // Detect bundle path to avoid overshooting the project root.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAQ3D,MAAM,YAAY,GAAG,WAA8B,CAAC;AAEpD,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,IAAI,OAAO,CAAC;AAEjE;;;;GAIG;AACH,IAAI,YAAY,GAA2B,IAAI,CAAC;AAChD,SAAS,sBAAsB;IAC7B,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC/C,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAC1D,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACrE,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;YAAE,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IACD,YAAY,GAAG,GAAG,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,6EAA6E;AAC7E,wDAAwD;AACxD,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,2BAA2B;AAC3B,MAAM,sBAAsB,GAAG,CAAC,GAAY,EAAE,EAAE;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC;IAChF,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEhB,4BAA4B;AAC5B,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,yDAAyD;IACzD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;IACF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,gCAAgC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,mCAAmC;IACjE,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,uCAAuC;IACpF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,oCAAoC;IAC9E,QAAQ,EAAE,CAAC;SACR,UAAU,CACT,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,0DAA0D;YAC1D,MAAM,QAAQ,GAA2B;gBACvC,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,OAAO;gBACZ,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;YACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAClF;SACA,OAAO,CAAC,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,sCAAsC;IACvE;;;;;;;OAOG;IACH,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;IAC7C,WAAW,EAAE,CAAC;SACX,UAAU,CACT,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,QAAQ,GAA2B;gBACvC,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB,CAAC;YACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CACjD;SACA,OAAO,CAAC,aAAa,CAAC;IACzB,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAC5B,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAC3C;IACD,cAAc,EAAE,CAAC,CAAC,UAAU,CAC1B,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAC1D;IACD,oBAAoB,EAAE,CAAC,CAAC,UAAU,CAChC,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAC5D;IACD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/C;;;;;;;;OAQG;IACH,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACtE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,gCAAgC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACtE,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,yBAAyB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,CAAC,CAAC,UAAU,CACvB,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CACjD;IACD;;;;;;;;OAQG;IACH,yBAAyB,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;IACpD,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY;IACrE,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY;IAClE,2BAA2B,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,8BAA8B;IAC/E,gBAAgB,EAAE,CAAC;SAChB,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SACd,OAAO,CAAC,KAAK,CAAC;IACjB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IAC7D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;IAC5E,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjD,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC5B,aAAa,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACjC,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC7B,uBAAuB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC3C,yBAAyB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1D,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;QACZ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,YAAY,EAAE,CAAC;aACZ,UAAU,CACT,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAA2B;oBACvC,GAAG,EAAE,WAAW;oBAChB,EAAE,EAAE,YAAY;iBACjB,CAAC;gBACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,CAAC,IAAI,CAAC;YACL,WAAW;YACX,YAAY;YACZ,UAAU;YACV,eAAe;YACf,eAAe;YACf,eAAe;SAChB,CAAC,CACH;aACA,OAAO,CAAC,WAAW,CAAC;QACvB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,sEAAsE;KACzH,CAAC;IACF,iDAAiD;IACjD,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,UAAU,CACxB,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAC3C;QACD;;;WAGG;QACH,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7D;;;;WAIG;QACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACvD,+DAA+D;QAC/D,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3D,gDAAgD;QAChD,KAAK,EAAE,CAAC,CAAC,MAAM;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC/B,8DAA8D;QAC9D,aAAa,EAAE,CAAC,CAAC,MAAM;aACpB,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,0EAA0E;QAC1E,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC3D,6CAA6C;QAC7C,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzD,2EAA2E;QAC3E,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;KACvD,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE;QACzC,OAAO,EACL,wIAAwI;QAC1I,IAAI,EAAE,CAAC,eAAe,CAAC;KACxB,CAAC;IACJ,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,UAAU,CACT,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAA2B;oBACvC,GAAG,EAAE,WAAW;oBAChB,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CACjC;aACA,OAAO,CAAC,WAAW,CAAC;QACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;QAC5C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACtD,CAAC;IACF,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAClC,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACnC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3D,QAAQ,EAAE,CAAC;aACR,UAAU,CACT,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAA2B;oBACvC,GAAG,EAAE,OAAO;oBACZ,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,MAAM;iBACpB,CAAC;gBACF,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YAC9C,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CACrE;aACA,OAAO,CAAC,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,GAAG,EAAE,CAAC;aACH,MAAM,CAAC;YACN,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAC3B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;aACD,QAAQ,EAAE;QACb,GAAG,EAAE,CAAC;aACH,MAAM,CAAC;YACN,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAC3B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACzB,4EAA4E;IAC5E,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,kBAAkB,CAAC;YAC1B,OAAO,EACL,+GAA+G;SAClH,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,CAAC;gBAC1B,OAAO,EACL,+GAA+G;aAClH,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,kBAAkB,CAAC;gBAC1B,OAAO,EAAE,kEAAkE;aAC5E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,8CAA8C;IAC9C,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,gBAAgB,CAAC;gBACxB,OAAO,EAAE,wDAAwD;aAClE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,eAAe,CAAC;gBACvB,OAAO,EAAE,sDAAsD;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,wBAAwB;AACxB,MAAM,WAAW,GAAG,CAAC,YAAiD,EAAE,EAAE;IACxE,kFAAkF;IAClF,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC7E,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE;YACH,IAAI,EAAE,GAAG,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI;YAC/D,OAAO,EAAE,GAAG,CAAC,eAAe,IAAI,WAAW,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;YAC3E,WAAW,EAAE,GAAG,CAAC,mBAAmB,IAAI,WAAW,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW;SAC5F;QACD,QAAQ,EAAE,GAAG,CAAC,aAAa;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,kBAAkB,EAAE,GAAG,CAAC,oBAAoB;QAC5C,WAAW,EAAE,GAAG,CAAC,QAAQ;QACzB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,oBAAoB,EAAE,GAAG,CAAC,sBAAsB;QAChD,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;QAC/C,YAAY,EAAE,GAAG,CAAC,cAAc;QAChC,qBAAqB,EAAE,GAAG,CAAC,yBAAyB;QACpD,uBAAuB,EAAE,GAAG,CAAC,4BAA4B;QACzD,gCAAgC,EAAE,GAAG,CAAC,qCAAqC;QAC3E,sBAAsB,EAAE,GAAG,CAAC,yBAAyB;QACrD,yBAAyB,EAAE,GAAG,CAAC,4BAA4B;QAC3D,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC;aACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;QAClB,gBAAgB,EAAE,GAAG,CAAC,mBAAmB;QACzC,oBAAoB,EAAE,GAAG,CAAC,uBAAuB;QACjD,sBAAsB,EAAE,GAAG,CAAC,yBAAyB;QACrD,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,yBAAyB,EAAE,GAAG,CAAC,6BAA6B;QAC5D,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,YAAY,EAAE,GAAG,CAAC,cAAc;QAChC,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;QAC/C,kBAAkB,EAAE,GAAG,CAAC,qBAAqB;QAC7C,2BAA2B,EAAE,GAAG,CAAC,8BAA8B;QAC/D,gBAAgB,EAAE,GAAG,CAAC,mBAAmB;QACzC,cAAc,EAAE,GAAG,CAAC,iBAAiB;QACrC,YAAY,EAAE,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAC1C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,qBAAqB,EAAE,GAAG,CAAC,uBAAuB;QAClD,cAAc,EAAE,GAAG,CAAC,iBAAiB;QACrC,mBAAmB,EAAE,GAAG,CAAC,sBAAsB;QAC/C,cAAc,EAAE,GAAG,CAAC,iBAAiB;QACrC,cAAc,EAAE,GAAG,CAAC,iBAAiB;QACrC,UAAU,EACR,GAAG,CAAC,6BAA6B,IAAI,GAAG,CAAC,qBAAqB;YAC5D,CAAC,CAAC;gBACE,gBAAgB,EAAE,GAAG,CAAC,6BAA6B;gBACnD,QAAQ,EAAE,GAAG,CAAC,qBAAqB;gBACnC,aAAa,EAAE,GAAG,CAAC,0BAA0B;gBAC7C,SAAS,EAAE,GAAG,CAAC,sBAAsB;gBACrC,uBAAuB,EAAE,GAAG,CAAC,qCAAqC;gBAClE,yBAAyB,EAAE,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,GAAG,CAAC;qBAChF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;qBACxB,MAAM,CAAC,OAAO,CAAC;aACnB;YACH,CAAC,CAAC,SAAS;QACf,QAAQ,EACN,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,iBAAiB;YACvC,CAAC,CAAC;gBACE,GAAG,EAAE,GAAG,CAAC,YAAY;gBACrB,OAAO,EAAE,GAAG,CAAC,iBAAiB;gBAC9B,cAAc,EAAE,GAAG,CAAC,yBAAyB;aAC9C;YACH,CAAC,CAAC,SAAS;QACf,OAAO,EAAE;YACP,YAAY,EAAE,GAAG,CAAC,qBAAqB;YACvC,cAAc,EAAE,GAAG,CAAC,uBAAuB;SAC5C;QACD,MAAM,EAAE;YACN,YAAY,EAAE,GAAG,CAAC,oBAAoB;YACtC,oBAAoB,EAAE,GAAG,CAAC,8BAA8B;YACxD,cAAc,EAAE,GAAG,CAAC,kBAAkB;YACtC,oBAAoB,EAAE,GAAG,CAAC,8BAA8B;YACxD,KAAK,EAAE,GAAG,CAAC,aAAa;YACxB,aAAa,EAAE,GAAG,CAAC,sBAAsB;YACzC,iBAAiB,EAAE,GAAG,CAAC,0BAA0B;YACjD,eAAe,EAAE,GAAG,CAAC,wBAAwB;YAC7C,eAAe,EAAE,GAAG,CAAC,wBAAwB;SAC9C;QACD,KAAK,EAAE;YACL,SAAS,EAAE,GAAG,CAAC,eAAe;YAC9B,QAAQ,EAAE,GAAG,CAAC,oBAAoB;YAClC,YAAY,EAAE,GAAG,CAAC,yBAAyB;SAC5C;QACD,aAAa,EAAE;YACb,OAAO,EAAE,GAAG,CAAC,YAAY;YACzB,WAAW,EAAE,GAAG,CAAC,iBAAiB;YAClC,cAAc,EAAE,GAAG,CAAC,oBAAoB;YACxC,cAAc,EAAE,GAAG,CAAC,kCAAkC;YACtD,eAAe,EAAE,GAAG,CAAC,mCAAmC;YACxD,aAAa,EAAE,GAAG,CAAC,uBAAuB;YAC1C,QAAQ,EAAE,GAAG,CAAC,cAAc;SAC7B;QACD,MAAM,EACJ,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB;YAC9C,CAAC,CAAC;gBACE,GAAG,EAAE,GAAG,CAAC,kBAAkB;oBACzB,CAAC,CAAC;wBACE,OAAO,EAAE,GAAG,CAAC,kBAAkB;wBAC/B,QAAQ,EAAE,GAAG,CAAC,mBAAmB;wBACjC,MAAM,EAAE,GAAG,CAAC,kBAAkB;wBAC9B,OAAO,EAAE,GAAG,CAAC,mBAAmB;wBAChC,cAAc,EAAE,GAAG,CAAC,2BAA2B;wBAC/C,cAAc,EAAE,GAAG,CAAC,2BAA2B;wBAC/C,OAAO,EAAE,GAAG,CAAC,kBAAkB;qBAChC;oBACH,CAAC,CAAC,SAAS;gBACb,GAAG,EAAE,GAAG,CAAC,kBAAkB;oBACzB,CAAC,CAAC;wBACE,OAAO,EAAE,GAAG,CAAC,kBAAkB;wBAC/B,QAAQ,EAAE,GAAG,CAAC,mBAAmB;wBACjC,MAAM,EAAE,GAAG,CAAC,kBAAkB;wBAC9B,OAAO,EAAE,GAAG,CAAC,mBAAmB;wBAChC,cAAc,EAAE,GAAG,CAAC,2BAA2B;wBAC/C,OAAO,EAAE,GAAG,CAAC,kBAAkB;qBAChC;oBACH,CAAC,CAAC,SAAS;aACd;YACH,CAAC,CAAC,SAAS;QACf,qEAAqE;QACrE,aAAa,EAAE,GAAG,CAAC,eAAe;QAClC,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,oBAAoB,EAAE,GAAG,CAAC,sBAAsB;QAChD,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;KAC3C,CAAC;IAEF,oEAAoE;IACpE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEjD,uEAAuE;IACvE,MAAM,cAAc,GAAG;QACrB,GAAG,SAAS;QACZ,GAAG,EAAE,SAAS;QACd,QAAQ,EAAE,WAAW,CAAC,MAAM;YAC1B,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,kFAAkF;gBAClF,6DAA6D;gBAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAC7C,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,OAAO,OAAO,CAAC;gBACxC,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,SAAS;QACb,aAAa,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC,IAAI;QACpD,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,SAAS,CAAC,OAAO;QAC7D,oBAAoB,EAAE,GAAG,CAAC,sBAAsB,IAAI,SAAS,CAAC,WAAW;QACzE,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,EAAE,8CAA8C;QAC1F,aAAa,EAAE;YACb,GAAG,SAAS,CAAC,aAAa;YAC1B,WAAW,EAAE,GAAG,CAAC,iBAAiB,IAAI,SAAS,CAAC,IAAI;YACpD,cAAc,EAAE,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAC,OAAO;SAC9D;QACD,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC,IAAI;KAC7D,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE5D,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,6DAA6D;QAC7D,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CACX,yEAAyE,EACzE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,CACzC,CAAC;QACJ,CAAC;QACD,oDAAoD;QACpD,MAAM,kBAAkB,CAAC,oCAAoC,EAAE;YAC7D,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC;AAEF,IAAI,OAA8B,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,CAAC,YAAiD,EAAQ,EAAE;IAC9E,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,EAAe,EAAE;IACxC,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAQ,OAA4C,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,GAAG;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,IAAI,IAAI,OAAO,CAAC;IACzB,CAAC;IACD,OAAO;QACL,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,wBAAwB,CAAC,OAAO,EAAE,IAAI;QACpC,OAAO,KAAK,WAAW,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC;AAOH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,17 @@ export interface CreateAppOptions {
46
46
  * Keys are extension identifiers (`vendor-prefix/extension-name`).
47
47
  */
48
48
  extensions?: Record<string, object>;
49
+ /**
50
+ * Server-level orientation text included on every `initialize` response.
51
+ * Spec-compliant clients SHOULD forward this to the model as session-level
52
+ * system context. Use for deployment-specific guidance (configured connection
53
+ * aliases, regional notes, scope hints, available shortcuts) instead of
54
+ * leaking that text into every tool description.
55
+ *
56
+ * Client adoption is uneven — clients that ignore `instructions` are no
57
+ * worse off than they are today, so this is a strict improvement when set.
58
+ */
59
+ instructions?: string;
49
60
  /**
50
61
  * Landing page configuration. Applies to the HTTP transport only.
51
62
  * See {@link LandingConfig} for the full shape — all fields optional,
@@ -93,8 +104,6 @@ export interface ServerHandle {
93
104
  export interface ComposedApp {
94
105
  coreServices: CoreServices;
95
106
  createServer: () => Promise<McpServer>;
96
- /** Lint warnings from definition validation (callers should log after logger init). */
97
- lintWarnings: string[];
98
107
  /**
99
108
  * Server manifest — the single source of truth for the `/mcp` status JSON,
100
109
  * the SEP-1649 Server Card at `/.well-known/mcp.json`, and the HTML landing
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":"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"}