feat(lanes): add ccam lanes integration CLI + route (F3a)
This commit is contained in:
+13
-1
@@ -35,7 +35,7 @@ const { withLaneLock } = require("../lib/lane-lock");
|
||||
const { checkSync, mergeSync, continueSync } = require("../lib/lane-sync");
|
||||
const { installAgents } = require("../lib/lane-agents");
|
||||
const { syncMcp } = require("../lib/lane-mcp");
|
||||
const { HOOKS, runHook, resolveProfile } = require("../lib/lane-profile");
|
||||
const { HOOKS, runHook, resolveProfile, isIntegrationEnabled } = require("../lib/lane-profile");
|
||||
const { slotDirs } = require("../lib/lane-slots");
|
||||
const {
|
||||
upLane,
|
||||
@@ -371,6 +371,18 @@ router.post("/:id/mcp/sync", sameOriginGuard, async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Whether a named integration (tracker, dev_qc, ci_wait, ...) is turned on
|
||||
* for this lane — reads .ccam/profile/integrations.env. Read-only, no
|
||||
* sameOriginGuard needed (same reasoning GET /:id/git already documents:
|
||||
* that guard exists for destructive actions).
|
||||
*/
|
||||
router.get("/:id/integrations/:name", (req, res) => {
|
||||
const lane = lanesLib.getLane(req.params.id);
|
||||
if (!lane) return res.status(404).json({ error: { code: "ENOLANE", message: "lane not found" } });
|
||||
res.json({ enabled: isIntegrationEnabled(lane, req.params.name) });
|
||||
});
|
||||
|
||||
/**
|
||||
* A lane's working-copy facts: branch, short HEAD, that commit's subject, and
|
||||
* the uncommitted counts. Read-only, so no same-origin guard — that guard
|
||||
|
||||
Reference in New Issue
Block a user