- Added runtime control API to manage team lifecycle, including launch and stop functionalities. - Integrated runtime state retrieval to provide current status of teams. - Enhanced tests to validate the new runtime control features, ensuring proper functionality and error handling. - Updated type definitions to include runtime API methods for better type safety and clarity in team management.
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
const { createControllerContext } = require('./internal/context.js');
|
|
const tasks = require('./internal/tasks.js');
|
|
const kanban = require('./internal/kanban.js');
|
|
const review = require('./internal/review.js');
|
|
const messages = require('./internal/messages.js');
|
|
const processes = require('./internal/processes.js');
|
|
const maintenance = require('./internal/maintenance.js');
|
|
const crossTeam = require('./internal/crossTeam.js');
|
|
const runtime = require('./internal/runtime.js');
|
|
|
|
function bindModule(context, moduleApi) {
|
|
return Object.fromEntries(
|
|
Object.entries(moduleApi).map(([name, fn]) => [
|
|
name,
|
|
(...args) => fn(context, ...args),
|
|
])
|
|
);
|
|
}
|
|
|
|
function createController(options) {
|
|
const context = createControllerContext(options);
|
|
|
|
return {
|
|
context,
|
|
tasks: bindModule(context, tasks),
|
|
kanban: bindModule(context, kanban),
|
|
review: bindModule(context, review),
|
|
messages: bindModule(context, messages),
|
|
processes: bindModule(context, processes),
|
|
maintenance: bindModule(context, maintenance),
|
|
crossTeam: bindModule(context, crossTeam),
|
|
runtime: bindModule(context, runtime),
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
createController,
|
|
createControllerContext,
|
|
tasks,
|
|
kanban,
|
|
review,
|
|
messages,
|
|
processes,
|
|
maintenance,
|
|
crossTeam,
|
|
runtime,
|
|
};
|