TypeChat
TypeChat copied to clipboard
should we read interface as a text file?
looking at the examples:
https://github.com/microsoft/TypeChat/blob/main/examples/calendar/src/main.ts#L11C25-L11C25 https://github.com/microsoft/TypeChat/blob/main/examples/restaurant/src/main.ts#L15
const schema = fs.readFileSync(path.join(__dirname, "calendarActionsSchema.ts"), "utf8");
I find it odd that we read in the typescript schema as a text file.
after the code is transpiled, those .ts files won't exist.
I guess I could manually copy over to the /dist after building but that seems a hack
Is there a method to just import the schema or pass a typescript type?
Seems like one argument for keeping reading it as a text file is to enable the use of comments alongside the types for added context to guide the model.
But I agree, it's kind of inelegant.
The current approach here is to make sure the .ts file is ingestible via either
- copying the
.tsfile into the output directory, or - using a runner like
ts-nodeortsxto execute your TypeScript directly.
We're also looking at another approach, using a runtime type validation library called Zod - you can see more at @ahejlsberg's PR at #147.