mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-21 14:36:31 +00:00
52ed63715c
The repository stubs of the tour service tests answer findProvenance, which getTour and createTour read since P2C-02. Switching the Tours addon off now ends live MCP sessions like every other addon that gates a tool (MCP-GATE-PARITY-001). copyTour refuses a line without a point instead of placing the copy at 0/0, and new tests cover the reachable paths of the copy, the source check and the provenance of a snapshot without its import record, including a trip copy keeping that record. On the client the shared day assignment hands the plan exactly the tour and the day, the new visibility store is reset between tests, and the tests of the sidebar, the detail, the phone sheet and the origin section match the views this PR built.
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
export const ADDON_IDS = {
|
|
MCP: 'mcp',
|
|
PACKING: 'packing',
|
|
BUDGET: 'budget',
|
|
DOCUMENTS: 'documents',
|
|
VACAY: 'vacay',
|
|
ATLAS: 'atlas',
|
|
COLLAB: 'collab',
|
|
JOURNEY: 'journey',
|
|
AIRTRAIL: 'airtrail',
|
|
DAWARICH: 'dawarich',
|
|
LLM_PARSING: 'llm_parsing',
|
|
COLLECTIONS: 'collections',
|
|
ROADTRIP: 'roadtrip',
|
|
TOURS: 'tours',
|
|
} as const;
|
|
|
|
export type AddonId = (typeof ADDON_IDS)[keyof typeof ADDON_IDS];
|
|
|
|
/**
|
|
* The addons that gate an MCP surface, which is what decides whether switching
|
|
* one off has to tear down the live sessions.
|
|
*
|
|
* A `when:` gate is evaluated once per session, at attach time. A client that
|
|
* connected while an addon was on therefore keeps its tools registered and
|
|
* callable after an admin switches it off — the gate never re-runs — while the
|
|
* REST half answers 404 for the same user in the same moment. Only tearing the
|
|
* sessions down closes that.
|
|
*
|
|
* Stated here rather than collected at import time, so nothing depends on which
|
|
* modules a caller happens to have loaded, and guarded by a parity test that
|
|
* reads the gates out of the source: as a hand-kept list this had already
|
|
* drifted, and airtrail and collections were missing from it.
|
|
*
|
|
* MCP itself is on the list for a different reason — it gates the whole surface
|
|
* rather than any single tool.
|
|
*/
|
|
export const MCP_GATED_ADDON_IDS: readonly AddonId[] = [
|
|
ADDON_IDS.MCP,
|
|
ADDON_IDS.AIRTRAIL,
|
|
ADDON_IDS.ATLAS,
|
|
ADDON_IDS.BUDGET,
|
|
ADDON_IDS.COLLAB,
|
|
ADDON_IDS.COLLECTIONS,
|
|
ADDON_IDS.DAWARICH,
|
|
ADDON_IDS.DOCUMENTS,
|
|
ADDON_IDS.JOURNEY,
|
|
ADDON_IDS.PACKING,
|
|
ADDON_IDS.ROADTRIP,
|
|
ADDON_IDS.TOURS,
|
|
ADDON_IDS.VACAY,
|
|
];
|