From 886f3ffb2369ad649a363103a8a859bfac0263c4 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Tue, 22 Apr 2025 23:23:07 -0700 Subject: [PATCH] fix: type check (#70) --- .github/workflows/test.yml | 17 +++++++++++++++++ packages/core/src/core/workflow.ts | 26 +++----------------------- packages/core/src/interrupter/mcp.ts | 4 ++-- packages/llamaindex/tsconfig.json | 2 +- packages/llamaindex/tsconfig.test.json | 7 ++++++- tsconfig.json | 9 +++------ tsconfig.lint-staged.json | 2 +- 7 files changed, 33 insertions(+), 34 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9138e3..766e0e0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -68,3 +68,20 @@ jobs: run: pnpm install - name: Run lint run: pnpm run lint + type: + name: Type Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: "pnpm" + - name: Install dependencies + run: pnpm install + - name: Run build + run: pnpx turbo run build --filter="./packages/*" + - name: Run type check + run: pnpm run typecheck diff --git a/packages/core/src/core/workflow.ts b/packages/core/src/core/workflow.ts index aabb3da..9756b34 100644 --- a/packages/core/src/core/workflow.ts +++ b/packages/core/src/core/workflow.ts @@ -1,7 +1,7 @@ import { type WorkflowEvent, type WorkflowEventData } from "./event"; import { createContext, type Handler, type WorkflowContext } from "./context"; -export type Workflow = { +export type Workflow = { handle< const AcceptEvents extends WorkflowEvent[], Result extends ReturnType["with"]> | void, @@ -9,30 +9,10 @@ export type Workflow = { accept: AcceptEvents, handler: Handler, ): void; - createContext(): Mutate; - $$workflowMutators?: Mos; + createContext(): WorkflowContext; }; -type Mutate = number extends Ms["length" & keyof Ms] - ? S - : Ms extends [] - ? S - : Ms extends [[infer Mi, infer Ma], ...infer Mrs] - ? Mutate[Mi & WorkflowMutatorIdentifier], Mrs> - : never; - -export interface WorkflowMutators {} -export type WorkflowMutatorIdentifier = keyof WorkflowMutators< - unknown, - unknown ->; - -export type WorkflowCreator< - Mis extends [] = [], - Mos extends [] = [], -> = () => Workflow; - -export const createWorkflow: WorkflowCreator = (): Workflow => { +export const createWorkflow = (): Workflow => { const config = { steps: new Map< WorkflowEvent[], diff --git a/packages/core/src/interrupter/mcp.ts b/packages/core/src/interrupter/mcp.ts index b5c0ed9..bb13630 100644 --- a/packages/core/src/interrupter/mcp.ts +++ b/packages/core/src/interrupter/mcp.ts @@ -6,7 +6,7 @@ import type { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/proto import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; const requestHandlerExtraAsyncLocalStorage = - createAsyncContext(); + createAsyncContext>(); export const getReqHandlerExtra = () => { const extra = requestHandlerExtraAsyncLocalStorage.getStore(); @@ -26,7 +26,7 @@ export function mcpTool< stop: WorkflowEvent, ): ( args: Start, - extra: RequestHandlerExtra, + extra: RequestHandlerExtra, ) => CallToolResult | Promise { return async (args, extra) => requestHandlerExtraAsyncLocalStorage.run(extra, async () => { diff --git a/packages/llamaindex/tsconfig.json b/packages/llamaindex/tsconfig.json index 39c0d18..2b798cf 100644 --- a/packages/llamaindex/tsconfig.json +++ b/packages/llamaindex/tsconfig.json @@ -7,7 +7,7 @@ "include": ["./src"], "references": [ { - "path": "./tsconfig.test.json" + "path": "../core/tsconfig.json" } ] } diff --git a/packages/llamaindex/tsconfig.test.json b/packages/llamaindex/tsconfig.test.json index 0a840ed..f60266d 100644 --- a/packages/llamaindex/tsconfig.test.json +++ b/packages/llamaindex/tsconfig.test.json @@ -4,5 +4,10 @@ "outDir": "./lib/test/browser", "tsBuildInfoFile": "./lib/test/.tsbuildinfo" }, - "include": ["./src", "./tests", "./vitest.config.ts"] + "include": ["./tests", "./vitest.config.ts"], + "references": [ + { + "path": "./tsconfig.json" + } + ] } diff --git a/tsconfig.json b/tsconfig.json index a47b8c5..b993f0c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -25,17 +25,14 @@ { "path": "./packages/core/tsconfig.test.json" }, - { - "path": "./packages/core/tsconfig.browser.test.json" - }, - { - "path": "./packages/core/tsconfig.browser.json" - }, { "path": "./packages/core/tsconfig.json" }, { "path": "./packages/llamaindex/tsconfig.json" + }, + { + "path": "./packages/llamaindex/tsconfig.test.json" } ] } diff --git a/tsconfig.lint-staged.json b/tsconfig.lint-staged.json index 325b044..f4a4853 100644 --- a/tsconfig.lint-staged.json +++ b/tsconfig.lint-staged.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.json", + "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./lib/lint-staged", "tsBuildInfoFile": "./lib/lint-staged/.tsbuildinfo",