Skip to content

Add TypeScript capability schema definitions - #279

Merged
kentcdodds merged 3 commits into
mainfrom
cursor/typescript-schema-definitions-7a41
Apr 28, 2026
Merged

kentcdodds merged 3 commits into
mainfrom
cursor/typescript-schema-definitions-7a41

Conversation

@kentcdodds

@kentcdodds kentcdodds commented Apr 28, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Generate TypeScript call-shape definitions from normalized capability JSON Schema.
  • Surface input/output type definitions by default in capability search detail and detailed capability registry output.
  • Keep raw JSON schemas out of default search/meta outputs; callers must pass includeSchemas: true to receive inputSchema / outputSchema alongside type definitions.
  • Parenthesize union members when JSON Schema allOf composes TypeScript intersections.
  • Cover default, opt-in schema, and allOf precedence behavior with focused tests.

Testing

  • npm exec vitest run packages/worker/src/mcp/capabilities/schema-type-definitions.node.test.ts packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts packages/worker/src/mcp/tools/search-format.node.test.ts packages/worker/src/mcp/capabilities/capability-search.workers.test.ts
  • npm run typecheck
  • npm run lint
  • npx oxfmt --check packages/worker/src/mcp/capabilities/schema-type-definitions.ts packages/worker/src/mcp/capabilities/schema-type-definitions.node.test.ts packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts
  • npm run build
  • npm run test

Notes

  • npm run format:check still reports unrelated existing formatting drift outside this change set.
Open in Web Open in Cursor 

Summary by CodeRabbit

  • New Features

    • Capability search & detail now show TypeScript call-shape definitions (input/output) by default for single-entity lookups.
    • Search/detail rendering supports an optional includeSchemas flag to return raw JSON Schemas when explicitly requested.
  • Documentation

    • Updated docs to explain default type-definition behavior and how to request raw JSON Schemas via includeSchemas.

Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
@coderabbitai

coderabbitai Bot commented Apr 28, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Capability JSON schemas are converted into TypeScript call-shape declarations which are attached to capability definitions and propagated through the registry, search APIs, and formatting pipeline; raw JSON schemas are included in detail output only when explicitly requested via includeSchemas: true.

Changes

