feat: build pipeline — .ts → .esm.js + .yaml + .d.ts 三件套

- add command auto-detects .ts vs .esm.js input
- .ts: Bun.build → bundle + descriptor extraction + JSON Schema → .d.ts
- .esm.js: requires .yaml alongside, .d.ts optional
- JSON Schema → TypeScript type converter
- hello-world example workflow
- 63 tests pass, biome clean

Closes #7
小橘 <xiaoju@shazhou.work>
This commit is contained in:
2026-05-06 06:26:14 +00:00
parent 47e8fdf5b3
commit e670047e6a
15 changed files with 405 additions and 236 deletions
+1 -3
View File
@@ -12,9 +12,7 @@ async function pathExists(path: string): Promise<boolean> {
}
}
export type BundleFileSource =
| { kind: "text"; text: string }
| { kind: "path"; path: string };
export type BundleFileSource = { kind: "text"; text: string } | { kind: "path"; path: string };
export type WorkflowBundleStoreInput = {
esmJs: BundleFileSource;