Port yesterday's studio work to sandbox (code only; env untouched): - per-dealer grid scoping + dealer selector (DEALERS lookup, DEFAULT_DEALER_ID=1) - weekCars fix: skip cars with no slots this week - EV car images: XEV 9e, BE 6, XUV400 EV - gitignore .mcp.json Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
97 lines
4.6 KiB
TypeScript
97 lines
4.6 KiB
TypeScript
// Tech Mahindra Demo v2 — App 164, Org 43
|
|
|
|
export const ORG_ID = "43";
|
|
export const APP_ID = "164";
|
|
|
|
// Core-service expects the workflow UUID (clone-portable) under `workflow_uuid`.
|
|
export const WORKFLOW_ID = "17670bed-d52c-455c-87cd-0c1a34417b4a";
|
|
|
|
export const ACTIVITY_IDS = {
|
|
INIT_ACTIVITY: "d951de1f-282f-4156-88c3-5bb3bb60d499", // INIT — Sales Agent captures lead
|
|
MARK_TEST_DRIVE_DONE: "5e419afc-3ddf-4351-91f4-6bf59035817c", // Manual — after the drive
|
|
AI_CONFIRM_SCHEDULING_SUCCESS: "a2222222-2222-4abc-8000-000000000002", // AI submits on call success
|
|
AI_CONFIRM_SCHEDULING_FAILED: "a3333333-3333-4abc-8000-000000000003", // AI submits on call failure
|
|
RETRY_SCHEDULING_CALL: "a4444444-4444-4abc-8000-000000000004", // Re-fire AI from failed state
|
|
AI_CONFIRM_FEEDBACK_COLLECTED: "a6666666-6666-4abc-8000-000000000006", // AI submits on feedback success
|
|
AI_CONFIRM_FEEDBACK_FAILED: "a7777777-7777-4abc-8000-000000000007", // AI submits on feedback failure
|
|
RETRY_FEEDBACK_CALL: "a8888888-8888-4abc-8000-000000000008", // Re-fire AI from failed feedback
|
|
CONCERN_EXPERT_TD_BOOKED: "e1111111-1111-4abc-8000-000000000009", // AI submits when feedback call surfaces concern + expert TD slot booked
|
|
MARK_EXPERT_TD_DONE: "e2222222-2222-4abc-8000-000000000010", // Dealer marks the expert/specialist drive complete
|
|
} as const;
|
|
|
|
export const RECORD_VIEW_IDS = {
|
|
LEADS: "e4499533-1269-490e-be24-a744da8411af",
|
|
ACTIVE_SCHEDULING: "rv-mahindra-active-scheduling",
|
|
PENDING_FEEDBACK: "rv-mahindra-pending-feedback",
|
|
COMPLETED: "rv-mahindra-completed",
|
|
SCHEDULED_TEST_DRIVES: "rv-mahindra-scheduled-td",
|
|
CONCERN_EXPERT_TD: "ab66664a-19e1-45a2-be51-dca0211a8be7",
|
|
} as const;
|
|
|
|
// rv_uid -> field_keys that should NOT render as table columns even though
|
|
// they're declared on the RV. current_state_id lives on these RVs only so the
|
|
// server-side prefilter validator accepts it; the rendered table doesn't need
|
|
// the raw UUID column.
|
|
export const RV_HIDDEN_COLUMNS: Record<string, string[]> = {
|
|
"rv-mahindra-active-scheduling": ["current_state_id"],
|
|
"rv-mahindra-scheduled-td": ["current_state_id"],
|
|
"rv-mahindra-pending-feedback": ["current_state_id"],
|
|
"rv-mahindra-completed": ["current_state_id"],
|
|
"ab66664a-19e1-45a2-be51-dca0211a8be7": ["current_state_id"],
|
|
};
|
|
|
|
export const DETAIL_VIEW_IDS = {
|
|
INSTANCE_DETAIL: "7865e1d9-9f7c-489e-a12b-98463ebbb5c1",
|
|
} as const;
|
|
|
|
// Parent screen source_uuid (nav target) → dv-screen source_uuid.
|
|
// Each parent screen embeds an rv-screen via a `recordsview` element; this map
|
|
// short-circuits the lookup until row-click jobs land on the rv_tables in studio.
|
|
export const SCREEN_TO_DV: Record<string, string> = {
|
|
"bde69570-1b55-48ae-b670-bcfcaa093505": "05169c21-b5a5-4aa1-8faa-b0ddc8989c7d", // Active Scheduling
|
|
"98af93e0-0f66-444b-a007-129b322be86b": "ca9d2c41-f998-44ae-95d7-299b4c8aa895", // Scheduled Test Drives
|
|
"dfa82b37-ecc0-4b21-99aa-ae50d62c4dfb": "1eb72636-f6fc-41b6-9107-775f93de1fa1", // Pending Feedback
|
|
"1fe0a811-19bf-4dbd-a643-32ae1a067162": "f9828eb2-2c32-4a87-b7f1-fc0c8c16ac86", // Completed
|
|
"66c003dc-0162-46f2-9b87-a7b73051a4ca": "f07f3a7f-300e-4040-b5ff-dba75493738a", // Leads
|
|
"857596bf-2d50-489d-9316-c5dd10b1b42d": "9cb88bfa-13b5-42e3-88dd-c7eb1f419439", // Concern - Expert TD
|
|
};
|
|
|
|
// Workflow states
|
|
export const STATE_IDS = {
|
|
AWAITING_SCHEDULER_CALL: "9df9c9fa-7222-446c-a9f5-a40c8dbe91c2",
|
|
SCHEDULED: "7ecbf865-a1ce-48ce-a409-7fb5cf5213b8",
|
|
AWAITING_FEEDBACK_CALL: "cd8e7333-8a4f-41c0-afe2-fbb1f5b9f52e",
|
|
FEEDBACK_COLLECTED: "aab92dd6-46e6-4448-b61b-fe37f8727c00",
|
|
SCHEDULING_CALL_FAILED: "b1f1ce11-fa11-4abc-9001-0000000000a1",
|
|
FEEDBACK_CALL_FAILED: "b1f1ce11-fa11-4abc-9001-0000000000a2",
|
|
EXPERT_TD_SCHEDULED: "e0000000-0000-4abc-9003-000000000001",
|
|
END_STATE: "33cce5a0-f493-4fac-a1b7-7b68fbcbffce",
|
|
} as const;
|
|
|
|
// Demo calendar — backed by mahindra_demo schema via rdbms-template lookups on
|
|
// the INIT activity (storage_columns=id, display_columns=everything we need).
|
|
export const WORKFLOW_NUMERIC_ID = 29347;
|
|
export const DEMO_SLOTS_SCREEN_UUID = "98b1b946-f67d-4faa-b50f-4566f7e194d0";
|
|
export const CALENDAR_LOOKUPS = {
|
|
TEST_DRIVES: {
|
|
rdbmsTemplateUuid: "c71a16b0-8fc6-4ef2-b52d-2672e4dad8db",
|
|
fieldId: "test_drives_lookup",
|
|
},
|
|
CARS: {
|
|
rdbmsTemplateUuid: "3efdfe0f-8ed9-4fbc-95ce-0f3788622c9c",
|
|
fieldId: "cars_lookup",
|
|
},
|
|
DEALERS: {
|
|
rdbmsTemplateUuid: "2632197b-9614-448e-8116-392cecabe355",
|
|
fieldId: "dealers_lookup",
|
|
},
|
|
} as const;
|
|
|
|
export const DEFAULT_DEALER_ID = 1;
|
|
|
|
// Roles
|
|
export const ROLES = {
|
|
SALES_AGENT: "Sales Agent",
|
|
DEALER: "Dealer",
|
|
} as const;
|