Cohort / File(s) Summary
Type System & Schema Conversion
packages/worker/src/mcp/capabilities/types.ts, packages/worker/src/mcp/capabilities/schema-type-definitions.ts
Added inputTypeDefinition: string and optional outputTypeDefinition?: string to capability types; new module generates TypeScript type declarations from capability JSON schemas and a capability-based type-name generator.
Capability Definition & Registry
packages/worker/src/mcp/capabilities/define-capability.ts, packages/worker/src/mcp/capabilities/build-capability-registry.ts
Capabilities now precompute normalized schemas and corresponding TypeScript type-definition strings; registry construction propagates these type-definition fields into produced specs.
Search & Detail Retrieval
packages/worker/src/mcp/capabilities/capability-search.ts, packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.ts
Detail row shape updated: inputSchema → optional, inputTypeDefinition added (required), outputTypeDefinition optional; toDetail/list-capabilities handlers accept includeSchemas?: boolean to control inclusion of raw JSON schemas.
Search Formatting & Tooling
packages/worker/src/mcp/tools/search-format.ts, packages/worker/src/mcp/tools/search.ts
formatEntityDetailMarkdown gained optional options.includeSchemas; capability detail always emits TypeScript type-definition section and includes raw schemas only when includeSchemas: true. Search tool input schema now accepts includeSchemas?: boolean.
Tests & Docs
docs/use/search.md, packages/worker/src/mcp/capabilities/*.{test.ts,workers.test.ts}, packages/worker/src/mcp/tools/search-format.node.test.ts, packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts
Docs updated to state call-shape type definitions are returned by default; tests updated/added to assert presence of inputTypeDefinition/outputTypeDefinition and conditional inclusion of inputSchema/outputSchema when includeSchemas: true.

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant SearchTool as Search Tool
  participant Registry as Capability Registry
  participant Formatter as Formatter
  participant CapDef as Capability Definition

  Client->>SearchTool: request entity detail (detail:true, includeSchemas?: bool)
  SearchTool->>Registry: searchCapabilities(query)
  Registry->>CapDef: read capability specs (include input/output type defs)
  CapDef-->>Registry: capability spec (with inputTypeDefinition, maybe outputTypeDefinition, maybe schemas)
  Registry-->>SearchTool: search result rows (detail-mode passes includeSchemas flag)
  SearchTool->>Formatter: formatEntityDetailMarkdown(detail, {includeSchemas})
  Formatter-->>SearchTool: markdown + structured detail (type defs always, schemas only if includeSchemas:true)
  SearchTool-->>Client: formatted markdown + structured detail
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Poem

🐇 I nibble schemas into types so neat,

Input, Output—call shapes complete,
Search returns the types by default, you see,
Ask for schemas and I'll bring JSON with glee,
Hoppity-hop — code and docs in harmony!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 5.26% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main feature added in the pull request: generating and surfacing TypeScript type definitions for capability schemas across the codebase.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/typescript-schema-definitions-7a41

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kentcdodds
kentcdodds marked this pull request as ready for review April 28, 2026 18:09
@github-actions

github-actions Bot commented Apr 28, 2026 •

Copy link
Copy Markdown
Contributor

🔎 Preview deployed: https://kody-pr-279.kentcdodds.workers.dev

Worker: kody-pr-279
D1: kody-pr-279-db
KV: kody-pr-279-oauth-kv

Mocks:

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (2)
packages/worker/src/mcp/capabilities/capability-search.workers.test.ts (1)

98-100: Add an explicit assertion for inputTypeDefinition in detail-mode search results.

You now provide detailed type-definition fixtures, but this test still doesn’t verify the field is returned by searchCapabilities when detail: true.

Suggested assertion
 expect(matches[0]?.keywords).toEqual(
 	expect.arrayContaining(['oauth', 'redirect uri', 'provider registration']),
 )
+expect(matches[0]).toMatchObject({
+	inputTypeDefinition: expect.stringContaining(
+		'type KodyOfficialGuideInput =',
+	),
+})
 expect(matches[0]?.outputFields).toEqual(['title', 'body'])
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/worker/src/mcp/capabilities/capability-search.workers.test.ts`
around lines 98 - 100, The test currently sets a detailed fixture for
inputTypeDefinition but doesn’t assert it appears in the detailed search
results; update the test that calls searchCapabilities with detail: true to
include an explicit assertion that the returned capability object contains the
inputTypeDefinition field and that its value equals the fixture string (use the
same fixture value used in the test). Locate the call to searchCapabilities
(with detail: true) and add an assertion against the returned result (e.g.,
expect(result[...].inputTypeDefinition).toEqual(...)) so the presence and exact
content of inputTypeDefinition is verified.
packages/worker/src/mcp/tools/search-format.ts (1)

674-682: Consider hardening markdown code-fence rendering for type definitions.

If a generated type definition ever contains triple backticks, this section can break markdown structure. A dynamic or longer fence would make rendering safer.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/worker/src/mcp/tools/search-format.ts` around lines 674 - 682, The
Type definitions block directly injects detail.spec.inputTypeDefinition and
detail.spec.outputTypeDefinition into a fixed ``` fence which will break if
those strings contain triple backticks; modify the code that emits the fence
(the lines building the '```ts' and closing '```') to compute a safe fence
dynamically—either by scanning detail.spec.inputTypeDefinition and
detail.spec.outputTypeDefinition for the longest run of backticks and emitting a
fence of backticks one character longer, or by switching to a tilde fence (e.g.,
~~~) around the TypeScript content; update the section that currently references
'```ts' and the closing '```' to use this dynamic/safe fence so injected code
cannot terminate the block prematurely.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@packages/worker/src/mcp/capabilities/define-capability.ts`:
- Around line 44-56: The current truthiness checks drop a valid JSON Schema
value of false (e.g., the spread ...(outputSchema ? { outputSchema } : {}) and
the conditional that creates outputTypeDefinition), so change both checks to
explicit undefined checks: replace the first spread with ...(outputSchema !==
undefined ? { outputSchema } : {}) and change the outputTypeDefinition
conditional to use outputSchema !== undefined && definition.outputSchema (i.e.,
only test presence with !== undefined rather than truthiness) while keeping
creation via createSchemaTypeDefinition/createCapabilityTypeName as-is.

In `@packages/worker/src/mcp/capabilities/schema-type-definitions.ts`:
- Around line 82-85: The emitted composed types can be parsed with wrong
precedence (e.g., A | B & C) — update joinSchemaTypes to parenthesize composed
members before joining: after computing types via jsonSchemaToType, map each
type string to a parenthesized form when it itself contains either '|' or '&'
(and the types array length > 1), then join with the provided separator; this
ensures nested anyOf/allOf results like (A | B) & C are produced correctly while
leaving atomic types unchanged.
- Around line 119-121: The index-signature emission currently unconditionally
pushes an index signature when additionalProperties is a record, which can
conflict with previously emitted named properties; change the logic in the block
that calls isRecord(additionalProperties) and lines.push(...) so you only emit
the index signature if there are no named property lines already emitted (i.e.,
detect existing named properties in the lines array before pushing), or
alternatively widen the index signature type to include the union of named
property types; use the existing identifiers additionalProperties, isRecord,
lines and jsonSchemaToType to locate and modify the code that creates the index
signature.

---

Nitpick comments:
In `@packages/worker/src/mcp/capabilities/capability-search.workers.test.ts`:
- Around line 98-100: The test currently sets a detailed fixture for
inputTypeDefinition but doesn’t assert it appears in the detailed search
results; update the test that calls searchCapabilities with detail: true to
include an explicit assertion that the returned capability object contains the
inputTypeDefinition field and that its value equals the fixture string (use the
same fixture value used in the test). Locate the call to searchCapabilities
(with detail: true) and add an assertion against the returned result (e.g.,
expect(result[...].inputTypeDefinition).toEqual(...)) so the presence and exact
content of inputTypeDefinition is verified.

In `@packages/worker/src/mcp/tools/search-format.ts`:
- Around line 674-682: The Type definitions block directly injects
detail.spec.inputTypeDefinition and detail.spec.outputTypeDefinition into a
fixed ``` fence which will break if those strings contain triple backticks;
modify the code that emits the fence (the lines building the '```ts' and closing
'```') to compute a safe fence dynamically—either by scanning
detail.spec.inputTypeDefinition and detail.spec.outputTypeDefinition for the
longest run of backticks and emitting a fence of backticks one character longer,
or by switching to a tilde fence (e.g., ~~~) around the TypeScript content;
update the section that currently references '```ts' and the closing '```' to
use this dynamic/safe fence so injected code cannot terminate the block
prematurely.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f1d82908-cfa3-4c14-8865-09cee6b0ed26

📥 Commits

Reviewing files that changed from the base of the PR and between 0742e15 and b26cf5b.

📒 Files selected for processing (11)
  • docs/use/search.md
  • packages/worker/src/mcp/capabilities/build-capability-registry.ts
  • packages/worker/src/mcp/capabilities/capability-search.ts
  • packages/worker/src/mcp/capabilities/capability-search.workers.test.ts
  • packages/worker/src/mcp/capabilities/define-capability.ts
  • packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts
  • packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.ts
  • packages/worker/src/mcp/capabilities/schema-type-definitions.ts
  • packages/worker/src/mcp/capabilities/types.ts
  • packages/worker/src/mcp/tools/search-format.node.test.ts
  • packages/worker/src/mcp/tools/search-format.ts

Comment on lines +44 to 56
...(outputSchema ? { outputSchema } : {}),
inputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: inputSchema,
typeName: createCapabilityTypeName(definition.name, 'Input'),
}),
...(definition.outputSchema && outputSchema
? {
outputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: outputSchema,
typeName: createCapabilityTypeName(definition.name, 'Output'),
}),
}
: {}),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Preserve explicit outputSchema: false instead of dropping it.

Line 44 and Line 49 use truthiness checks; a valid boolean JSON Schema false is treated as “absent,” so output schema/type definition get silently omitted.

💡 Proposed fix
-		...(outputSchema ? { outputSchema } : {}),
+		...(outputSchema !== undefined ? { outputSchema } : {}),
 		inputTypeDefinition: createSchemaTypeDefinition({
 			jsonSchema: inputSchema,
 			typeName: createCapabilityTypeName(definition.name, 'Input'),
 		}),
-		...(definition.outputSchema && outputSchema
+		...(outputSchema !== undefined
 			? {
 					outputTypeDefinition: createSchemaTypeDefinition({
 						jsonSchema: outputSchema,
 						typeName: createCapabilityTypeName(definition.name, 'Output'),
 					}),
 				}
 			: {}),
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
...(outputSchema ? { outputSchema } : {}),
inputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: inputSchema,
typeName: createCapabilityTypeName(definition.name, 'Input'),
}),
...(definition.outputSchema && outputSchema
? {
outputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: outputSchema,
typeName: createCapabilityTypeName(definition.name, 'Output'),
}),
}
: {}),
...(outputSchema !== undefined ? { outputSchema } : {}),
inputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: inputSchema,
typeName: createCapabilityTypeName(definition.name, 'Input'),
}),
...(outputSchema !== undefined
? {
outputTypeDefinition: createSchemaTypeDefinition({
jsonSchema: outputSchema,
typeName: createCapabilityTypeName(definition.name, 'Output'),
}),
}
: {}),
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/worker/src/mcp/capabilities/define-capability.ts` around lines 44 -
56, The current truthiness checks drop a valid JSON Schema value of false (e.g.,
the spread ...(outputSchema ? { outputSchema } : {}) and the conditional that
creates outputTypeDefinition), so change both checks to explicit undefined
checks: replace the first spread with ...(outputSchema !== undefined ? {
outputSchema } : {}) and change the outputTypeDefinition conditional to use
outputSchema !== undefined && definition.outputSchema (i.e., only test presence
with !== undefined rather than truthiness) while keeping creation via
createSchemaTypeDefinition/createCapabilityTypeName as-is.

Comment thread packages/worker/src/mcp/capabilities/schema-type-definitions.ts
Comment on lines +119 to +121
if (isRecord(additionalProperties)) {
lines.push(`\t[key: string]: ${jsonSchemaToType(additionalProperties)}`)
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n packages/worker/src/mcp/capabilities/schema-type-definitions.ts | head -150 | tail -50

Repository: kentcdodds/kody

Length of output: 1957


🏁 Script executed:

rg -l "objectSchemaToType|schema-type-definitions" --type ts --type tsx packages/worker/src/mcp/ | head -10

Repository: kentcdodds/kody

Length of output: 87


🏁 Script executed:

rg -l "objectSchemaToType" packages/worker/src/mcp/ --type ts

Repository: kentcdodds/kody

Length of output: 123


🏁 Script executed:

fd -e test.ts -e spec.ts packages/worker/src/mcp/ | xargs rg -l "objectSchemaToType|schema-type-definitions" 2>/dev/null

Repository: kentcdodds/kody

Length of output: 601


🏁 Script executed:

cat -n packages/worker/src/mcp/capabilities/define-capability.ts | grep -C 10 "objectSchemaToType"

Repository: kentcdodds/kody

Length of output: 41


🏁 Script executed:

fd test define-capability packages/worker/

Repository: kentcdodds/kody

Length of output: 5260


🏁 Script executed:

cat -n packages/worker/src/mcp/capabilities/schema-compression.node.test.ts | head -100

Repository: kentcdodds/kody

Length of output: 2651


🏁 Script executed:

rg "objectSchemaToType|jsonSchemaToType" packages/worker/src/mcp/capabilities/ -A 5 -B 2

Repository: kentcdodds/kody

Length of output: 6354


🏁 Script executed:

rg -l "objectSchemaToType" packages/worker/src/mcp/capabilities/ --type ts | xargs grep -l "test\|spec" 2>/dev/null || echo "No test files found for objectSchemaToType"

Repository: kentcdodds/kody

Length of output: 123


🏁 Script executed:

fd "schema-type-definitions" packages/worker/ --type f

Repository: kentcdodds/kody

Length of output: 123


🏁 Script executed:

rg "schema-type-definitions" packages/worker/ --type ts -l

Repository: kentcdodds/kody

Length of output: 117


🏁 Script executed:

cat -n packages/worker/src/mcp/capabilities/define-capability.ts | head -200

Repository: kentcdodds/kody

Length of output: 7056


🏁 Script executed:

rg "additionalProperties" packages/worker/src/mcp/capabilities/schema-type-definitions.ts -n

Repository: kentcdodds/kody

Length of output: 434


Prevent index signatures alongside named properties that violate TypeScript's index signature contract.

When named properties exist, line 120 produces invalid TypeScript type declarations. For example, {foo: string, [key: string]: number} fails type checking because the property foo must satisfy the index signature type.

Proposed fix
-	if (isRecord(additionalProperties)) {
+	if (isRecord(additionalProperties) && propertyEntries.length === 0) {
 		lines.push(`\t[key: string]: ${jsonSchemaToType(additionalProperties)}`)
 	}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@packages/worker/src/mcp/capabilities/schema-type-definitions.ts` around lines
119 - 121, The index-signature emission currently unconditionally pushes an
index signature when additionalProperties is a record, which can conflict with
previously emitted named properties; change the logic in the block that calls
isRecord(additionalProperties) and lines.push(...) so you only emit the index
signature if there are no named property lines already emitted (i.e., detect
existing named properties in the lines array before pushing), or alternatively
widen the index signature type to include the union of named property types; use
the existing identifiers additionalProperties, isRecord, lines and
jsonSchemaToType to locate and modify the code that creates the index signature.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit b26cf5b. Configure here.

Comment thread packages/worker/src/mcp/capabilities/schema-type-definitions.ts
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts (1)

150-205: Consider extracting the repeated HOME_CONNECTOR_SESSION mock setup into a helper.

Both tests construct nearly identical env stubs; a helper would reduce drift and make future updates easier.

♻️ Optional refactor sketch
+function createHomeConnectorEnv(tools = runtimeHomeTools): Env {
+  return {
+    HOME_CONNECTOR_SESSION: {
+      idFromName(name: string) {
+        return name
+      },
+      get() {
+        return {
+          fetch() {
+            return Promise.resolve(
+              Response.json({
+                connectorId: 'default',
+                connectedAt: '2026-03-25T00:00:00.000Z',
+                lastSeenAt: '2026-03-25T00:00:01.000Z',
+                tools,
+              }),
+            )
+          },
+        }
+      },
+    },
+  } as unknown as Env
+}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts`
around lines 150 - 205, Extract the repeated HOME_CONNECTOR_SESSION mock into a
shared test helper (e.g., makeHomeConnectorEnv or buildHomeConnectorEnv) that
returns the env stub typed as Env with the idFromName/get/fetch behavior and
runtimeHomeTools wiring; replace the inline env construction in
meta_list_capabilities test (and other tests using the same stub) by calling
this helper and pass the resulting env into
metaListCapabilitiesCapability.handler so tests remain identical but DRYer and
easier to update.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts`:
- Around line 150-205: Extract the repeated HOME_CONNECTOR_SESSION mock into a
shared test helper (e.g., makeHomeConnectorEnv or buildHomeConnectorEnv) that
returns the env stub typed as Env with the idFromName/get/fetch behavior and
runtimeHomeTools wiring; replace the inline env construction in
meta_list_capabilities test (and other tests using the same stub) by calling
this helper and pass the resulting env into
metaListCapabilitiesCapability.handler so tests remain identical but DRYer and
easier to update.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 237257ef-6a9e-47b6-9d10-7c1f1ff9ce15

📥 Commits

Reviewing files that changed from the base of the PR and between b26cf5b and f2f3e01.

📒 Files selected for processing (8)
  • docs/use/search.md
  • packages/worker/src/mcp/capabilities/capability-search.ts
  • packages/worker/src/mcp/capabilities/capability-search.workers.test.ts
  • packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.node.test.ts
  • packages/worker/src/mcp/capabilities/meta/meta-list-capabilities.ts
  • packages/worker/src/mcp/tools/search-format.node.test.ts
  • packages/worker/src/mcp/tools/search-format.ts
  • packages/worker/src/mcp/tools/search.ts
✅ Files skipped from review due to trivial changes (1)
  • docs/use/search.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/worker/src/mcp/tools/search-format.node.test.ts
  • packages/worker/src/mcp/capabilities/capability-search.workers.test.ts
  • packages/worker/src/mcp/tools/search-format.ts

Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants