@cyanheads/mcp-ts-core 0.10.4 → 0.10.5

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 (57) hide show
  1. package/AGENTS.md +6 -2
  2. package/CLAUDE.md +6 -2
  3. package/README.md +1 -1
  4. package/changelog/0.10.x/0.10.4.md +1 -1
  5. package/changelog/0.10.x/0.10.5.md +60 -0
  6. package/dist/core/app.d.ts.map +1 -1
  7. package/dist/core/app.js +5 -8
  8. package/dist/core/app.js.map +1 -1
  9. package/dist/core/worker.d.ts.map +1 -1
  10. package/dist/core/worker.js +0 -2
  11. package/dist/core/worker.js.map +1 -1
  12. package/dist/linter/rules/enrichment-rules.js +1 -1
  13. package/dist/linter/rules/enrichment-rules.js.map +1 -1
  14. package/dist/services/canvas/core/CanvasRegistry.d.ts +6 -0
  15. package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
  16. package/dist/services/canvas/core/CanvasRegistry.js +11 -0
  17. package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
  18. package/dist/services/mirror/sqlite/sqliteMirrorStore.d.ts.map +1 -1
  19. package/dist/services/mirror/sqlite/sqliteMirrorStore.js +6 -1
  20. package/dist/services/mirror/sqlite/sqliteMirrorStore.js.map +1 -1
  21. package/dist/services/mirror/types.d.ts +4 -2
  22. package/dist/services/mirror/types.d.ts.map +1 -1
  23. package/dist/services/speech/providers/elevenlabs.provider.d.ts +2 -2
  24. package/dist/services/speech/providers/elevenlabs.provider.js +3 -3
  25. package/dist/services/speech/providers/elevenlabs.provider.js.map +1 -1
  26. package/dist/services/speech/providers/whisper.provider.d.ts +1 -1
  27. package/dist/services/speech/providers/whisper.provider.js +3 -3
  28. package/dist/services/speech/providers/whisper.provider.js.map +1 -1
  29. package/dist/services/speech/types.d.ts +4 -4
  30. package/dist/services/speech/types.d.ts.map +1 -1
  31. package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -1
  32. package/dist/storage/providers/cloudflare/r2Provider.js +9 -2
  33. package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -1
  34. package/dist/testing/vitest.d.ts +76 -0
  35. package/dist/testing/vitest.d.ts.map +1 -0
  36. package/dist/testing/vitest.js +70 -0
  37. package/dist/testing/vitest.js.map +1 -0
  38. package/dist/utils/internal/encoding.d.ts.map +1 -1
  39. package/dist/utils/internal/encoding.js +6 -17
  40. package/dist/utils/internal/encoding.js.map +1 -1
  41. package/dist/utils/internal/performance.d.ts +17 -27
  42. package/dist/utils/internal/performance.d.ts.map +1 -1
  43. package/dist/utils/internal/performance.js +23 -45
  44. package/dist/utils/internal/performance.js.map +1 -1
  45. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  46. package/dist/utils/network/fetchWithTimeout.js +6 -13
  47. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  48. package/dist/utils/network/retry.js +11 -9
  49. package/dist/utils/network/retry.js.map +1 -1
  50. package/dist/utils/security/rateLimiter.d.ts +5 -0
  51. package/dist/utils/security/rateLimiter.d.ts.map +1 -1
  52. package/dist/utils/security/rateLimiter.js +7 -0
  53. package/dist/utils/security/rateLimiter.js.map +1 -1
  54. package/package.json +21 -11
  55. package/skills/api-testing/SKILL.md +47 -1
  56. package/skills/api-workers/SKILL.md +97 -1
  57. package/templates/tests/tools/echo.tool.test.ts +21 -0
@@ -5,8 +5,29 @@
5
5
 
6
6
  import { describe, expect, it } from 'vitest';
7
7
  import { createMockContext } from '@cyanheads/mcp-ts-core/testing';
8
+ import { mcpTest } from '@cyanheads/mcp-ts-core/testing/vitest';
8
9
  import { echoTool } from '@/mcp-server/tools/definitions/echo.tool.js';
9
10
 
11
+ // ---------------------------------------------------------------------------
12
+ // Fixture-based tests (mcpTest) — fresh ctx per test, no manual construction
13
+ // ---------------------------------------------------------------------------
14
+
15
+ mcpTest('echoTool: echoes the message back (fixture)', async ({ ctx }) => {
16
+ const input = echoTool.input.parse({ message: 'hello world' });
17
+ const result = await echoTool.handler(input, ctx);
18
+ expect(result).toEqual({ message: 'hello world' });
19
+ });
20
+
21
+ mcpTest('echoTool: output conforms to declared schema (fixture)', async ({ ctx }) => {
22
+ const input = echoTool.input.parse({ message: 'hello world' });
23
+ const result = await echoTool.handler(input, ctx);
24
+ expect(result).toEqual(expect.schemaMatching(echoTool.output));
25
+ });
26
+
27
+ // ---------------------------------------------------------------------------
28
+ // Classic describe/it tests (createMockContext) — shown for comparison
29
+ // ---------------------------------------------------------------------------
30
+
10
31
  describe('echoTool', () => {
11
32
  it('echoes the message back', async () => {
12
33
  const ctx = createMockContext();