68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
const fs = require('node:fs');
|
|
|
|
const FLOW_DEFINITION_FILES = Object.freeze([
|
|
'flows/openai/index.js',
|
|
'flows/kiro/index.js',
|
|
'flows/grok/index.js',
|
|
'flows/index.js',
|
|
]);
|
|
|
|
const FLOW_WORKFLOW_FILES = Object.freeze([
|
|
'flows/openai/workflow.js',
|
|
'flows/kiro/workflow.js',
|
|
'flows/grok/workflow.js',
|
|
]);
|
|
|
|
function readBundle(files = []) {
|
|
return files
|
|
.map((file) => fs.readFileSync(file, 'utf8'))
|
|
.join(';\n');
|
|
}
|
|
|
|
function readFlowRegistryBundle(extraFiles = []) {
|
|
return readBundle([
|
|
...FLOW_DEFINITION_FILES,
|
|
'core/flow-kernel/flow-registry.js',
|
|
...extraFiles,
|
|
]);
|
|
}
|
|
|
|
function readSourceRegistryBundle(extraFiles = []) {
|
|
return readBundle([
|
|
...FLOW_DEFINITION_FILES,
|
|
'core/flow-kernel/flow-registry.js',
|
|
'core/flow-kernel/source-registry.js',
|
|
...extraFiles,
|
|
]);
|
|
}
|
|
|
|
function readStepDefinitionsBundle(extraFiles = []) {
|
|
return readBundle([
|
|
...FLOW_DEFINITION_FILES,
|
|
...FLOW_WORKFLOW_FILES,
|
|
'data/step-definitions.js',
|
|
...extraFiles,
|
|
]);
|
|
}
|
|
|
|
function readFlowCapabilitiesBundle(extraFiles = []) {
|
|
return readBundle([
|
|
...FLOW_DEFINITION_FILES,
|
|
'core/flow-kernel/flow-registry.js',
|
|
'shared/contribution-registry.js',
|
|
'core/flow-kernel/settings-schema.js',
|
|
'core/flow-kernel/flow-capabilities.js',
|
|
...extraFiles,
|
|
]);
|
|
}
|
|
|
|
module.exports = {
|
|
FLOW_DEFINITION_FILES,
|
|
FLOW_WORKFLOW_FILES,
|
|
readBundle,
|
|
readFlowCapabilitiesBundle,
|
|
readFlowRegistryBundle,
|
|
readSourceRegistryBundle,
|
|
readStepDefinitionsBundle,
|
|
};
|