@transcend-io/mcp-server-consent 0.6.6 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1 -1
- package/dist/cli.mjs.map +1 -1
- package/dist/scopes-B_lpIlR_.mjs.map +1 -1
- package/package.json +5 -5
package/dist/cli.mjs
CHANGED
package/dist/cli.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.mjs","names":["packageJson.version"],"sources":["../package.json","../src/cli.ts"],"
|
|
1
|
+
{"version":3,"file":"cli.mjs","names":["packageJson.version"],"sources":["../package.json","../src/cli.ts"],"mappings":";;;;;ACOA,gBAAgB;CACd,MAAM;CACGA;CACT,aAAa;CACb,UAAU;CACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopes-B_lpIlR_.mjs","names":[],"sources":["../src/resolveAirgapBundleId.ts","../src/tools/consent_bulk_triage.ts","../src/analyticsDateRange.ts","../src/normalizeAnalyticsMetric.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/index.ts","../src/scopes.ts"],"sourcesContent":["import type { TranscendGraphQLBase } from '@transcend-io/mcp-server-base';\nimport {\n FETCH_CONSENT_MANAGER_ID,\n type TranscendCliFetchConsentManagerIdResponse,\n} from '@transcend-io/sdk';\n\nconst bundleIdCache = new WeakMap<TranscendGraphQLBase, string>();\n\n/**\n * Lazily resolve the airgap bundle ID from the API key.\n * Caches the result per GraphQL client instance so subsequent\n * calls return instantly without an extra network request.\n */\nexport async function resolveAirgapBundleId(graphql: TranscendGraphQLBase): Promise<string> {\n const cached = bundleIdCache.get(graphql);\n if (cached) return cached;\n\n const data = await graphql.makeRequest<TranscendCliFetchConsentManagerIdResponse>(\n FETCH_CONSENT_MANAGER_ID,\n {},\n );\n\n const id = data.consentManager.consentManager.id;\n bundleIdCache.set(graphql, id);\n return id;\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n ConsentTrackerStatus,\n ConsentTrackerType,\n TriageAction,\n} from '@transcend-io/privacy-types';\nimport {\n UPDATE_OR_CREATE_COOKIES,\n UPDATE_DATA_FLOWS,\n type TranscendUpdateCookieInputGql,\n type TranscendUpdateDataFlowInputGql,\n type TranscendCliUpdateOrCreateCookiesResponse,\n type TranscendCliUpdateDataFlowsResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const BulkTriageItemSchema = z.object({\n type: z.nativeEnum(ConsentTrackerType).describe('Item type'),\n id: z.string().describe('Item ID (for data flows) or cookie name (for cookies)'),\n action: z.nativeEnum(TriageAction).describe('Action to take: APPROVE or JUNK'),\n trackingPurposes: z\n .array(z.string())\n .optional()\n .describe('Tracking purposes to assign (required when approving)'),\n service: z.string().optional().describe('Service name to assign'),\n});\nexport type BulkTriageItemInput = z.infer<typeof BulkTriageItemSchema>;\n\nexport const BulkTriageSchema = z.object({\n items: z.array(BulkTriageItemSchema).min(1).describe('Items to triage'),\n});\nexport type BulkTriageInput = z.infer<typeof BulkTriageSchema>;\n\nexport function createConsentBulkTriageTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_bulk_triage',\n description:\n 'Bulk triage action: approve or junk multiple cookies and data flows in a single call. ' +\n 'For cookies, APPROVE sets status=LIVE; JUNK sets isJunk=true. ' +\n 'For data flows, same behavior. Optionally assign tracking purposes and service when approving.',\n category: 'Consent Management',\n readOnly: false,\n confirmationHint: 'Bulk approves or junks cookies and data flows',\n annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false },\n zodSchema: BulkTriageSchema,\n handler: async ({ items }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const cookieItems = items.filter((i) => i.type === 'cookie');\n const dfItems = items.filter((i) => i.type === 'data_flow');\n\n const results: {\n /** Updated cookies */\n cookies: { name: string; action: string; status: string }[];\n /** Updated data flows */\n dataFlows: { id: string; action: string; status: string }[];\n } = { cookies: [], dataFlows: [] };\n\n if (cookieItems.length > 0) {\n const cookieInputs: TranscendUpdateCookieInputGql[] = cookieItems.map((item) => ({\n name: item.id,\n ...(item.action === 'APPROVE'\n ? { status: ConsentTrackerStatus.Live, isJunk: false }\n : { status: ConsentTrackerStatus.Live, isJunk: true }),\n ...(item.trackingPurposes ? { trackingPurposes: item.trackingPurposes } : {}),\n ...(item.service ? { service: item.service } : {}),\n }));\n await clients.graphql.makeRequest<TranscendCliUpdateOrCreateCookiesResponse>(\n UPDATE_OR_CREATE_COOKIES,\n {\n airgapBundleId,\n cookies: cookieInputs,\n },\n );\n results.cookies = cookieInputs.map((c) => ({\n name: c.name,\n action: c.isJunk ? 'JUNKED' : 'APPROVED',\n status: c.status || 'LIVE',\n }));\n }\n\n if (dfItems.length > 0) {\n const dfInputs: TranscendUpdateDataFlowInputGql[] = dfItems.map((item) => ({\n id: item.id,\n ...(item.action === 'APPROVE'\n ? { status: ConsentTrackerStatus.Live, isJunk: false }\n : { status: ConsentTrackerStatus.Live, isJunk: true }),\n ...(item.trackingPurposes ? { purposeIds: item.trackingPurposes } : {}),\n ...(item.service ? { service: item.service } : {}),\n }));\n const dfResult = await clients.graphql.makeRequest<TranscendCliUpdateDataFlowsResponse>(\n UPDATE_DATA_FLOWS,\n {\n airgapBundleId,\n dataFlows: dfInputs,\n },\n );\n results.dataFlows = dfResult.updateDataFlows.dataFlows.map((df) => ({\n id: df.id,\n action: df.isJunk ? 'JUNKED' : 'APPROVED',\n status: df.status,\n }));\n }\n\n return createToolResult(true, {\n totalProcessed: cookieItems.length + dfItems.length,\n ...results,\n });\n },\n });\n}\n","export interface ResolvedAnalyticsDateRange {\n /** Start time as epoch seconds */\n startEpoch: number;\n /** End time as epoch seconds */\n endEpoch: number;\n /** Start time as ISO string (for legacy analyticsData API) */\n startIso: string;\n /** End time as ISO string (for legacy analyticsData API) */\n endIso: string;\n}\n\n/**\n * Resolve a date range from explicit ISO timestamps or a lookback window.\n */\nexport function resolveAnalyticsDateRange(args: {\n /** Explicit start datetime (ISO 8601) */\n start?: string;\n /** Explicit end datetime (ISO 8601) */\n end?: string;\n /** Lookback window in days when start is omitted (default 7) */\n days?: number;\n}): ResolvedAnalyticsDateRange {\n const endDate = args.end ? new Date(args.end) : new Date();\n const lookbackDays = args.days ?? 7;\n const startDate = args.start\n ? new Date(args.start)\n : new Date(endDate.getTime() - lookbackDays * 24 * 60 * 60 * 1000);\n\n if (Number.isNaN(startDate.getTime()) || Number.isNaN(endDate.getTime())) {\n throw new Error('Invalid start or end date');\n }\n if (startDate > endDate) {\n throw new Error('Start date must be before end date');\n }\n\n return {\n startEpoch: Math.floor(startDate.getTime() / 1000),\n endEpoch: Math.floor(endDate.getTime() / 1000),\n startIso: startDate.toISOString(),\n endIso: endDate.toISOString(),\n };\n}\n","import { z } from '@transcend-io/mcp-server-base';\nimport { AirgapBundleAnalyticsMetric } from '@transcend-io/privacy-types';\n\nconst VALID_METRICS = new Set<string>(Object.values(AirgapBundleAnalyticsMetric));\n\n/** Common agent/API guesses mapped to GraphQL AnalyticsEvent values */\nconst ANALYTICS_METRIC_ALIASES: Record<string, AirgapBundleAnalyticsMetric> = {\n PAGE_VIEW: AirgapBundleAnalyticsMetric.PageViews,\n CONSENT_SESSION: AirgapBundleAnalyticsMetric.SiteSessions,\n CONSENT_SESSIONS: AirgapBundleAnalyticsMetric.SiteSessions,\n};\n\n/**\n * Normalize metric input, accepting common aliases (e.g. PAGE_VIEW → PAGE_VIEWS).\n */\nexport function normalizeAnalyticsMetric(metric: string): AirgapBundleAnalyticsMetric | string {\n const upper = metric.toUpperCase();\n if (VALID_METRICS.has(upper)) {\n return upper as AirgapBundleAnalyticsMetric;\n }\n return ANALYTICS_METRIC_ALIASES[upper] ?? upper;\n}\n\nexport const airgapBundleAnalyticsMetricSchema = z.preprocess(\n (value) => (typeof value === 'string' ? normalizeAnalyticsMetric(value) : value),\n z.nativeEnum(AirgapBundleAnalyticsMetric),\n);\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n AirgapBundleAnalyticsDimension,\n AirgapBundleAnalyticsMetric,\n} from '@transcend-io/privacy-types';\nimport {\n AIRGAP_BUNDLE_AGGREGATE_ANALYTICS,\n type TranscendCliAirgapBundleAggregateAnalyticsResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAnalyticsDateRange } from '../analyticsDateRange.js';\nimport { airgapBundleAnalyticsMetricSchema } from '../normalizeAnalyticsMetric.js';\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const GetAggregateAnalyticsSchema = z.object({\n metric: airgapBundleAnalyticsMetricSchema.describe(\n 'Analytics metric to query. CONSENT_CHANGED for opt-in/out counts; SITE_SESSIONS or PAGE_VIEWS for traffic totals.',\n ),\n start: z\n .string()\n .optional()\n .describe('Start datetime (ISO 8601). Defaults to `days` lookback from end.'),\n end: z.string().optional().describe('End datetime (ISO 8601). Defaults to now.'),\n days: z.coerce\n .number()\n .min(1)\n .max(365)\n .optional()\n .describe('Lookback window in days when start is omitted (default: 7).'),\n include_dimensions: z\n .array(z.nativeEnum(AirgapBundleAnalyticsDimension))\n .optional()\n .describe(\n 'Dimension breakdowns (e.g. NEW_VALUE, REGIME, PURPOSE). Recommended for CONSENT_CHANGED.',\n ),\n});\nexport type GetAggregateAnalyticsInput = z.infer<typeof GetAggregateAnalyticsSchema>;\n\nexport function createConsentGetAggregateAnalyticsTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_get_aggregate_analytics',\n description:\n 'Query aggregate consent analytics via airgapBundleAggregateAnalytics. ' +\n 'Use CONSENT_CHANGED with NEW_VALUE/REGIME/PURPOSE for opt-in/out counts; ' +\n 'SITE_SESSIONS or PAGE_VIEWS for total traffic. Requires ViewConsentManager API key scope.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: GetAggregateAnalyticsSchema,\n handler: async ({ metric, start, end, days, include_dimensions }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const range = resolveAnalyticsDateRange({ start, end, days });\n const data =\n await clients.graphql.makeRequest<TranscendCliAirgapBundleAggregateAnalyticsResponse>(\n AIRGAP_BUNDLE_AGGREGATE_ANALYTICS,\n {\n id: airgapBundleId,\n input: {\n metric,\n start: range.startEpoch,\n end: range.endEpoch,\n ...(include_dimensions?.length ? { includeDimensions: include_dimensions } : {}),\n },\n },\n );\n const items = data.airgapBundleAggregateAnalytics.items;\n\n return createToolResult(true, {\n airgapBundleId,\n metric,\n period: {\n start: range.startIso,\n end: range.endIso,\n startEpoch: range.startEpoch,\n endEpoch: range.endEpoch,\n },\n items,\n totalRows: items.length,\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n ConsentManagerAnalyticsDataSource,\n ConsentManagerMetricBin,\n} from '@transcend-io/privacy-types';\nimport { CONSENT_MANAGER_ANALYTICS_DATA, type ConsentManagerMetric } from '@transcend-io/sdk';\n\nimport { resolveAnalyticsDateRange } from '../analyticsDateRange.js';\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const GetAnalyticsDataSchema = z.object({\n data_source: z\n .nativeEnum(ConsentManagerAnalyticsDataSource)\n .describe(\n 'analyticsData source: PRIVACY_SIGNAL_TIMESERIES (DNT/GPC), ' +\n 'CONSENT_CHANGES_TIMESERIES (opt-in/out), or CONSENT_SESSIONS_BY_REGIME.',\n ),\n start: z\n .string()\n .optional()\n .describe('Start datetime (ISO 8601). Defaults to `days` lookback from end.'),\n end: z.string().optional().describe('End datetime (ISO 8601). Defaults to now.'),\n days: z.coerce\n .number()\n .min(1)\n .max(365)\n .optional()\n .describe('Lookback window in days when start is omitted (default: 7).'),\n bin: z\n .nativeEnum(ConsentManagerMetricBin)\n .optional()\n .default(ConsentManagerMetricBin.Daily)\n .describe('Time bin size for analyticsData (1h or 1d, default: 1d).'),\n});\nexport type GetAnalyticsDataInput = z.infer<typeof GetAnalyticsDataSchema>;\n\nexport function createConsentGetAnalyticsDataTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_get_analytics_data',\n description:\n 'Query consent metrics via the analyticsData GraphQL query. ' +\n 'Returns timeseries for privacy signals (DNT/GPC), consent changes (opt-in/out), ' +\n 'or sessions by regime. Requires ViewConsentManager API key scope.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: GetAnalyticsDataSchema,\n handler: async ({ data_source, start, end, days, bin }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const range = resolveAnalyticsDateRange({ start, end, days });\n const data = await clients.graphql.makeRequest<{\n analyticsData: { series: ConsentManagerMetric[] };\n }>(CONSENT_MANAGER_ANALYTICS_DATA, {\n input: {\n dataSource: data_source,\n startDate: range.startIso,\n endDate: range.endIso,\n forceRefetch: true,\n airgapBundleId,\n binInterval: bin,\n smoothTimeseries: false,\n },\n });\n const series = data.analyticsData.series;\n\n return createToolResult(true, {\n airgapBundleId,\n dataSource: data_source,\n binInterval: bin,\n period: {\n start: range.startIso,\n end: range.endIso,\n },\n series,\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n COOKIE_STATS,\n DATA_FLOW_STATS,\n type TranscendCliCookieStatsResponse,\n type TranscendCliDataFlowStatsResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const GetInventoryStatsSchema = z.object({});\nexport type GetInventoryStatsInput = z.infer<typeof GetInventoryStatsSchema>;\n\nexport function createConsentGetInventoryStatsTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_get_inventory_stats',\n description:\n 'Get cookie and data-flow inventory triage counts: live (approved), needs review, and junk. ' +\n 'This is inventory status, not consent analytics — use consent_get_aggregate_analytics or ' +\n 'consent_get_timeseries_analytics for opt-in/out and signal metrics.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: GetInventoryStatsSchema,\n handler: async () => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const variables = { input: { airgapBundleId } };\n const [cookieData, dfData] = await Promise.all([\n clients.graphql.makeRequest<TranscendCliCookieStatsResponse>(COOKIE_STATS, variables),\n clients.graphql.makeRequest<TranscendCliDataFlowStatsResponse>(DATA_FLOW_STATS, variables),\n ]);\n return createToolResult(true, {\n cookies: cookieData.cookieStats,\n dataFlows: dfData.dataFlowStats,\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\n\nexport const GetPreferencesSchema = z.object({\n identifier: z.string().describe('User identifier (e.g., email, user ID)'),\n partition: z.string().optional().describe('Partition/organization context (optional)'),\n});\nexport type GetPreferencesInput = z.infer<typeof GetPreferencesSchema>;\n\nexport function createConsentGetPreferencesTool(clients: ToolClients) {\n const { rest } = clients;\n return defineTool({\n name: 'consent_get_preferences',\n description: 'Get consent preferences for a specific user/identifier',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n requireSombra: true,\n zodSchema: GetPreferencesSchema,\n handler: async ({ identifier, partition }) => {\n const result = await rest.getConsentPreferences(identifier, partition);\n if (!result) {\n return createToolResult(true, {\n found: false,\n message: 'No consent preferences found for this identifier',\n });\n }\n return createToolResult(true, {\n found: true,\n preferences: result,\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n AirgapBundleAnalyticsBinInterval,\n AirgapBundleAnalyticsMetric,\n} from '@transcend-io/privacy-types';\nimport {\n AIRGAP_BUNDLE_TIMESERIES_ANALYTICS,\n type TranscendCliAirgapBundleTimeseriesAnalyticsResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAnalyticsDateRange } from '../analyticsDateRange.js';\nimport { airgapBundleAnalyticsMetricSchema } from '../normalizeAnalyticsMetric.js';\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const GetTimeseriesAnalyticsSchema = z.object({\n metric: airgapBundleAnalyticsMetricSchema.describe(\n 'Analytics metric to query. PAGE_VIEWS for daily page-view volume; SITE_SESSIONS for sessions; ' +\n 'SIGNAL_DETECTED for GPC/DNT signal counts over time.',\n ),\n start: z\n .string()\n .optional()\n .describe('Start datetime (ISO 8601). Defaults to `days` lookback from end.'),\n end: z.string().optional().describe('End datetime (ISO 8601). Defaults to now.'),\n days: z.coerce\n .number()\n .min(1)\n .max(365)\n .optional()\n .describe('Lookback window in days when start is omitted (default: 7).'),\n bin_interval: z\n .nativeEnum(AirgapBundleAnalyticsBinInterval)\n .optional()\n .default(AirgapBundleAnalyticsBinInterval.Hourly)\n .describe('Time bin size: 1m, 1h, or 1d (default: 1h).'),\n});\nexport type GetTimeseriesAnalyticsInput = z.infer<typeof GetTimeseriesAnalyticsSchema>;\n\nexport function createConsentGetTimeseriesAnalyticsTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_get_timeseries_analytics',\n description:\n 'Query timeseries consent analytics via airgapBundleTimeseriesAnalytics. ' +\n 'Use PAGE_VIEWS or SITE_SESSIONS for traffic volume; SIGNAL_DETECTED for privacy signal counts. ' +\n 'Requires ViewConsentManager API key scope.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: GetTimeseriesAnalyticsSchema,\n handler: async ({ metric, start, end, days, bin_interval }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const range = resolveAnalyticsDateRange({ start, end, days });\n const data =\n await clients.graphql.makeRequest<TranscendCliAirgapBundleTimeseriesAnalyticsResponse>(\n AIRGAP_BUNDLE_TIMESERIES_ANALYTICS,\n {\n id: airgapBundleId,\n input: {\n metric,\n start: range.startEpoch,\n end: range.endEpoch,\n binInterval: bin_interval,\n },\n },\n );\n const items = data.airgapBundleTimeseriesAnalytics.items;\n\n return createToolResult(true, {\n airgapBundleId,\n metric,\n binInterval: bin_interval,\n period: {\n start: range.startIso,\n end: range.endIso,\n startEpoch: range.startEpoch,\n endEpoch: range.endEpoch,\n },\n items,\n totalRows: items.length,\n });\n },\n });\n}\n","import {\n createToolResult,\n defineTool,\n EmptySchema,\n type ToolClients,\n} from '@transcend-io/mcp-server-base';\nimport {\n FETCH_CONSENT_MANAGER,\n type TranscendCliFetchConsentManagerResponse,\n} from '@transcend-io/sdk';\n\nexport const ListAirgapBundlesSchema = EmptySchema;\nexport type ListAirgapBundlesInput = Record<string, never>;\n\nexport function createConsentListAirgapBundlesTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_list_airgap_bundles',\n description:\n 'Get the consent manager (airgap bundle) configured for your organization. ' +\n 'Returns the bundle ID, URLs, configuration, and domains.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: ListAirgapBundlesSchema,\n handler: async (_args) => {\n const data = await clients.graphql.makeRequest<TranscendCliFetchConsentManagerResponse>(\n FETCH_CONSENT_MANAGER,\n {},\n );\n return createToolResult(true, data.consentManager.consentManager);\n },\n });\n}\n","import { createListResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n ConsentTrackerStatus,\n CookieOrderField,\n OrderDirection,\n} from '@transcend-io/privacy-types';\nimport { COOKIES, type TranscendCliCookiesResponse } from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const ListCookiesSchema = z.object({\n limit: z\n .number()\n .min(1)\n .max(200)\n .optional()\n .default(50)\n .describe('Maximum number of cookies to return per page (1-200, default 50).'),\n offset: z\n .number()\n .min(0)\n .optional()\n .default(0)\n .describe('Number of results to skip for pagination (default 0).'),\n status: z\n .nativeEnum(ConsentTrackerStatus)\n .describe('Filter by status: NEEDS_REVIEW (triage) or LIVE (approved)'),\n isJunk: z.boolean().optional().describe('Filter by junk status'),\n showZeroActivity: z\n .boolean()\n .optional()\n .describe(\n 'Include items with zero activity. Omit (default) so the NEEDS_REVIEW total matches ' +\n 'consent_get_inventory_stats needReviewCount; set true for the full triage backlog ' +\n 'including never-active cookies.',\n ),\n text: z.string().optional().describe('Search text filter'),\n service: z.string().optional().describe('Filter by service name'),\n minOccurrences: z\n .number()\n .min(0)\n .optional()\n .describe('Only return cookies with at least this many occurrences (traffic)'),\n orderField: z\n .nativeEnum(CookieOrderField)\n .optional()\n .describe('Field to sort by (e.g. occurrences to rank by traffic)'),\n orderDirection: z.nativeEnum(OrderDirection).optional().describe('Sort direction: ASC or DESC'),\n});\nexport type ListCookiesInput = z.infer<typeof ListCookiesSchema>;\n\nexport function createConsentListCookiesTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_list_cookies',\n description:\n 'List cookies in your consent manager. ' +\n 'Requires a status filter: NEEDS_REVIEW for triage backlog, LIVE for approved cookies. ' +\n 'Returns name, service, tracking purposes, activity (occurrences), junk status, and more. ' +\n 'Sort by occurrences (orderField=occurrences, orderDirection=DESC) to surface ' +\n 'top-traffic cookies, and use minOccurrences to filter low-traffic noise.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: ListCookiesSchema,\n handler: async ({\n limit,\n offset,\n status,\n isJunk,\n showZeroActivity,\n text,\n service,\n minOccurrences,\n orderField,\n orderDirection,\n }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const data = await clients.graphql.makeRequest<TranscendCliCookiesResponse>(COOKIES, {\n input: { airgapBundleId },\n first: limit,\n offset,\n filterBy: {\n status,\n ...(isJunk !== undefined ? { isJunk } : {}),\n ...(showZeroActivity !== undefined ? { showZeroActivity } : {}),\n ...(text ? { text } : {}),\n ...(service ? { service } : {}),\n ...(minOccurrences !== undefined ? { minOccurrences } : {}),\n },\n ...(orderField && orderDirection\n ? { orderBy: [{ field: orderField, direction: orderDirection }] }\n : {}),\n });\n const { nodes, totalCount } = data.cookies;\n return createListResult(nodes, {\n totalCount,\n hasNextPage: offset + nodes.length < totalCount,\n });\n },\n });\n}\n","import { createListResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport {\n ConsentTrackerStatus,\n DataFlowOrderField,\n DataFlowScope,\n OrderDirection,\n} from '@transcend-io/privacy-types';\nimport { DATA_FLOWS, type TranscendCliDataFlowsResponse } from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const ListDataFlowsSchema = z.object({\n limit: z\n .number()\n .min(1)\n .max(200)\n .optional()\n .default(50)\n .describe('Maximum number of data flows to return per page (1-200, default 50).'),\n offset: z\n .number()\n .min(0)\n .optional()\n .default(0)\n .describe('Number of results to skip for pagination (default 0).'),\n status: z\n .nativeEnum(ConsentTrackerStatus)\n .describe('Filter by status: NEEDS_REVIEW (triage) or LIVE (approved)'),\n isJunk: z.boolean().optional().describe('Filter by junk status'),\n showZeroActivity: z\n .boolean()\n .optional()\n .describe(\n 'Include items with zero activity. Omit (default) so the NEEDS_REVIEW total matches ' +\n 'consent_get_inventory_stats needReviewCount; set true for the full triage backlog ' +\n 'including never-active flows.',\n ),\n text: z.string().optional().describe('Search text filter'),\n service: z.string().optional().describe('Filter by service name'),\n unmappedOnly: z\n .boolean()\n .optional()\n .describe(\n 'Return only unmapped/orphaned flows with no associated service (catalog integration). ' +\n 'Useful with status=LIVE to find approved flows that are not mapped to a service.',\n ),\n type: z\n .nativeEnum(DataFlowScope)\n .optional()\n .describe('Filter by data flow scope type (e.g. HOST, PATH, REGEX, CSP)'),\n minOccurrences: z\n .number()\n .min(0)\n .optional()\n .describe('Only return flows with at least this many occurrences (traffic)'),\n orderField: z.nativeEnum(DataFlowOrderField).optional().describe('Field to sort by'),\n orderDirection: z.nativeEnum(OrderDirection).optional().describe('Sort direction: ASC or DESC'),\n});\nexport type ListDataFlowsInput = z.infer<typeof ListDataFlowsSchema>;\n\nexport function createConsentListDataFlowsTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_list_data_flows',\n description:\n 'List data flows (network requests) in your consent manager. ' +\n 'Requires a status filter: NEEDS_REVIEW for triage backlog, LIVE for approved flows. ' +\n 'Returns value (URL/host), service, tracking purposes, activity (occurrences), and more. ' +\n 'Use unmappedOnly to find approved flows with no service, type to filter by scope ' +\n '(e.g. CSP), and minOccurrences to focus on high-traffic flows.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: ListDataFlowsSchema,\n handler: async ({\n limit,\n offset,\n status,\n isJunk,\n showZeroActivity,\n text,\n service,\n unmappedOnly,\n type,\n minOccurrences,\n orderField,\n orderDirection,\n }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const data = await clients.graphql.makeRequest<TranscendCliDataFlowsResponse>(DATA_FLOWS, {\n input: { airgapBundleId },\n first: limit,\n offset,\n filterBy: {\n status,\n ...(isJunk !== undefined ? { isJunk } : {}),\n ...(showZeroActivity !== undefined ? { showZeroActivity } : {}),\n ...(text ? { text } : {}),\n // An empty-string service maps to `catalogIntegrationName IS NULL`\n // server-side, so unmappedOnly takes precedence over a named service filter.\n ...(unmappedOnly ? { service: '' } : service ? { service } : {}),\n ...(type ? { type } : {}),\n ...(minOccurrences !== undefined ? { minOccurrences } : {}),\n },\n ...(orderField && orderDirection\n ? { orderBy: [{ field: orderField, direction: orderDirection }] }\n : {}),\n });\n const { nodes, totalCount } = data.dataFlows;\n return createListResult(nodes, {\n totalCount,\n hasNextPage: offset + nodes.length < totalCount,\n });\n },\n });\n}\n","import { createListResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport { PURPOSES, type TranscendCliPurposesResponse } from '@transcend-io/sdk';\n\nexport const ListPurposesSchema = z.object({\n limit: z.coerce\n .number()\n .min(1)\n .max(100)\n .optional()\n .default(50)\n .describe('Maximum number of purposes to return (1-100, default 50).'),\n});\nexport type ListPurposesInput = z.infer<typeof ListPurposesSchema>;\n\nexport function createConsentListPurposesTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_list_purposes',\n description: 'List all tracking purposes configured for consent management (max ~100 results).',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: ListPurposesSchema,\n handler: async ({ limit }) => {\n const data = await clients.graphql.makeRequest<TranscendCliPurposesResponse>(PURPOSES, {\n first: Math.min(limit, 100),\n });\n const { nodes, totalCount } = data.purposes;\n return createListResult(nodes, {\n totalCount,\n hasNextPage: nodes.length < totalCount,\n });\n },\n });\n}\n","import { createListResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport { EXPERIENCES, type TranscendCliExperiencesResponse } from '@transcend-io/sdk';\n\nexport const ListRegimesSchema = z.object({\n limit: z.coerce\n .number()\n .min(1)\n .max(100)\n .optional()\n .default(50)\n .describe('Maximum number of regimes to return per page (1-100, default 50).'),\n offset: z.coerce\n .number()\n .min(0)\n .optional()\n .default(0)\n .describe('Number of results to skip for pagination (default 0).'),\n});\nexport type ListRegimesInput = z.infer<typeof ListRegimesSchema>;\n\nexport function createConsentListRegimesTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_list_regimes',\n description:\n 'List all consent experiences (regional regimes) configured for your organization. ' +\n 'Returns experience name, regions, purposes, opted-out purposes, and view state.',\n category: 'Consent Management',\n readOnly: true,\n annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true },\n zodSchema: ListRegimesSchema,\n handler: async ({ limit, offset }) => {\n const data = await clients.graphql.makeRequest<TranscendCliExperiencesResponse>(EXPERIENCES, {\n first: limit,\n offset,\n });\n const { totalCount, nodes } = data.experiences;\n return createListResult(nodes, {\n totalCount,\n hasNextPage: offset + nodes.length < totalCount,\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\n\nexport const PurposeConsentSchema = z.object({\n purpose: z.string().describe('Purpose slug'),\n enabled: z.boolean().describe('Whether consent is granted'),\n});\nexport type PurposeConsentInput = z.infer<typeof PurposeConsentSchema>;\n\nexport const SetPreferencesSchema = z.object({\n identifier: z.string().optional().describe('User identifier'),\n partition: z.string().describe('Partition/organization context'),\n purposes: z.array(PurposeConsentSchema).describe('Array of purpose consent settings'),\n confirmed: z.boolean().optional().describe('Whether consent was explicitly confirmed'),\n});\nexport type SetPreferencesInput = z.infer<typeof SetPreferencesSchema>;\n\nexport function createConsentSetPreferencesTool(clients: ToolClients) {\n const { rest } = clients;\n return defineTool({\n name: 'consent_set_preferences',\n description: 'Set consent preferences for a user (client-side sync)',\n category: 'Consent Management',\n readOnly: false,\n confirmationHint: 'Updates consent preferences for the user',\n annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true },\n requireSombra: true,\n zodSchema: SetPreferencesSchema,\n handler: async ({ partition, identifier, purposes, confirmed }) => {\n const result = await rest.syncConsent({\n partition,\n identifier,\n purposes: purposes.map((p) => ({\n purpose: p.purpose,\n enabled: p.enabled,\n })),\n confirmed,\n });\n return createToolResult(true, {\n ...result,\n message: 'Consent preferences synced successfully',\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport { ConsentTrackerStatus } from '@transcend-io/privacy-types';\nimport {\n UPDATE_OR_CREATE_COOKIES,\n type TranscendUpdateCookieInputGql,\n type TranscendCliUpdateOrCreateCookiesResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const UpdateCookieItemSchema = z.object({\n name: z.string().describe('Cookie name (used as the identifier for upsert)'),\n trackingPurposes: z\n .array(z.string())\n .optional()\n .describe('Tracking purpose slugs (e.g., \"Advertising\", \"Analytics\")'),\n description: z.string().optional().describe('Cookie description'),\n service: z.string().optional().describe('Service/integration name'),\n isJunk: z.boolean().optional().describe('Mark as junk'),\n status: z\n .nativeEnum(ConsentTrackerStatus)\n .optional()\n .describe('Set status to LIVE (approve) or NEEDS_REVIEW'),\n});\nexport type UpdateCookieItemInput = z.infer<typeof UpdateCookieItemSchema>;\n\nexport const UpdateCookiesSchema = z.object({\n cookies: z.array(UpdateCookieItemSchema).min(1).describe('Cookies to update'),\n});\nexport type UpdateCookiesInput = z.infer<typeof UpdateCookiesSchema>;\n\nexport function createConsentUpdateCookiesTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_update_cookies',\n description:\n 'Update one or more cookies. Use to approve (status=LIVE), junk (isJunk=true), ' +\n 'assign tracking purposes, or set a service. The cookie \"name\" field is the identifier ' +\n 'for upsert — existing cookies with matching names will be updated.',\n category: 'Consent Management',\n readOnly: false,\n confirmationHint: 'Updates cookies in the consent manager',\n annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },\n zodSchema: UpdateCookiesSchema,\n handler: async ({ cookies }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const cookieInputs: TranscendUpdateCookieInputGql[] = cookies.map((c) => ({\n name: c.name,\n ...(c.trackingPurposes ? { trackingPurposes: c.trackingPurposes } : {}),\n ...(c.description !== undefined ? { description: c.description } : {}),\n ...(c.service !== undefined ? { service: c.service } : {}),\n ...(c.isJunk !== undefined ? { isJunk: c.isJunk } : {}),\n ...(c.status !== undefined ? { status: c.status } : {}),\n }));\n await clients.graphql.makeRequest<TranscendCliUpdateOrCreateCookiesResponse>(\n UPDATE_OR_CREATE_COOKIES,\n {\n airgapBundleId,\n cookies: cookieInputs,\n },\n );\n return createToolResult(true, {\n updated: cookieInputs.length,\n cookies: cookieInputs.map((c) => ({\n name: c.name,\n status: c.status,\n isJunk: c.isJunk,\n trackingPurposes: c.trackingPurposes,\n service: c.service,\n })),\n });\n },\n });\n}\n","import { createToolResult, defineTool, z, type ToolClients } from '@transcend-io/mcp-server-base';\nimport { ConsentTrackerStatus } from '@transcend-io/privacy-types';\nimport {\n UPDATE_DATA_FLOWS,\n type TranscendUpdateDataFlowInputGql,\n type TranscendCliUpdateDataFlowsResponse,\n} from '@transcend-io/sdk';\n\nimport { resolveAirgapBundleId } from '../resolveAirgapBundleId.js';\n\nexport const UpdateDataFlowItemSchema = z.object({\n id: z.string().describe('Data flow ID'),\n trackingPurposes: z.array(z.string()).optional().describe('Tracking purpose slugs'),\n description: z.string().optional().describe('Data flow description'),\n service: z.string().optional().describe('Service/integration name'),\n isJunk: z.boolean().optional().describe('Mark as junk'),\n status: z\n .nativeEnum(ConsentTrackerStatus)\n .optional()\n .describe('Set status to LIVE (approve) or NEEDS_REVIEW'),\n});\nexport type UpdateDataFlowItemInput = z.infer<typeof UpdateDataFlowItemSchema>;\n\nexport const UpdateDataFlowsSchema = z.object({\n dataFlows: z.array(UpdateDataFlowItemSchema).min(1).describe('Data flows to update'),\n});\nexport type UpdateDataFlowsInput = z.infer<typeof UpdateDataFlowsSchema>;\n\nexport function createConsentUpdateDataFlowsTool(clients: ToolClients) {\n return defineTool({\n name: 'consent_update_data_flows',\n description:\n 'Update one or more data flows. Use to approve (status=LIVE), junk (isJunk=true), ' +\n 'assign tracking purposes, or set a service.',\n category: 'Consent Management',\n readOnly: false,\n confirmationHint: 'Updates data flows in the consent manager',\n annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: true },\n zodSchema: UpdateDataFlowsSchema,\n handler: async ({ dataFlows }) => {\n const airgapBundleId = await resolveAirgapBundleId(clients.graphql);\n const dfInputs: TranscendUpdateDataFlowInputGql[] = dataFlows.map((df) => ({\n id: df.id,\n ...(df.trackingPurposes ? { purposeIds: df.trackingPurposes } : {}),\n ...(df.description !== undefined ? { description: df.description } : {}),\n ...(df.service !== undefined ? { service: df.service } : {}),\n ...(df.isJunk !== undefined ? { isJunk: df.isJunk } : {}),\n ...(df.status !== undefined ? { status: df.status } : {}),\n }));\n const data = await clients.graphql.makeRequest<TranscendCliUpdateDataFlowsResponse>(\n UPDATE_DATA_FLOWS,\n {\n airgapBundleId,\n dataFlows: dfInputs,\n },\n );\n return createToolResult(true, {\n updated: data.updateDataFlows.dataFlows.length,\n dataFlows: data.updateDataFlows.dataFlows.map((df) => ({\n id: df.id,\n value: df.value,\n status: df.status,\n isJunk: df.isJunk,\n purposes: df.purposes.map((p) => p.name),\n service: df.service?.title,\n })),\n });\n },\n });\n}\n","import type { ToolDefinition, ToolClients } from '@transcend-io/mcp-server-base';\n\nimport { createConsentBulkTriageTool } from './consent_bulk_triage.js';\nimport { createConsentGetAggregateAnalyticsTool } from './consent_get_aggregate_analytics.js';\nimport { createConsentGetAnalyticsDataTool } from './consent_get_analytics_data.js';\nimport { createConsentGetInventoryStatsTool } from './consent_get_inventory_stats.js';\nimport { createConsentGetPreferencesTool } from './consent_get_preferences.js';\nimport { createConsentGetTimeseriesAnalyticsTool } from './consent_get_timeseries_analytics.js';\nimport { createConsentListAirgapBundlesTool } from './consent_list_airgap_bundles.js';\nimport { createConsentListCookiesTool } from './consent_list_cookies.js';\nimport { createConsentListDataFlowsTool } from './consent_list_data_flows.js';\nimport { createConsentListPurposesTool } from './consent_list_purposes.js';\nimport { createConsentListRegimesTool } from './consent_list_regimes.js';\nimport { createConsentSetPreferencesTool } from './consent_set_preferences.js';\nimport { createConsentUpdateCookiesTool } from './consent_update_cookies.js';\nimport { createConsentUpdateDataFlowsTool } from './consent_update_data_flows.js';\n\nexport function getConsentTools(clients: ToolClients): ToolDefinition[] {\n return [\n createConsentGetPreferencesTool(clients),\n createConsentSetPreferencesTool(clients),\n createConsentListPurposesTool(clients),\n createConsentListDataFlowsTool(clients),\n createConsentListCookiesTool(clients),\n createConsentListAirgapBundlesTool(clients),\n createConsentListRegimesTool(clients),\n createConsentGetInventoryStatsTool(clients),\n createConsentGetAggregateAnalyticsTool(clients),\n createConsentGetTimeseriesAnalyticsTool(clients),\n createConsentGetAnalyticsDataTool(clients),\n createConsentUpdateCookiesTool(clients),\n createConsentUpdateDataFlowsTool(clients),\n createConsentBulkTriageTool(clients),\n ];\n}\n","import { ScopeName } from '@transcend-io/privacy-types';\n\n/** OAuth scopes required for Consent MCP tools (offline_access added by base). */\nexport const CONSENT_OAUTH_SCOPES = [\n ScopeName.ViewConsentManager,\n ScopeName.ViewAssignedConsentManager,\n ScopeName.ManageConsentManager,\n ScopeName.ManageAssignedConsentManager,\n ScopeName.ViewDataFlow,\n ScopeName.ManageDataFlow,\n] as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scopes-B_lpIlR_.mjs","names":[],"sources":["../src/resolveAirgapBundleId.ts","../src/tools/consent_bulk_triage.ts","../src/analyticsDateRange.ts","../src/normalizeAnalyticsMetric.ts","../src/tools/consent_get_aggregate_analytics.ts","../src/tools/consent_get_analytics_data.ts","../src/tools/consent_get_inventory_stats.ts","../src/tools/consent_get_preferences.ts","../src/tools/consent_get_timeseries_analytics.ts","../src/tools/consent_list_airgap_bundles.ts","../src/tools/consent_list_cookies.ts","../src/tools/consent_list_data_flows.ts","../src/tools/consent_list_purposes.ts","../src/tools/consent_list_regimes.ts","../src/tools/consent_set_preferences.ts","../src/tools/consent_update_cookies.ts","../src/tools/consent_update_data_flows.ts","../src/tools/index.ts","../src/scopes.ts"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@transcend-io/mcp-server-consent",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"description": "Transcend MCP Server — Consent Management tools.",
|
|
5
5
|
"homepage": "https://github.com/transcend-io/tools/tree/main/packages/mcp/mcp-server-consent",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
34
34
|
"zod": "^4.3.6",
|
|
35
|
-
"@transcend-io/mcp-server-base": "0.
|
|
36
|
-
"@transcend-io/privacy-types": "5.
|
|
37
|
-
"@transcend-io/sdk": "1.
|
|
35
|
+
"@transcend-io/mcp-server-base": "0.13.0",
|
|
36
|
+
"@transcend-io/privacy-types": "5.13.0",
|
|
37
|
+
"@transcend-io/sdk": "1.9.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "tsdown",
|
|
52
|
-
"test": "vitest run",
|
|
52
|
+
"test": "vitest run --config ../../../vitest.config.mcp.ts",
|
|
53
53
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
54
54
|
"check:exports": "attw --pack . --ignore-rules cjs-resolves-to-esm",
|
|
55
55
|
"check:publint": "publint --level warning --strict --pack pnpm"
|