mirror of
https://github.com/langgenius/dify.git
synced 2026-07-24 04:58:32 +08:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
import { execFileSync } from 'node:child_process'
|
|
import { mkdtemp, rm } from 'node:fs/promises'
|
|
import { tmpdir } from 'node:os'
|
|
import { dirname, join, resolve } from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..')
|
|
const workspaceRoot = resolve(packageRoot, '../..')
|
|
const repository = resolve(
|
|
process.env.KNOWLEDGE_FS_REPO ?? resolve(workspaceRoot, '../knowledge-fs'),
|
|
)
|
|
const temporaryDirectory = await mkdtemp(join(tmpdir(), 'dify-knowledge-fs-types-'))
|
|
|
|
try {
|
|
const openapiPath = join(temporaryDirectory, 'knowledge-fs.console.json')
|
|
run(
|
|
'uv',
|
|
[
|
|
'run',
|
|
'--project',
|
|
resolve(workspaceRoot, 'api'),
|
|
resolve(workspaceRoot, 'api/dev/generate_knowledge_fs_contract.py'),
|
|
'--repository',
|
|
repository,
|
|
'--check',
|
|
'--output-openapi',
|
|
openapiPath,
|
|
],
|
|
workspaceRoot,
|
|
)
|
|
run('pnpm', ['exec', 'openapi-ts', '-f', 'openapi-ts.knowledge-fs.config.ts'], packageRoot, {
|
|
KNOWLEDGE_FS_OPENAPI: openapiPath,
|
|
})
|
|
run('pnpm', ['exec', 'vp', 'fmt', 'generated/knowledge-fs'], packageRoot)
|
|
} finally {
|
|
await rm(temporaryDirectory, { force: true, recursive: true })
|
|
}
|
|
|
|
function run(command, args, cwd, extraEnv = {}) {
|
|
execFileSync(command, args, {
|
|
cwd,
|
|
env: { ...process.env, ...extraEnv },
|
|
stdio: 'inherit',
|
|
})
|
|
}
|