Sign In

@mailrith/public-api

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mailrith/public-api - npm Package Compare versions

Comparing version
0.1.2
to
0.2.0
+729
dist/resource-contract.d.ts
export type PublicApiScopeAction = "read" | "write" | "import" | "export";
export type PublicApiScopeDefinition = {
key: string;
resourceKey: string;
action: PublicApiScopeAction;
label: string;
description: string;
};
export type PublicApiResourceArchetype = "singleton" | "primary_collection" | "supporting_catalog" | "nested_record" | "durable_job" | "ephemeral_handle" | "derived_view";
export type PublicApiResourceContract = {
key: string;
name: string;
description: string;
archetype: PublicApiResourceArchetype;
collectionPaths?: readonly string[];
itemPaths?: readonly string[];
exactNaturalKeys: readonly string[];
scopeKeys: readonly string[];
scopeResourceKey?: string;
};
declare const publicApiScopeDefinitionCatalog: readonly [{
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "live_actions:write";
readonly resourceKey: "live_actions";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:write";
readonly resourceKey: "subscribers";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:import";
readonly resourceKey: "subscribers";
readonly action: "import";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:export";
readonly resourceKey: "subscribers";
readonly action: "export";
readonly label: string;
readonly description: string;
}, {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "segments:write";
readonly resourceKey: "segments";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "tags:write";
readonly resourceKey: "tags";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:write";
readonly resourceKey: "forms";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "form_submissions:read";
readonly resourceKey: "form_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:write";
readonly resourceKey: "landing_pages";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_page_submissions:read";
readonly resourceKey: "landing_page_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:write";
readonly resourceKey: "broadcasts";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:write";
readonly resourceKey: "sequences";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "magic_links:write";
readonly resourceKey: "magic_links";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:write";
readonly resourceKey: "automations";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_delivery_connections:read";
readonly resourceKey: "email_delivery_connections";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_delivery_connections:write";
readonly resourceKey: "email_delivery_connections";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_templates:write";
readonly resourceKey: "email_templates";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "custom_fields:write";
readonly resourceKey: "custom_fields";
readonly action: "write";
readonly label: string;
readonly description: string;
}, {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "write";
readonly label: string;
readonly description: string;
}];
export type PublicApiScopeKey = (typeof publicApiScopeDefinitionCatalog)[number]["key"];
export declare const publicApiResourceContracts: readonly [PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract, PublicApiResourceContract];
export declare const publicApiResourceContractByKey: Map<string, PublicApiResourceContract>;
export declare const publicApiScopeDisplaySections: readonly [{
readonly key: "overview";
readonly label: "Overview";
readonly resources: readonly [{
readonly label: "Dashboard";
readonly resourceKeys: readonly ["analytics"];
}, {
readonly label: "Live Actions";
readonly resourceKeys: readonly ["live_actions"];
}];
}, {
readonly key: "subscribers";
readonly label: "Subscribers";
readonly resources: readonly [{
readonly label: "Subscribers";
readonly resourceKeys: readonly ["subscribers"];
}, {
readonly label: "Segments";
readonly resourceKeys: readonly ["segments"];
}, {
readonly label: "Tags";
readonly resourceKeys: readonly ["tags"];
}, {
readonly label: "Forms";
readonly resourceKeys: readonly ["forms", "form_submissions"];
}, {
readonly label: "Landing Pages";
readonly resourceKeys: readonly ["landing_pages", "landing_page_submissions"];
}];
}, {
readonly key: "campaigns";
readonly label: "Campaigns";
readonly resources: readonly [{
readonly label: "Broadcasts";
readonly resourceKeys: readonly ["broadcasts"];
}, {
readonly label: "Sequences";
readonly resourceKeys: readonly ["sequences"];
}, {
readonly label: "Magic Links";
readonly resourceKeys: readonly ["magic_links"];
}, {
readonly label: "Automations";
readonly resourceKeys: readonly ["automations"];
}];
}, {
readonly key: "account";
readonly label: "Account";
readonly resources: readonly [{
readonly label: "Workspaces";
readonly resourceKeys: readonly ["workspace"];
}, {
readonly label: "Email Delivery Connections";
readonly resourceKeys: readonly ["email_delivery_connections"];
}, {
readonly label: "Email Templates";
readonly resourceKeys: readonly ["email_templates"];
}, {
readonly label: "Custom Fields";
readonly resourceKeys: readonly ["custom_fields"];
}, {
readonly label: "Integrations";
readonly resourceKeys: readonly ["webhooks"];
}];
}];
export declare const publicApiScopeResourceOrder: ("workspace" | "email_delivery_connections" | "analytics" | "subscribers" | "tags" | "custom_fields" | "email_templates" | "forms" | "landing_pages" | "sequences" | "automations" | "magic_links" | "broadcasts" | "segments" | "live_actions" | "form_submissions" | "landing_page_submissions" | "webhooks")[];
export declare const publicApiScopeDefinitions: ({
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "live_actions:write";
readonly resourceKey: "live_actions";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:write";
readonly resourceKey: "subscribers";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:import";
readonly resourceKey: "subscribers";
readonly action: "import";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:export";
readonly resourceKey: "subscribers";
readonly action: "export";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:write";
readonly resourceKey: "segments";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:write";
readonly resourceKey: "tags";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:write";
readonly resourceKey: "forms";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "form_submissions:read";
readonly resourceKey: "form_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:write";
readonly resourceKey: "landing_pages";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_page_submissions:read";
readonly resourceKey: "landing_page_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:write";
readonly resourceKey: "broadcasts";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:write";
readonly resourceKey: "sequences";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:write";
readonly resourceKey: "magic_links";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:write";
readonly resourceKey: "automations";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_delivery_connections:read";
readonly resourceKey: "email_delivery_connections";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_delivery_connections:write";
readonly resourceKey: "email_delivery_connections";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:write";
readonly resourceKey: "email_templates";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:write";
readonly resourceKey: "custom_fields";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "write";
readonly label: string;
readonly description: string;
})[];
export declare const publicApiScopeDefinitionByKey: Map<"workspace:read" | "analytics:read" | "live_actions:write" | "subscribers:read" | "subscribers:write" | "subscribers:import" | "subscribers:export" | "segments:read" | "segments:write" | "tags:read" | "tags:write" | "forms:read" | "forms:write" | "form_submissions:read" | "landing_pages:read" | "landing_pages:write" | "landing_page_submissions:read" | "broadcasts:read" | "broadcasts:write" | "sequences:read" | "sequences:write" | "magic_links:read" | "magic_links:write" | "automations:read" | "automations:write" | "email_delivery_connections:read" | "email_delivery_connections:write" | "email_templates:read" | "email_templates:write" | "custom_fields:read" | "custom_fields:write" | "webhooks:read" | "webhooks:write", {
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "live_actions:write";
readonly resourceKey: "live_actions";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:write";
readonly resourceKey: "subscribers";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:import";
readonly resourceKey: "subscribers";
readonly action: "import";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:export";
readonly resourceKey: "subscribers";
readonly action: "export";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:write";
readonly resourceKey: "segments";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:write";
readonly resourceKey: "tags";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:write";
readonly resourceKey: "forms";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "form_submissions:read";
readonly resourceKey: "form_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:write";
readonly resourceKey: "landing_pages";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_page_submissions:read";
readonly resourceKey: "landing_page_submissions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:write";
readonly resourceKey: "broadcasts";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:write";
readonly resourceKey: "sequences";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:write";
readonly resourceKey: "magic_links";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:write";
readonly resourceKey: "automations";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_delivery_connections:read";
readonly resourceKey: "email_delivery_connections";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_delivery_connections:write";
readonly resourceKey: "email_delivery_connections";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:write";
readonly resourceKey: "email_templates";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:write";
readonly resourceKey: "custom_fields";
readonly action: "write";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "write";
readonly label: string;
readonly description: string;
}>;
export declare const publicApiScopeKeys: PublicApiScopeKey[];
export declare const publicApiReadScopeKeys: PublicApiScopeKey[];
export type PublicApiWorkProfileKey = "full_email_marketing_access" | "reporting" | "subscriber_management" | "content_and_capture" | "broadcasts" | "sequences" | "automations" | "email_delivery_setup" | "subscriber_import_export" | "outbound_webhooks";
export type PublicApiWorkProfile = {
key: PublicApiWorkProfileKey;
label: string;
description: string;
scopeKeys: readonly PublicApiScopeKey[];
};
export declare const publicApiDefaultWorkProfileKey: "full_email_marketing_access";
export declare const publicApiWorkProfiles: readonly [PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile, PublicApiWorkProfile];
export declare const publicApiWorkProfileDisplaySections: readonly [{
readonly key: "recommended";
readonly label: "Recommended";
readonly profileKeys: readonly ["full_email_marketing_access", "reporting"];
}, {
readonly key: "focused";
readonly label: "Focused Work";
readonly profileKeys: readonly ["subscriber_management", "content_and_capture", "broadcasts", "sequences", "automations", "subscriber_import_export"];
}, {
readonly key: "connections";
readonly label: "Connections";
readonly profileKeys: readonly ["email_delivery_setup", "outbound_webhooks"];
}];
export declare const publicApiWorkProfileByKey: Map<PublicApiWorkProfileKey, PublicApiWorkProfile>;
export declare const publicApiDefaultScopeKeys: ("workspace:read" | "analytics:read" | "live_actions:write" | "subscribers:read" | "subscribers:write" | "subscribers:import" | "subscribers:export" | "segments:read" | "segments:write" | "tags:read" | "tags:write" | "forms:read" | "forms:write" | "form_submissions:read" | "landing_pages:read" | "landing_pages:write" | "landing_page_submissions:read" | "broadcasts:read" | "broadcasts:write" | "sequences:read" | "sequences:write" | "magic_links:read" | "magic_links:write" | "automations:read" | "automations:write" | "email_delivery_connections:read" | "email_delivery_connections:write" | "email_templates:read" | "email_templates:write" | "custom_fields:read" | "custom_fields:write" | "webhooks:read" | "webhooks:write")[];
export declare const publicApiAgentReadQuickstartScopeKeys: readonly ["workspace:read", "subscribers:read"];
export declare const isPublicApiScopeKey: (value: string) => value is PublicApiScopeKey;
export declare const normalizePublicApiScopeKeys: (scopeKeys: Iterable<string>) => PublicApiScopeKey[];
export declare const validatePublicApiScopeKeys: (scopeKeys: Iterable<string>) => {
ok: true;
value: PublicApiScopeKey[];
} | {
ok: false;
unsupportedScopeKeys: string[];
};
export declare const resolvePublicApiOperationRequiredScopes: (params: {
resourceKey: string;
operationId: string;
method: string;
}) => PublicApiScopeKey[];
export {};
//# sourceMappingURL=resource-contract.d.ts.map
{"version":3,"file":"resource-contract.d.ts","sourceRoot":"","sources":["../src/resource-contract.ts"],"names":[],"mappings":"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"}
import { requiresPublicApiLiveActionPermission } from "./agent-risk.js";
const scope = (key, resourceKey, action, label, description) => ({ key, resourceKey, action, label, description });
const publicApiScopeDefinitionCatalog = [
scope("workspace:read", "workspace", "read", "View Workspace", "View the selected workspace name, settings, sender identities, and current API context."),
scope("analytics:read", "analytics", "read", "View Analytics", "Run bounded aggregate reports from compact delivery and engagement rollups."),
scope("live_actions:write", "live_actions", "write", "Perform Live Actions", "Send email, activate or change running workflows, change Subscriber delivery or targeting status, publish public capture surfaces, and configure outbound event delivery."),
scope("subscribers:read", "subscribers", "read", "View Subscribers", "View bounded pages of Subscribers, profiles, status, Tags, Sequence enrollment, and compact consent details."),
scope("subscribers:write", "subscribers", "write", "Manage Subscribers", "Create, change, subscribe, unsubscribe, organize, enroll, and delete individual Subscribers."),
scope("subscribers:import", "subscribers", "import", "Import Subscribers", "Start bounded bulk imports that can create or change Subscribers."),
scope("subscribers:export", "subscribers", "export", "Export Subscribers", "Create and download bounded exports containing Subscriber data."),
scope("segments:read", "segments", "read", "View Segments", "View saved Segment definitions and bounded preview counts."),
scope("segments:write", "segments", "write", "Manage Segments", "Create, change, preview, and delete saved Subscriber-selection definitions."),
scope("tags:read", "tags", "read", "View Tags", "View the workspace Tag catalog."),
scope("tags:write", "tags", "write", "Manage Tags", "Create, change, and delete Tags used to organize Subscribers and target email."),
scope("forms:read", "forms", "read", "View Forms", "View Form definitions and settings."),
scope("forms:write", "forms", "write", "Manage Forms", "Create, change, preview, and delete publicly reachable Subscriber capture Forms."),
scope("form_submissions:read", "form_submissions", "read", "View Form Submissions", "View bounded pages of Form submissions and the Subscriber data they contain."),
scope("landing_pages:read", "landing_pages", "read", "View Landing Pages", "View hosted Landing Page definitions and settings."),
scope("landing_pages:write", "landing_pages", "write", "Manage Landing Pages", "Create, change, preview, and delete publicly reachable hosted Landing Pages."),
scope("landing_page_submissions:read", "landing_page_submissions", "read", "View Landing Page Submissions", "View bounded pages of Landing Page submissions and the Subscriber data they contain."),
scope("broadcasts:read", "broadcasts", "read", "View Broadcasts", "View Broadcast drafts, readiness, send progress, delivery errors, and aggregate results."),
scope("broadcasts:write", "broadcasts", "write", "Manage Broadcasts", "Create, change, test, schedule, send, stop, and delete Broadcasts."),
scope("sequences:read", "sequences", "read", "View Sequences", "View Sequence definitions, readiness, journeys, status, and aggregate results."),
scope("sequences:write", "sequences", "write", "Manage Sequences", "Create, change, test, start, pause, and delete Sequences."),
scope("magic_links:read", "magic_links", "read", "View Magic Links", "View Magic Link destinations and configured Subscriber actions."),
scope("magic_links:write", "magic_links", "write", "Manage Magic Links", "Create, change, and delete public Magic Links and their Subscriber actions."),
scope("automations:read", "automations", "read", "View Automations", "View Automation definitions, readiness, journeys, runs, status, and aggregate results."),
scope("automations:write", "automations", "write", "Manage Automations", "Create, change, test, start, pause, return to draft, and delete Automations."),
scope("email_delivery_connections:read", "email_delivery_connections", "read", "View Email Delivery Connections", "View connection names, providers, sender identities, readiness, and secret-free configuration."),
scope("email_delivery_connections:write", "email_delivery_connections", "write", "Manage Email Delivery Connections", "Create, change, verify, test, enable, disable, and delete connections. Saved credentials are never returned."),
scope("email_templates:read", "email_templates", "read", "View Email Templates", "View reusable email template content and settings."),
scope("email_templates:write", "email_templates", "write", "Manage Email Templates", "Create, change, preview, and delete reusable email content."),
scope("custom_fields:read", "custom_fields", "read", "View Custom Fields", "View the workspace custom-field schema."),
scope("custom_fields:write", "custom_fields", "write", "Manage Custom Fields", "Create, change, and delete custom-field definitions used by Subscriber data."),
scope("webhooks:read", "webhooks", "read", "View Outbound Webhooks", "View outbound webhook destinations, selected events, and delivery health."),
scope("webhooks:write", "webhooks", "write", "Manage Outbound Webhooks", "Create, change, delete, and rotate signing secrets for outbound webhook destinations."),
];
const resourceContract = (contract) => ({
...contract,
scopeKeys: contract.scopeKeys ?? [],
});
export const publicApiResourceContracts = [
resourceContract({
key: "analytics",
name: "Analytics",
description: "Bounded aggregate delivery and engagement reports.",
archetype: "derived_view",
collectionPaths: ["/v1/analytics/reports"],
itemPaths: ["/v1/analytics/reports/{report_id}"],
exactNaturalKeys: [],
scopeKeys: ["analytics:read"],
}),
resourceContract({
key: "live_actions",
name: "Live Actions",
description: "Operations that immediately affect Subscribers or external systems.",
archetype: "derived_view",
exactNaturalKeys: [],
scopeKeys: ["live_actions:write"],
}),
resourceContract({
key: "subscribers",
name: "Subscribers",
description: "Subscriber profiles, status, Tags, and Sequence enrollment.",
archetype: "primary_collection",
collectionPaths: ["/v1/subscribers"],
itemPaths: ["/v1/subscribers/{subscriber_id}"],
exactNaturalKeys: ["email"],
scopeKeys: [
"subscribers:read",
"subscribers:write",
"subscribers:import",
"subscribers:export",
],
}),
resourceContract({
key: "segments",
name: "Segments",
description: "Saved Subscriber-selection definitions.",
archetype: "primary_collection",
collectionPaths: ["/v1/segments"],
itemPaths: ["/v1/segments/{segment_id}"],
exactNaturalKeys: [],
scopeKeys: ["segments:read", "segments:write"],
}),
resourceContract({
key: "tags",
name: "Tags",
description: "The workspace Tag catalog.",
archetype: "supporting_catalog",
collectionPaths: ["/v1/tags"],
itemPaths: ["/v1/tags/{tag_id}"],
exactNaturalKeys: [],
scopeKeys: ["tags:read", "tags:write"],
}),
resourceContract({
key: "forms",
name: "Forms",
description: "Subscriber capture Forms.",
archetype: "primary_collection",
collectionPaths: ["/v1/forms"],
itemPaths: ["/v1/forms/{form_id}"],
exactNaturalKeys: [],
scopeKeys: ["forms:read", "forms:write"],
}),
resourceContract({
key: "form_submissions",
name: "Form Submissions",
description: "Bounded Form submission records.",
archetype: "nested_record",
collectionPaths: ["/v1/forms/{form_id}/submissions"],
itemPaths: ["/v1/forms/{form_id}/submissions/{submission_id}"],
exactNaturalKeys: [],
scopeKeys: ["form_submissions:read"],
}),
resourceContract({
key: "landing_pages",
name: "Landing Pages",
description: "Hosted Subscriber capture pages.",
archetype: "primary_collection",
collectionPaths: ["/v1/landing-pages"],
itemPaths: ["/v1/landing-pages/{landing_page_id}"],
exactNaturalKeys: [],
scopeKeys: ["landing_pages:read", "landing_pages:write"],
}),
resourceContract({
key: "landing_page_submissions",
name: "Landing Page Submissions",
description: "Bounded Landing Page submission records.",
archetype: "nested_record",
collectionPaths: ["/v1/landing-pages/{landing_page_id}/submissions"],
itemPaths: [
"/v1/landing-pages/{landing_page_id}/submissions/{submission_id}",
],
exactNaturalKeys: [],
scopeKeys: ["landing_page_submissions:read"],
}),
resourceContract({
key: "broadcasts",
name: "Broadcasts",
description: "One-time email messages and their delivery state.",
archetype: "primary_collection",
collectionPaths: ["/v1/broadcasts"],
itemPaths: ["/v1/broadcasts/{broadcast_id}"],
exactNaturalKeys: [],
scopeKeys: ["broadcasts:read", "broadcasts:write"],
}),
resourceContract({
key: "sequences",
name: "Sequences",
description: "Ordered lifecycle email series.",
archetype: "primary_collection",
collectionPaths: ["/v1/sequences"],
itemPaths: ["/v1/sequences/{sequence_id}"],
exactNaturalKeys: [],
scopeKeys: ["sequences:read", "sequences:write"],
}),
resourceContract({
key: "magic_links",
name: "Magic Links",
description: "Links that apply configured Subscriber actions.",
archetype: "primary_collection",
collectionPaths: ["/v1/magic-links"],
itemPaths: ["/v1/magic-links/{magic_link_id}"],
exactNaturalKeys: [],
scopeKeys: ["magic_links:read", "magic_links:write"],
}),
resourceContract({
key: "automations",
name: "Automations",
description: "Event-driven email and Subscriber workflows.",
archetype: "primary_collection",
collectionPaths: ["/v1/automations"],
itemPaths: ["/v1/automations/{automation_id}"],
exactNaturalKeys: [],
scopeKeys: ["automations:read", "automations:write"],
}),
resourceContract({
key: "workspace",
name: "Workspace",
description: "The authenticated workspace context.",
archetype: "singleton",
itemPaths: ["/v1/workspace"],
exactNaturalKeys: [],
scopeKeys: ["workspace:read"],
}),
resourceContract({
key: "sender_identities",
name: "Sender Identities",
description: "Verified sender identities in the workspace.",
archetype: "supporting_catalog",
collectionPaths: ["/v1/sender-identities"],
itemPaths: ["/v1/sender-identities/{sender_identity_id}"],
exactNaturalKeys: [],
}),
resourceContract({
key: "email_delivery_connections",
name: "Email Delivery Connections",
description: "Secret-safe email provider connections.",
archetype: "primary_collection",
collectionPaths: ["/v1/email-delivery-connections"],
itemPaths: ["/v1/email-delivery-connections/{connection_id}"],
exactNaturalKeys: [],
scopeKeys: [
"email_delivery_connections:read",
"email_delivery_connections:write",
],
}),
resourceContract({
key: "email_delivery_connection_setup_sessions",
name: "Email Delivery Connection Setup Sessions",
description: "Short-lived browser handoffs for connection setup.",
archetype: "ephemeral_handle",
collectionPaths: ["/v1/email-delivery-connection-setup-sessions"],
itemPaths: [
"/v1/email-delivery-connection-setup-sessions/{setup_session_id}",
"/v1/email-delivery-connection-setup-sessions/{setup_session_id}/renew",
],
exactNaturalKeys: [],
}),
resourceContract({
key: "starting_points",
name: "Starting Points",
description: "Canonical email, Form, and Landing Page starting points shared with the Mailrith UI.",
archetype: "supporting_catalog",
collectionPaths: [
"/v1/starting-points/email-templates",
"/v1/starting-points/forms",
"/v1/starting-points/landing-pages",
],
itemPaths: [
"/v1/starting-points/email-templates/{starting_point_id}",
"/v1/starting-points/forms/{starting_point_id}",
"/v1/starting-points/landing-pages/{starting_point_id}",
],
exactNaturalKeys: [],
}),
resourceContract({
key: "email_templates",
name: "Email Templates",
description: "Reusable email content.",
archetype: "supporting_catalog",
collectionPaths: ["/v1/email-templates"],
itemPaths: ["/v1/email-templates/{template_id}"],
exactNaturalKeys: [],
scopeKeys: ["email_templates:read", "email_templates:write"],
}),
resourceContract({
key: "custom_fields",
name: "Custom Fields",
description: "The workspace Subscriber field schema.",
archetype: "supporting_catalog",
collectionPaths: ["/v1/custom-fields"],
itemPaths: ["/v1/custom-fields/{custom_field_id}"],
exactNaturalKeys: [],
scopeKeys: ["custom_fields:read", "custom_fields:write"],
}),
resourceContract({
key: "webhook_subscriptions",
name: "Outbound Webhooks",
description: "Signed event delivery destinations.",
archetype: "primary_collection",
collectionPaths: ["/v1/webhook-subscriptions"],
itemPaths: [
"/v1/webhook-subscriptions/{webhook_subscription_id}",
],
exactNaturalKeys: [],
scopeKeys: ["webhooks:read", "webhooks:write"],
scopeResourceKey: "webhooks",
}),
resourceContract({
key: "jobs",
name: "Subscriber Jobs",
description: "Durable Subscriber import and export jobs.",
archetype: "durable_job",
collectionPaths: [
"/v1/jobs/subscriber-import-uploads",
"/v1/jobs/subscriber-imports",
"/v1/jobs/subscriber-exports",
],
itemPaths: [
"/v1/jobs/subscriber-import-uploads/{upload_id}",
"/v1/jobs/subscriber-imports/{job_id}",
"/v1/jobs/subscriber-exports/{job_id}",
],
exactNaturalKeys: [],
}),
resourceContract({
key: "diagnostics",
name: "Diagnostics",
description: "Bounded operational views of existing resources.",
archetype: "derived_view",
exactNaturalKeys: [],
}),
];
export const publicApiResourceContractByKey = new Map(publicApiResourceContracts.map((contract) => [contract.key, contract]));
export const publicApiScopeDisplaySections = [
{
key: "overview",
label: "Overview",
resources: [
{ label: "Dashboard", resourceKeys: ["analytics"] },
{ label: "Live Actions", resourceKeys: ["live_actions"] },
],
},
{
key: "subscribers",
label: "Subscribers",
resources: [
{ label: "Subscribers", resourceKeys: ["subscribers"] },
{ label: "Segments", resourceKeys: ["segments"] },
{ label: "Tags", resourceKeys: ["tags"] },
{
label: "Forms",
resourceKeys: ["forms", "form_submissions"],
},
{
label: "Landing Pages",
resourceKeys: ["landing_pages", "landing_page_submissions"],
},
],
},
{
key: "campaigns",
label: "Campaigns",
resources: [
{ label: "Broadcasts", resourceKeys: ["broadcasts"] },
{ label: "Sequences", resourceKeys: ["sequences"] },
{ label: "Magic Links", resourceKeys: ["magic_links"] },
{ label: "Automations", resourceKeys: ["automations"] },
],
},
{
key: "account",
label: "Account",
resources: [
{ label: "Workspaces", resourceKeys: ["workspace"] },
{
label: "Email Delivery Connections",
resourceKeys: ["email_delivery_connections"],
},
{ label: "Email Templates", resourceKeys: ["email_templates"] },
{ label: "Custom Fields", resourceKeys: ["custom_fields"] },
{ label: "Integrations", resourceKeys: ["webhooks"] },
],
},
];
export const publicApiScopeResourceOrder = publicApiScopeDisplaySections.flatMap((section) => section.resources.flatMap((resource) => resource.resourceKeys));
const publicApiScopeResourceOrderByKey = new Map(publicApiScopeResourceOrder.map((resourceKey, index) => [resourceKey, index]));
export const publicApiScopeDefinitions = [
...publicApiScopeDefinitionCatalog,
].sort((left, right) => (publicApiScopeResourceOrderByKey.get(left.resourceKey) ??
Number.MAX_SAFE_INTEGER) -
(publicApiScopeResourceOrderByKey.get(right.resourceKey) ??
Number.MAX_SAFE_INTEGER));
export const publicApiScopeDefinitionByKey = new Map(publicApiScopeDefinitions.map((definition) => [definition.key, definition]));
export const publicApiScopeKeys = publicApiScopeDefinitions.map((definition) => definition.key);
export const publicApiReadScopeKeys = publicApiScopeDefinitions
.filter((definition) => definition.action === "read")
.map((definition) => definition.key);
const orderedScopes = (scopeKeys) => {
const selected = new Set(scopeKeys);
return publicApiScopeKeys.filter((scopeKey) => selected.has(scopeKey));
};
const workProfile = (key, label, description, scopeKeys) => ({
key,
label,
description,
scopeKeys: orderedScopes(scopeKeys),
});
export const publicApiDefaultWorkProfileKey = "full_email_marketing_access";
export const publicApiWorkProfiles = [
workProfile("full_email_marketing_access", "Full Email Marketing Access", "Create, view, change, send, import, export, and manage every public email-marketing resource in the selected workspace. This does not grant billing, team, account-security, credential-reading, or internal administration access.", publicApiScopeKeys),
workProfile("reporting", "Reporting", "View workspace, Subscriber, content, workflow, and delivery information without changing anything.", publicApiReadScopeKeys.filter((scopeKey) => scopeKey !== "webhooks:read")),
workProfile("subscriber_management", "Subscriber Management", "Manage individual Subscribers, Tags, custom fields, Segments, status, and Sequence enrollment.", [
"workspace:read",
"live_actions:write",
"subscribers:read",
"subscribers:write",
"segments:read",
"segments:write",
"tags:read",
"tags:write",
"custom_fields:read",
"custom_fields:write",
"sequences:read",
]),
workProfile("content_and_capture", "Content And Capture", "Manage Templates, Forms, Landing Pages, Magic Links, Tags, fields, Segments, and captured submissions.", [
"workspace:read",
"live_actions:write",
"subscribers:read",
"segments:read",
"segments:write",
"tags:read",
"tags:write",
"forms:read",
"forms:write",
"form_submissions:read",
"landing_pages:read",
"landing_pages:write",
"landing_page_submissions:read",
"magic_links:read",
"magic_links:write",
"email_templates:read",
"email_templates:write",
"custom_fields:read",
"custom_fields:write",
]),
workProfile("broadcasts", "Broadcasts", "Create, review, test, schedule, send, stop, delete, and report on Broadcasts.", [
"workspace:read",
"live_actions:write",
"analytics:read",
"subscribers:read",
"segments:read",
"segments:write",
"tags:read",
"broadcasts:read",
"broadcasts:write",
"email_delivery_connections:read",
"email_templates:read",
"custom_fields:read",
]),
workProfile("sequences", "Sequences", "Create, review, test, start, pause, delete, and report on Sequences, including Subscriber enrollment.", [
"workspace:read",
"live_actions:write",
"analytics:read",
"subscribers:read",
"subscribers:write",
"tags:read",
"sequences:read",
"sequences:write",
"email_delivery_connections:read",
"email_templates:read",
"custom_fields:read",
]),
workProfile("automations", "Automations", "Create, review, test, start, pause, return to draft, delete, and report on Automations.", [
"workspace:read",
"live_actions:write",
"analytics:read",
"subscribers:read",
"tags:read",
"automations:read",
"automations:write",
"email_delivery_connections:read",
"email_templates:read",
"custom_fields:read",
]),
workProfile("email_delivery_setup", "Email Delivery Setup", "View and manage email delivery connections without exposing saved provider credentials.", [
"workspace:read",
"live_actions:write",
"email_delivery_connections:read",
"email_delivery_connections:write",
]),
workProfile("subscriber_import_export", "Subscriber Import And Export", "Import, export, and monitor bounded Subscriber transfer jobs.", [
"workspace:read",
"live_actions:write",
"subscribers:read",
"subscribers:import",
"subscribers:export",
"tags:read",
"custom_fields:read",
]),
workProfile("outbound_webhooks", "Outbound Webhooks", "View and manage signed outbound webhook destinations.", [
"workspace:read",
"live_actions:write",
"webhooks:read",
"webhooks:write",
]),
];
export const publicApiWorkProfileDisplaySections = [
{
key: "recommended",
label: "Recommended",
profileKeys: ["full_email_marketing_access", "reporting"],
},
{
key: "focused",
label: "Focused Work",
profileKeys: [
"subscriber_management",
"content_and_capture",
"broadcasts",
"sequences",
"automations",
"subscriber_import_export",
],
},
{
key: "connections",
label: "Connections",
profileKeys: ["email_delivery_setup", "outbound_webhooks"],
},
];
export const publicApiWorkProfileByKey = new Map(publicApiWorkProfiles.map((definition) => [definition.key, definition]));
export const publicApiDefaultScopeKeys = [
...publicApiWorkProfileByKey.get(publicApiDefaultWorkProfileKey).scopeKeys,
];
export const publicApiAgentReadQuickstartScopeKeys = [
"workspace:read",
"subscribers:read",
];
export const isPublicApiScopeKey = (value) => publicApiScopeDefinitionByKey.has(value);
export const normalizePublicApiScopeKeys = (scopeKeys) => {
const selected = new Set();
for (const scopeKey of scopeKeys) {
if (isPublicApiScopeKey(scopeKey)) {
selected.add(scopeKey);
}
}
return publicApiScopeKeys.filter((scopeKey) => selected.has(scopeKey));
};
export const validatePublicApiScopeKeys = (scopeKeys) => {
const requestedScopeKeys = Array.from(scopeKeys);
const unsupportedScopeKeys = Array.from(new Set(requestedScopeKeys.filter((scopeKey) => !isPublicApiScopeKey(scopeKey))));
if (unsupportedScopeKeys.length > 0) {
return { ok: false, unsupportedScopeKeys };
}
return {
ok: true,
value: normalizePublicApiScopeKeys(requestedScopeKeys),
};
};
const explicitOperationScopes = {
listSenderIdentities: ["workspace:read"],
getSenderIdentity: ["workspace:read"],
startEmailDeliveryConnectionSetup: ["email_delivery_connections:write"],
getEmailDeliveryConnectionSetup: ["email_delivery_connections:write"],
renewEmailDeliveryConnectionSetup: ["email_delivery_connections:write"],
listEmailStartingPoints: ["email_templates:read"],
getEmailStartingPoint: ["email_templates:read"],
listFormStartingPoints: ["forms:read"],
getFormStartingPoint: ["forms:read"],
listLandingPageStartingPoints: ["landing_pages:read"],
getLandingPageStartingPoint: ["landing_pages:read"],
createAnalyticsReport: ["analytics:read"],
listAutomationRunDiagnostics: ["automations:read"],
getAutomationRunDiagnostics: ["automations:read"],
getSequenceDiagnostics: ["sequences:read"],
getBroadcastDiagnostics: ["broadcasts:read"],
getSubscriberActivityDiagnostics: ["subscribers:read"],
listFormSubmissions: ["form_submissions:read"],
getFormSubmission: ["form_submissions:read"],
listLandingPageSubmissions: ["landing_page_submissions:read"],
getLandingPageSubmission: ["landing_page_submissions:read"],
previewEmailTemplate: ["email_templates:read", "subscribers:read"],
previewFormDoubleOptIn: ["forms:read", "subscribers:read"],
previewLandingPageDoubleOptIn: ["landing_pages:read", "subscribers:read"],
preflightSequence: ["sequences:read"],
previewSequenceJourney: ["sequences:read", "subscribers:read"],
testSequence: ["sequences:write", "subscribers:read"],
preflightAutomation: ["automations:read"],
previewAutomationJourney: ["automations:read", "subscribers:read"],
testAutomation: ["automations:write", "subscribers:read"],
getBroadcastSendProgress: ["broadcasts:read"],
listBroadcastDeliveryErrors: ["broadcasts:read"],
preflightBroadcast: ["broadcasts:read"],
testBroadcast: ["broadcasts:write", "subscribers:read"],
previewSegment: ["segments:read"],
startSubscriberImportUpload: ["subscribers:import"],
getSubscriberImportUpload: ["subscribers:import"],
createSubscriberImportJob: ["subscribers:import"],
listSubscriberImportJobs: ["subscribers:import"],
getSubscriberImportJob: ["subscribers:import"],
createSubscriberExportJob: ["subscribers:export"],
listSubscriberExportJobs: ["subscribers:export"],
getSubscriberExportJob: ["subscribers:export"],
};
export const resolvePublicApiOperationRequiredScopes = (params) => {
const withLiveActionScope = (scopeKeys) => requiresPublicApiLiveActionPermission(params.operationId)
? normalizePublicApiScopeKeys([
...scopeKeys,
"live_actions:write",
])
: normalizePublicApiScopeKeys(scopeKeys);
const explicit = explicitOperationScopes[params.operationId];
if (explicit) {
return withLiveActionScope(explicit);
}
const resource = publicApiResourceContractByKey.get(params.resourceKey);
if (!resource) {
throw new Error(`Public API resource contract ${params.resourceKey} is not defined.`);
}
const action = params.method.toUpperCase() === "GET" ? "read" : "write";
const matchingScope = publicApiScopeDefinitions.find((definition) => definition.resourceKey === (resource.scopeResourceKey ?? resource.key) &&
definition.action === action);
if (!matchingScope) {
throw new Error(`Public API operation ${params.operationId} has no ${action} permission in resource contract ${params.resourceKey}.`);
}
return withLiveActionScope([matchingScope.key]);
};
//# sourceMappingURL=resource-contract.js.map
{"version":3,"file":"resource-contract.js","sourceRoot":"","sources":["../src/resource-contract.ts"],"names":[],"mappings":"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"}
+22
-1
# Changelog
## Unreleased
## 0.2.0 - 2026-07-24
- Replace fragmented action permissions with 33 stable resource permissions and 10 complete Work Profiles generated from one canonical resource contract, including one centrally derived Live Actions permission and one full-access default for general-purpose agents.
- Replace inline Subscriber import CSV bodies with short-lived, browser-completed upload sessions so agents receive only bounded headers and row counts.
- Publish actionable missing-permission details and compact MCP discovery metadata without loading the full operation catalog into agent context.
- Add direct stable-ID retrieval, self links, and compact import and export job lists across the public contract, SDKs, CLI, and MCP server.
- Add secret-free Sender Identity discovery and Broadcast schedule, reschedule, and unschedule operations.
- Add secure, short-lived browser handoff for email delivery connection creation and credential replacement so provider secrets never pass through agent requests.
- Add email delivery connection verification and idempotent real test-send operations.
- Make authenticated capabilities report only operations currently available to the credential, plan, workspace state, and rollout state, with actionable prerequisite details.
- Make MCP capability discovery honor internal task-focused toolsets and read-only filtering, and add bounded Sequence and Automation readiness, journey-preview, and test-message operations.
- Use one standard MCP URL with purpose-based optional OAuth permissions and actionable permission-upgrade errors.
- Require a saved Subscriber for every personalized Template, Broadcast, Sequence, Automation, Form, and Landing Page preview or test; report Subscriber eligibility and the selected Automation branch without changing saved data.
- Make large resource collections use indexed database search, keyset pagination, and compact summaries while keeping complete objects on individual GET operations.
- Require an active email delivery connection before creating Broadcasts, Sequences, Automations, Forms, or Landing Pages through any interface.
- Make public resource updates preserve every omitted field and publish exact schemas for email documents, Subscriber filters, Sequences, Automations, Forms, and Landing Pages.
- Remove the pre-launch Agent Sandbox surface.
- Remove the pre-launch Agent Activity resource and permission.
## 0.1.2 - 2026-07-24

@@ -19,3 +40,3 @@

- Publish the coordinated REST, OAuth, scope, risk, MCP, and SDK contract.
- Add scoped agent operations, sandbox behavior, and Agent Activity operations.
- Add scoped agent operations and pre-launch test-workspace behavior.
- Add focused support for Broadcasts, Sequences, Automations, content, targeting, capture, Webhooks, and data transfer.
+3
-2

@@ -16,11 +16,12 @@ export declare const publicApiAgentRiskClasses: readonly ["read", "draft", "test", "execute", "bulk", "delete", "admin"];

externalSideEffect: boolean;
requiresLiveAction: boolean;
sideEffectClass: PublicApiAgentSideEffectClass;
retryMode: PublicApiAgentRetryMode;
idempotencyPolicy: PublicApiAgentIdempotencyPolicy;
minimumPermission: string;
dataScope: PublicApiAgentDataScope;
rationale: string;
};
export declare const publicApiAgentOperationRiskCatalog: readonly [PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk];
export declare const publicApiAgentOperationRiskCatalog: readonly [PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk, PublicApiAgentOperationRisk];
export declare const getPublicApiAgentOperationRisk: (operationId: string) => PublicApiAgentOperationRisk | null;
export declare const requiresPublicApiLiveActionPermission: (operationId: string) => boolean;
//# sourceMappingURL=agent-risk.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"agent-risk.d.ts","sourceRoot":"","sources":["../src/agent-risk.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,0EAQ5B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB,wDAI3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,iCAAiC,6DAIpC,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,+BAA+B,+JAUlC,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,wBAAwB,oEAK3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,6BAA6B,CAAC;IAC/C,SAAS,EAAE,uBAAuB,CAAC;IACnC,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAmEF,eAAO,MAAM,kCAAkC,opFAgpBY,CAAC;AAgB5D,eAAO,MAAM,8BAA8B,GAAI,aAAa,MAAM,uCACT,CAAC"}
{"version":3,"file":"agent-risk.d.ts","sourceRoot":"","sources":["../src/agent-risk.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,0EAQ5B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7C,eAAO,MAAM,wBAAwB,wDAI3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,iCAAiC,6DAIpC,CAAC;AAEX,MAAM,MAAM,+BAA+B,GACzC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,+BAA+B,+JAUlC,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,wBAAwB,oEAK3B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,6BAA6B,CAAC;IAC/C,SAAS,EAAE,uBAAuB,CAAC;IACnC,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAqEF,eAAO,MAAM,kCAAkC,8mHA20BY,CAAC;AAgB5D,eAAO,MAAM,8BAA8B,GAAI,aAAa,MAAM,uCACT,CAAC;AAE1D,eAAO,MAAM,qCAAqC,GAChD,aAAa,MAAM,YAEyD,CAAC"}

@@ -37,3 +37,3 @@ export const publicApiAgentRiskClasses = [

];
const read = (operationId, resourceKey, minimumPermission, dataScope, rationale) => ({
const read = (operationId, resourceKey, dataScope, rationale) => ({
operationId,

@@ -43,12 +43,14 @@ resourceKey,

externalSideEffect: false,
requiresLiveAction: false,
sideEffectClass: "none",
retryMode: "safe",
idempotencyPolicy: "safe-read",
minimumPermission,
dataScope,
rationale,
});
const change = (operationId, resourceKey, risk, minimumPermission, options) => {
const change = (operationId, resourceKey, risk, options) => {
const retryMode = options.retryMode ?? "idempotency-key";
const externalSideEffect = options.externalSideEffect ?? false;
const requiresLiveAction = options.requiresLiveAction ??
(risk === "execute" || risk === "test");
const sideEffectClass = options.sideEffectClass ??

@@ -73,6 +75,6 @@ (risk === "delete"

externalSideEffect,
requiresLiveAction,
sideEffectClass,
retryMode,
idempotencyPolicy: retryMode === "resource-state" ? "resource-state" : "idempotency-key",
minimumPermission,
dataScope: options.dataScope ?? "workspace",

@@ -83,21 +85,59 @@ rationale: options.rationale,

export const publicApiAgentOperationRiskCatalog = [
read("getPublicApiMeta", "discovery", "public", "public", "Returns public version and discovery metadata."),
read("getPublicApiCapabilities", "discovery", "workspace:read", "workspace", "Returns the authenticated credential and workspace capability boundary."),
read("getPublicApiOpenApiDocument", "discovery", "public", "public", "Returns the public API contract without reading workspace data."),
read("getWorkspace", "workspace", "workspace:read", "workspace", "Reads one authenticated workspace profile."),
read("listAgentActivity", "agent_activity", "activity:read", "workspace", "Reads a bounded, redacted page of agent-originated workspace mutations."),
read("getAgentActivity", "agent_activity", "activity:read", "workspace", "Reads one redacted agent mutation trail by its stable action identifier."),
read("createAnalyticsReport", "analytics", "analytics:read", "workspace", "Creates or reuses one bounded, expiring aggregate report from compact rollups."),
read("getAnalyticsReport", "analytics", "analytics:read", "workspace", "Reads one bounded, expiring aggregate report."),
read("listAutomationRunDiagnostics", "diagnostics", "automations:read", "workspace", "Reads a bounded page of redacted Automation run diagnostics."),
read("getAutomationRunDiagnostics", "diagnostics", "automations:read", "workspace", "Reads one redacted Automation run and its bounded step diagnostics."),
read("getSequenceDiagnostics", "diagnostics", "sequences:read", "workspace", "Reads bounded Sequence failure and retry diagnostics."),
read("getBroadcastDiagnostics", "diagnostics", "broadcasts:read", "workspace", "Reads bounded Broadcast selection, provider readiness, and delivery reasons."),
read("getSubscriberActivityDiagnostics", "diagnostics", "subscribers:read", "subscriber", "Reads one privacy-conscious Subscriber activity and subscription summary without an email address."),
read("listSubscribers", "subscribers", "subscribers:read", "subscriber", "Reads a bounded, cursor-paginated page of Subscribers."),
change("upsertSubscriber", "subscribers", "execute", "subscribers:profile", {
read("getPublicApiMeta", "discovery", "public", "Returns public version and discovery metadata."),
read("getPublicApiCapabilities", "discovery", "workspace", "Returns the authenticated credential and workspace capability boundary."),
read("getPublicApiOpenApiDocument", "discovery", "public", "Returns the public API contract without reading workspace data."),
read("getWorkspace", "workspace", "workspace", "Reads one authenticated workspace profile."),
read("listSenderIdentities", "sender_identities", "workspace", "Reads a bounded page of enabled sender metadata without provider credentials."),
read("getSenderIdentity", "sender_identities", "workspace", "Reads one enabled sender identity without provider credentials."),
read("listEmailDeliveryConnections", "email_delivery_connections", "workspace", "Reads a bounded page of secret-free delivery connection metadata."),
change("startEmailDeliveryConnectionSetup", "email_delivery_connections", "admin", {
sideEffectClass: "secret-change",
retryMode: "resource-state",
rationale: "Creates a short-lived browser handoff so provider credentials never pass through the agent API.",
}),
read("getEmailDeliveryConnectionSetup", "email_delivery_connections", "workspace", "Reads the bounded status of one short-lived secure setup session."),
change("renewEmailDeliveryConnectionSetup", "email_delivery_connections", "admin", {
sideEffectClass: "secret-change",
retryMode: "resource-state",
rationale: "Reissues a short-lived browser handoff from bounded non-secret setup context.",
}),
read("listEmailStartingPoints", "starting_points", "workspace", "Reads compact metadata for the canonical email starting points shared with the Mailrith UI."),
read("getEmailStartingPoint", "starting_points", "workspace", "Reads one canonical email starting point on demand."),
read("listFormStartingPoints", "starting_points", "workspace", "Reads compact metadata for the canonical Form starting points shared with the Mailrith UI."),
read("getFormStartingPoint", "starting_points", "workspace", "Reads one canonical Form starting point on demand."),
read("listLandingPageStartingPoints", "starting_points", "workspace", "Reads compact metadata for the canonical Landing Page starting points shared with the Mailrith UI."),
read("getLandingPageStartingPoint", "starting_points", "workspace", "Reads one canonical Landing Page starting point on demand."),
read("getEmailDeliveryConnection", "email_delivery_connections", "workspace", "Reads one secret-free delivery connection linked to the workspace."),
change("updateEmailDeliveryConnection", "email_delivery_connections", "admin", {
retryMode: "resource-state",
rationale: "Changes non-secret sender settings for one workspace-only connection.",
}),
change("updateEmailDeliveryConnectionStatus", "email_delivery_connections", "admin", {
retryMode: "resource-state",
rationale: "Enables or disables a delivery connection and can change whether workspace resources may be created or sent.",
}),
read("verifyEmailDeliveryConnection", "email_delivery_connections", "workspace", "Checks the saved provider credential and sender without storing a verification history."),
change("testEmailDeliveryConnection", "email_delivery_connections", "test", {
externalSideEffect: true,
sideEffectClass: "external-email",
rationale: "Sends one real test email to a controlled recipient.",
}),
change("deleteEmailDeliveryConnection", "email_delivery_connections", "delete", {
retryMode: "resource-state",
rationale: "Deletes one eligible workspace-only delivery connection and its saved provider credentials.",
}),
read("createAnalyticsReport", "analytics", "workspace", "Creates or reuses one bounded, expiring aggregate report from compact rollups."),
read("getAnalyticsReport", "analytics", "workspace", "Reads one bounded, expiring aggregate report."),
read("listAutomationRunDiagnostics", "diagnostics", "workspace", "Reads a bounded page of redacted Automation run diagnostics."),
read("getAutomationRunDiagnostics", "diagnostics", "workspace", "Reads one redacted Automation run and its bounded step diagnostics."),
read("getSequenceDiagnostics", "diagnostics", "workspace", "Reads bounded Sequence failure and retry diagnostics."),
read("getBroadcastDiagnostics", "diagnostics", "workspace", "Reads bounded Broadcast selection, provider readiness, and delivery reasons."),
read("getSubscriberActivityDiagnostics", "diagnostics", "subscriber", "Reads one privacy-conscious Subscriber activity and subscription summary without an email address."),
read("listSubscribers", "subscribers", "subscriber", "Reads a bounded, cursor-paginated page of Subscribers."),
read("getSubscriber", "subscribers", "subscriber", "Reads one Subscriber by its stable identifier."),
change("upsertSubscriber", "subscribers", "execute", {
dataScope: "subscriber",
rationale: "Creates or changes one Subscriber and can change sending eligibility.",
}),
change("updateSubscriber", "subscribers", "draft", "subscribers:profile", {
change("updateSubscriber", "subscribers", "draft", {
retryMode: "resource-state",

@@ -107,3 +147,3 @@ dataScope: "subscriber",

}),
change("deleteSubscriber", "subscribers", "delete", "subscribers:delete", {
change("deleteSubscriber", "subscribers", "delete", {
retryMode: "resource-state",

@@ -113,3 +153,3 @@ dataScope: "subscriber",

}),
change("updateSubscriberStatus", "subscribers", "execute", "subscriptions:write", {
change("updateSubscriberStatus", "subscribers", "execute", {
retryMode: "resource-state",

@@ -119,3 +159,3 @@ dataScope: "subscriber",

}),
change("addSubscriberTag", "subscribers", "execute", "subscribers:targeting", {
change("addSubscriberTag", "subscribers", "execute", {
retryMode: "resource-state",

@@ -125,3 +165,3 @@ dataScope: "subscriber",

}),
change("removeSubscriberTag", "subscribers", "execute", "subscribers:targeting", {
change("removeSubscriberTag", "subscribers", "execute", {
retryMode: "resource-state",

@@ -131,3 +171,3 @@ dataScope: "subscriber",

}),
change("addSubscriberSequence", "subscribers", "execute", "subscribers:sequence_enroll", {
change("addSubscriberSequence", "subscribers", "execute", {
externalSideEffect: true,

@@ -139,3 +179,3 @@ sideEffectClass: "external-email",

}),
change("removeSubscriberSequence", "subscribers", "execute", "subscribers:sequence_enroll", {
change("removeSubscriberSequence", "subscribers", "execute", {
retryMode: "resource-state",

@@ -145,81 +185,99 @@ dataScope: "subscriber",

}),
read("listTags", "tags", "tags:read", "workspace", "Reads the bounded Tag catalog."),
change("createTag", "tags", "draft", "tags:configure", {
read("listTags", "tags", "workspace", "Reads the bounded Tag catalog."),
change("createTag", "tags", "draft", {
rationale: "Creates targeting metadata without contacting Subscribers.",
}),
read("getTag", "tags", "tags:read", "workspace", "Reads one Tag definition."),
change("updateTag", "tags", "draft", "tags:configure", {
read("getTag", "tags", "workspace", "Reads one Tag definition."),
change("updateTag", "tags", "draft", {
retryMode: "resource-state",
rationale: "Changes targeting metadata without contacting Subscribers.",
}),
change("deleteTag", "tags", "delete", "tags:delete", {
change("deleteTag", "tags", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes targeting metadata when no saved resource references it.",
}),
read("listCustomFields", "custom_fields", "custom_fields:read", "workspace", "Reads the bounded custom-field schema."),
change("createCustomField", "custom_fields", "draft", "custom_fields:configure", { rationale: "Creates a custom-field definition." }),
read("getCustomField", "custom_fields", "custom_fields:read", "workspace", "Reads one custom-field definition."),
change("updateCustomField", "custom_fields", "draft", "custom_fields:configure", {
read("listCustomFields", "custom_fields", "workspace", "Reads the bounded custom-field schema."),
change("createCustomField", "custom_fields", "draft", { rationale: "Creates a custom-field definition." }),
read("getCustomField", "custom_fields", "workspace", "Reads one custom-field definition."),
change("updateCustomField", "custom_fields", "draft", {
retryMode: "resource-state",
rationale: "Changes a custom-field definition used by Subscriber data.",
}),
change("deleteCustomField", "custom_fields", "delete", "custom_fields:delete", {
change("deleteCustomField", "custom_fields", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes a field definition and associated values.",
}),
read("listEmailTemplates", "email_templates", "email_templates:read", "workspace", "Reads a bounded page of reusable email templates."),
change("createEmailTemplate", "email_templates", "draft", "email_templates:draft", { rationale: "Creates reusable draft content without sending email." }),
read("getEmailTemplate", "email_templates", "email_templates:read", "workspace", "Reads one reusable email template."),
change("updateEmailTemplate", "email_templates", "draft", "email_templates:draft", {
read("listEmailTemplates", "email_templates", "workspace", "Reads a bounded page of reusable email templates."),
change("createEmailTemplate", "email_templates", "draft", { rationale: "Creates reusable draft content without sending email." }),
read("getEmailTemplate", "email_templates", "workspace", "Reads one reusable email template."),
read("previewEmailTemplate", "email_templates", "subscriber", "Renders one reusable email template with one saved Subscriber without sending or saving anything."),
change("updateEmailTemplate", "email_templates", "draft", {
retryMode: "resource-state",
rationale: "Changes reusable draft content without sending email.",
}),
change("deleteEmailTemplate", "email_templates", "delete", "email_templates:delete", {
change("deleteEmailTemplate", "email_templates", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes reusable email content.",
}),
read("listForms", "forms", "forms:read", "workspace", "Reads a bounded page of Forms."),
change("createForm", "forms", "draft", "forms:configure", {
read("listForms", "forms", "workspace", "Reads a bounded page of Forms."),
change("createForm", "forms", "draft", {
externalSideEffect: true,
requiresLiveAction: true,
rationale: "Creates a publicly reachable Subscriber capture surface.",
}),
read("getForm", "forms", "forms:read", "workspace", "Reads one Form definition."),
read("listFormSubmissions", "forms", "forms:submissions_read", "subscriber", "Reads a bounded page of Form submissions and Subscriber data."),
change("updateForm", "forms", "draft", "forms:configure", {
read("getForm", "forms", "workspace", "Reads one Form definition."),
read("listFormSubmissions", "forms", "subscriber", "Reads a bounded page of Form submissions and Subscriber data."),
read("getFormSubmission", "forms", "subscriber", "Reads one retained Form submission by stable identifier."),
read("previewFormDoubleOptIn", "forms", "subscriber", "Renders one Form confirmation email with one saved Subscriber without sending or saving anything."),
change("updateForm", "forms", "draft", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Changes a publicly reachable Subscriber capture surface.",
}),
change("deleteForm", "forms", "delete", "forms:delete", {
change("deleteForm", "forms", "delete", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Removes a public Subscriber capture surface.",
}),
read("listLandingPages", "landing_pages", "landing_pages:read", "workspace", "Reads a bounded page of Landing Pages."),
change("createLandingPage", "landing_pages", "draft", "landing_pages:configure", {
read("listLandingPages", "landing_pages", "workspace", "Reads a bounded page of Landing Pages."),
change("createLandingPage", "landing_pages", "draft", {
externalSideEffect: true,
requiresLiveAction: true,
rationale: "Creates a publicly reachable hosted page.",
}),
read("getLandingPage", "landing_pages", "landing_pages:read", "workspace", "Reads one Landing Page definition."),
read("listLandingPageSubmissions", "landing_pages", "landing_pages:submissions_read", "subscriber", "Reads a bounded page of Landing Page submissions and Subscriber data."),
change("updateLandingPage", "landing_pages", "draft", "landing_pages:configure", {
read("getLandingPage", "landing_pages", "workspace", "Reads one Landing Page definition."),
read("listLandingPageSubmissions", "landing_pages", "subscriber", "Reads a bounded page of Landing Page submissions and Subscriber data."),
read("getLandingPageSubmission", "landing_pages", "subscriber", "Reads one retained Landing Page submission by stable identifier."),
read("previewLandingPageDoubleOptIn", "landing_pages", "subscriber", "Renders one Landing Page confirmation email with one saved Subscriber without sending or saving anything."),
change("updateLandingPage", "landing_pages", "draft", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Changes a publicly reachable hosted page.",
}),
change("deleteLandingPage", "landing_pages", "delete", "landing_pages:delete", {
change("deleteLandingPage", "landing_pages", "delete", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Removes a public hosted page.",
}),
read("listSequences", "sequences", "sequences:read", "workspace", "Reads a bounded page of Sequences and aggregate results."),
change("createSequence", "sequences", "draft", "sequences:draft", {
read("listSequences", "sequences", "workspace", "Reads a bounded page of Sequences and aggregate results."),
change("createSequence", "sequences", "draft", {
rationale: "Creates a paused Sequence without starting delivery.",
}),
read("getSequence", "sequences", "sequences:read", "workspace", "Reads one Sequence definition and aggregate results."),
change("updateSequence", "sequences", "draft", "sequences:draft", {
read("getSequence", "sequences", "workspace", "Reads one Sequence definition and aggregate results."),
read("preflightSequence", "sequences", "workspace", "Runs bounded Sequence readiness checks without changing the Sequence."),
read("previewSequenceJourney", "sequences", "workspace", "Returns a bounded, side-effect-free timeline of the Sequence emails."),
change("testSequence", "sequences", "test", {
externalSideEffect: true,
sideEffectClass: "external-email",
rationale: "Sends at most five selected Sequence messages to one explicit test address without enrolling Subscribers.",
}),
change("updateSequence", "sequences", "draft", {
retryMode: "resource-state",
rationale: "Changes a paused Sequence without starting delivery.",
}),
change("updateSequenceStatus", "sequences", "execute", "sequences:activate", {
change("updateSequenceStatus", "sequences", "execute", {
externalSideEffect: true,

@@ -230,16 +288,23 @@ sideEffectClass: "external-email",

}),
change("deleteSequence", "sequences", "delete", "sequences:delete", {
change("deleteSequence", "sequences", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes a lifecycle workflow.",
}),
read("listAutomations", "automations", "automations:read", "workspace", "Reads a bounded page of Automation definitions and states."),
change("createAutomation", "automations", "draft", "automations:draft", {
read("listAutomations", "automations", "workspace", "Reads a bounded page of Automation definitions and states."),
change("createAutomation", "automations", "draft", {
rationale: "Creates an inactive Automation without running actions.",
}),
read("getAutomation", "automations", "automations:read", "workspace", "Reads one Automation definition and state."),
change("updateAutomation", "automations", "draft", "automations:draft", {
read("getAutomation", "automations", "workspace", "Reads one Automation definition and state."),
read("preflightAutomation", "automations", "workspace", "Runs bounded Automation readiness checks without running any actions."),
read("previewAutomationJourney", "automations", "workspace", "Returns a bounded, side-effect-free view of Automation triggers, steps, and branches."),
change("testAutomation", "automations", "test", {
externalSideEffect: true,
sideEffectClass: "external-email",
rationale: "Sends at most five selected Automation email steps to one explicit test address without running actions.",
}),
change("updateAutomation", "automations", "draft", {
retryMode: "resource-state",
rationale: "Changes an inactive Automation without running actions.",
}),
change("updateAutomationStatus", "automations", "execute", "automations:activate", {
change("updateAutomationStatus", "automations", "execute", {
externalSideEffect: true,

@@ -250,13 +315,13 @@ sideEffectClass: "external-email",

}),
change("deleteAutomation", "automations", "delete", "automations:delete", {
change("deleteAutomation", "automations", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes an Automation workflow.",
}),
read("listMagicLinks", "magic_links", "magic_links:read", "workspace", "Reads a bounded page of Magic Links."),
change("createMagicLink", "magic_links", "execute", "magic_links:configure", {
read("listMagicLinks", "magic_links", "workspace", "Reads a bounded page of Magic Links."),
change("createMagicLink", "magic_links", "execute", {
externalSideEffect: true,
rationale: "Creates a public link that can change Subscriber state when used.",
}),
read("getMagicLink", "magic_links", "magic_links:read", "workspace", "Reads one Magic Link definition."),
change("updateMagicLink", "magic_links", "execute", "magic_links:configure", {
read("getMagicLink", "magic_links", "workspace", "Reads one Magic Link definition."),
change("updateMagicLink", "magic_links", "execute", {
externalSideEffect: true,

@@ -266,67 +331,82 @@ retryMode: "resource-state",

}),
change("deleteMagicLink", "magic_links", "delete", "magic_links:delete", {
change("deleteMagicLink", "magic_links", "delete", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Removes a public link and its configured action.",
}),
read("listBroadcasts", "broadcasts", "broadcasts:read", "workspace", "Reads a bounded page of Broadcasts and aggregate results."),
change("createBroadcast", "broadcasts", "draft", "broadcasts:draft", {
read("listBroadcasts", "broadcasts", "workspace", "Reads a bounded page of Broadcasts and aggregate results."),
change("createBroadcast", "broadcasts", "draft", {
rationale: "Creates a Broadcast draft without scheduling or sending it.",
}),
read("getBroadcastSendProgress", "broadcasts", "broadcasts:read", "workspace", "Reads bounded progress aggregates without scanning recipient delivery rows."),
read("listBroadcastDeliveryErrors", "broadcasts", "broadcasts:read", "subscriber", "Reads a bounded, keyset-paginated page of delivery failures."),
read("getBroadcast", "broadcasts", "broadcasts:read", "workspace", "Reads one Broadcast and aggregate results."),
change("updateBroadcast", "broadcasts", "draft", "broadcasts:draft", {
read("getBroadcastSendProgress", "broadcasts", "workspace", "Reads bounded progress aggregates without scanning recipient delivery rows."),
read("listBroadcastDeliveryErrors", "broadcasts", "subscriber", "Reads a bounded, keyset-paginated page of delivery failures."),
read("getBroadcast", "broadcasts", "workspace", "Reads one Broadcast and aggregate results."),
change("updateBroadcast", "broadcasts", "draft", {
retryMode: "resource-state",
rationale: "Changes a Broadcast draft without scheduling or sending it.",
}),
change("deleteBroadcast", "broadcasts", "delete", "broadcasts:delete", {
change("deleteBroadcast", "broadcasts", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes an eligible Broadcast.",
}),
read("preflightBroadcast", "broadcasts", "broadcasts:preflight", "workspace", "Runs bounded readiness checks and returns counts rather than Subscriber rows."),
change("sendBroadcast", "broadcasts", "execute", "broadcasts:send", {
read("preflightBroadcast", "broadcasts", "workspace", "Runs bounded readiness checks and returns counts rather than Subscriber rows."),
change("scheduleBroadcast", "broadcasts", "execute", {
externalSideEffect: true,
retryMode: "resource-state",
rationale: "Schedules durable delivery to real Subscribers at a future time.",
}),
change("unscheduleBroadcast", "broadcasts", "execute", {
retryMode: "resource-state",
rationale: "Cancels future delivery before it starts and returns the Broadcast to draft state.",
}),
change("sendBroadcast", "broadcasts", "execute", {
externalSideEffect: true,
rationale: "Starts durable delivery to real Subscribers.",
}),
change("cancelBroadcastSend", "broadcasts", "execute", "broadcasts:cancel", {
change("cancelBroadcastSend", "broadcasts", "execute", {
externalSideEffect: true,
requiresLiveAction: true,
rationale: "Stops remaining delivery work and must remain available as a safety action.",
}),
change("testBroadcast", "broadcasts", "test", "broadcasts:test", {
change("testBroadcast", "broadcasts", "test", {
externalSideEffect: true,
rationale: "Sends one real test email to a controlled recipient.",
}),
read("listSegments", "segments", "segments:read", "workspace", "Reads a bounded page of saved Segments."),
change("createSegment", "segments", "draft", "segments:configure", {
read("listSegments", "segments", "workspace", "Reads a bounded page of saved Segments."),
change("createSegment", "segments", "draft", {
rationale: "Creates a saved Subscriber-selection definition.",
}),
read("getSegment", "segments", "segments:read", "workspace", "Reads one saved Segment definition."),
change("updateSegment", "segments", "draft", "segments:configure", {
read("getSegment", "segments", "workspace", "Reads one saved Segment definition."),
change("updateSegment", "segments", "draft", {
retryMode: "resource-state",
rationale: "Changes a saved Subscriber-selection definition.",
}),
change("deleteSegment", "segments", "delete", "segments:delete", {
change("deleteSegment", "segments", "delete", {
retryMode: "resource-state",
rationale: "Permanently removes a saved Subscriber-selection definition.",
}),
read("previewSegment", "segments", "segments:read", "subscriber", "Returns bounded aggregate counts for an unsaved Segment definition."),
read("listWebhookSubscriptions", "webhook_subscriptions", "webhooks:read", "workspace", "Reads a bounded page of webhook destinations and delivery health."),
change("createWebhookSubscription", "webhook_subscriptions", "admin", "webhooks:write", {
read("previewSegment", "segments", "subscriber", "Returns bounded aggregate counts for an unsaved Segment definition."),
read("listWebhookSubscriptions", "webhook_subscriptions", "workspace", "Reads a bounded page of webhook destinations and delivery health."),
change("createWebhookSubscription", "webhook_subscriptions", "admin", {
externalSideEffect: true,
requiresLiveAction: true,
rationale: "Creates an outbound data destination and returns new secret material once.",
}),
read("getWebhookSubscription", "webhook_subscriptions", "webhooks:read", "workspace", "Reads one webhook destination and delivery health record."),
change("updateWebhookSubscription", "webhook_subscriptions", "admin", "webhooks:write", {
read("getWebhookSubscription", "webhook_subscriptions", "workspace", "Reads one webhook destination and delivery health record."),
change("updateWebhookSubscription", "webhook_subscriptions", "admin", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Changes an outbound data destination or subscribed events.",
}),
change("deleteWebhookSubscription", "webhook_subscriptions", "delete", "webhooks:write", {
change("deleteWebhookSubscription", "webhook_subscriptions", "delete", {
externalSideEffect: true,
requiresLiveAction: true,
retryMode: "resource-state",
rationale: "Removes an outbound event destination.",
}),
change("rotateWebhookSubscriptionSecret", "webhook_subscriptions", "admin", "webhooks:write", {
change("rotateWebhookSubscriptionSecret", "webhook_subscriptions", "admin", {
externalSideEffect: true,
requiresLiveAction: true,
sideEffectClass: "secret-change",

@@ -336,13 +416,22 @@ retryMode: "resource-state",

}),
change("createSubscriberImportJob", "jobs", "bulk", "subscribers:bulk_import", {
read("listSubscriberImportJobs", "jobs", "bulk-subscribers", "Reads a bounded page of recent Subscriber import job summaries."),
change("startSubscriberImportUpload", "jobs", "draft", {
retryMode: "resource-state",
dataScope: "bulk-subscribers",
rationale: "Creates a short-lived browser handoff without importing or storing Subscriber rows.",
}),
read("getSubscriberImportUpload", "jobs", "workspace", "Reads bounded status and CSV column metadata for one short-lived upload."),
change("createSubscriberImportJob", "jobs", "bulk", {
externalSideEffect: true,
requiresLiveAction: true,
dataScope: "bulk-subscribers",
rationale: "Changes many Subscribers and can enroll them in running Sequences.",
}),
read("getSubscriberImportJob", "jobs", "subscribers:bulk_import", "workspace", "Reads one bounded import summary."),
change("createSubscriberExportJob", "jobs", "bulk", "subscribers:bulk_export", {
read("getSubscriberImportJob", "jobs", "workspace", "Reads one bounded import summary."),
read("listSubscriberExportJobs", "jobs", "bulk-subscribers", "Reads a bounded page of recent Subscriber export job summaries."),
change("createSubscriberExportJob", "jobs", "bulk", {
dataScope: "bulk-subscribers",
rationale: "Creates an export containing bulk Subscriber data.",
}),
read("getSubscriberExportJob", "jobs", "subscribers:bulk_export", "bulk-subscribers", "Reads export status and a short-lived download location."),
read("getSubscriberExportJob", "jobs", "bulk-subscribers", "Reads export status and a short-lived download location."),
];

@@ -358,2 +447,3 @@ const publicApiAgentOperationRiskMap = new Map(publicApiAgentOperationRiskCatalog.map((definition) => [

export const getPublicApiAgentOperationRisk = (operationId) => publicApiAgentOperationRiskMap.get(operationId) ?? null;
export const requiresPublicApiLiveActionPermission = (operationId) => publicApiAgentOperationRiskMap.get(operationId)?.requiresLiveAction === true;
//# sourceMappingURL=agent-risk.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"agent-risk.js","sourceRoot":"","sources":["../src/agent-risk.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"agent-risk.js","sourceRoot":"","sources":["../src/agent-risk.ts"],"names":[],"mappings":"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"}

@@ -1,10 +0,9 @@

import type { PublicApiScopeKey } from "./scopes.js";
import type { PublicApiAgentIdempotencyPolicy, PublicApiAgentRetryMode, PublicApiAgentRiskClass, PublicApiAgentSideEffectClass } from "./agent-risk.js";
import type { PublicApiMcpToolAnnotations, PublicApiMcpToolsetKey } from "./mcp-contract.js";
export { getPublicApiAgentOperationRisk, publicApiAgentDataScopes, publicApiAgentIdempotencyPolicies, publicApiAgentOperationRiskCatalog, publicApiAgentRetryModes, publicApiAgentRiskClasses, publicApiAgentSideEffectClasses, } from "./agent-risk.js";
export { getPublicApiAgentOperationRisk, publicApiAgentDataScopes, publicApiAgentIdempotencyPolicies, publicApiAgentOperationRiskCatalog, publicApiAgentRetryModes, publicApiAgentRiskClasses, publicApiAgentSideEffectClasses, requiresPublicApiLiveActionPermission, } from "./agent-risk.js";
export type { PublicApiAgentDataScope, PublicApiAgentIdempotencyPolicy, PublicApiAgentOperationRisk, PublicApiAgentRetryMode, PublicApiAgentRiskClass, PublicApiAgentSideEffectClass, } from "./agent-risk.js";
export { createPublicApiMcpOperationContract, createPublicApiMcpToolAnnotations, isPublicApiMcpToolsetKey, publicApiMcpErrorCategories, publicApiMcpToolsetKeys, publicApiMcpToolsets, resolvePublicApiMcpToolsets, } from "./mcp-contract.js";
export type { PublicApiMcpErrorCategory, PublicApiMcpOperationContract, PublicApiMcpToolAnnotations, PublicApiMcpToolset, PublicApiMcpToolsetKey, } from "./mcp-contract.js";
export { isPublicApiScopeKey, normalizePublicApiScopeKeys, validatePublicApiScopeKeys, publicApiAgentReadQuickstartScopeKeys, publicApiDefaultScopeKeys, publicApiReadScopeKeys, publicApiScopeDefinitionByKey, publicApiScopeDefinitions, publicApiScopeDisplaySections, publicApiScopeKeys, publicApiScopePresetByKey, publicApiScopePresetDisplaySections, publicApiScopePresets, publicApiScopeResourceOrder, } from "./scopes.js";
export type { PublicApiScopeAction, PublicApiScopeDefinition, PublicApiScopeKey, PublicApiScopePreset, PublicApiScopePresetKey, } from "./scopes.js";
export { isPublicApiScopeKey, normalizePublicApiScopeKeys, validatePublicApiScopeKeys, publicApiAgentReadQuickstartScopeKeys, publicApiDefaultWorkProfileKey, publicApiDefaultScopeKeys, publicApiReadScopeKeys, publicApiScopeDefinitionByKey, publicApiScopeDefinitions, publicApiScopeDisplaySections, publicApiScopeKeys, publicApiResourceContractByKey, publicApiResourceContracts, publicApiWorkProfileByKey, publicApiWorkProfileDisplaySections, publicApiWorkProfiles, publicApiScopeResourceOrder, resolvePublicApiOperationRequiredScopes, } from "./resource-contract.js";
export type { PublicApiResourceArchetype, PublicApiResourceContract, PublicApiScopeAction, PublicApiScopeDefinition, PublicApiScopeKey, PublicApiWorkProfile, PublicApiWorkProfileKey, } from "./resource-contract.js";
export type PublicApiSection = {

@@ -42,8 +41,3 @@ id: string;

}>;
"x-mailrith-payload-field-scopes"?: Record<string, readonly string[]>;
};
export type PublicApiPayloadFieldScopeRequirements = {
description: string;
requiredScopesByField: Record<string, readonly PublicApiScopeKey[]>;
};
export type PublicApiTagDefinition = {

@@ -78,16 +72,3 @@ name: string;

requiredScopes: string[];
eventPatternScopeRequirements?: PublicApiWebhookEventPatternScopeRequirements;
payloadFieldScopeRequirements?: PublicApiPayloadFieldScopeRequirements;
};
export declare const publicApiSubscriberPayloadFieldScopeRequirements: {
readonly description: "Subscriber relationship fields require their matching granular permission in addition to the operation's base permissions.";
readonly requiredScopesByField: {
readonly status: readonly ["subscriptions:write"];
readonly existing_tag_ids: readonly ["subscribers:targeting"];
readonly new_tags: readonly ["subscribers:targeting"];
readonly form_id: readonly ["subscribers:targeting"];
readonly sequence_ids: readonly ["subscribers:sequence_enroll"];
readonly consent_evidence: readonly ["subscriptions:write"];
};
};
export type PublicApiCapabilityResource = {

@@ -99,7 +80,2 @@ key: string;

};
export type PublicApiWebhookEventPatternScopeRequirements = {
requestField: "event_patterns";
description: string;
requiredScopesByEventPattern: Record<PublicApiWebhookEventPattern, PublicApiScopeKey[]>;
};
export declare const emailTemplateNameMaxLength = 160;

@@ -141,8 +117,2 @@ export declare const emailTemplateBodyDocumentMaxBytes: number;

export declare const isPublicApiWebhookEventPattern: (value: string) => value is PublicApiWebhookEventPattern;
export declare const getPublicApiWebhookEventPatternRequiredScopes: (eventPatterns: readonly PublicApiWebhookEventPattern[]) => PublicApiScopeKey[];
export declare const publicApiWebhookEventPatternScopeRequirements: {
requestField: "event_patterns";
description: string;
requiredScopesByEventPattern: Record<PublicApiWebhookEventPattern, PublicApiScopeKey[]>;
};
export declare const publicApiWebhookSignatureHeaders: {

@@ -158,3 +128,3 @@ readonly id: "webhook-id";

export type PublicApiSdkOperation = {
namespace: "discovery" | "workspace" | "subscribers" | "tags" | "customFields" | "emailTemplates" | "forms" | "landingPages" | "sequences" | "automations" | "magicLinks" | "broadcasts" | "segments" | "webhookSubscriptions" | "jobs" | "agentActivity" | "analytics" | "diagnostics";
namespace: "discovery" | "workspace" | "senderIdentities" | "emailDeliveryConnections" | "subscribers" | "tags" | "customFields" | "emailTemplates" | "startingPoints" | "forms" | "landingPages" | "sequences" | "automations" | "magicLinks" | "broadcasts" | "segments" | "webhookSubscriptions" | "jobs" | "analytics" | "diagnostics";
methodName: string;

@@ -171,2 +141,3 @@ operationId: string;

externalSideEffect: boolean;
requiresLiveAction: boolean;
sideEffectClass: PublicApiAgentSideEffectClass;

@@ -183,4 +154,2 @@ retryMode: PublicApiAgentRetryMode;

requestBodyRequired: boolean;
eventPatternScopeRequirements?: PublicApiWebhookEventPatternScopeRequirements;
payloadFieldScopeRequirements?: PublicApiPayloadFieldScopeRequirements;
};

@@ -187,0 +156,0 @@ export type PublicApiSdkResource = {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}

@@ -1,5 +0,5 @@

import { type PublicApiScopeKey } from "./scopes.js";
import { type PublicApiScopeKey, type PublicApiWorkProfileKey } from "./resource-contract.js";
import type { PublicApiAgentOperationRisk } from "./agent-risk.js";
export declare const publicApiMcpToolsetKeys: readonly ["reporting", "subscriber_sync", "data_transfer", "content_and_targeting", "capture", "broadcast_preparation", "broadcast_sending", "sequence_preparation", "sequence_operations", "automations", "webhooks", "administration"];
export type PublicApiMcpToolsetKey = (typeof publicApiMcpToolsetKeys)[number];
export type PublicApiMcpToolsetKey = PublicApiWorkProfileKey;
export declare const publicApiMcpToolsetKeys: PublicApiMcpToolsetKey[];
export type PublicApiMcpToolset = {

@@ -11,63 +11,8 @@ key: PublicApiMcpToolsetKey;

};
export declare const publicApiMcpToolsets: readonly [{
readonly key: "reporting";
readonly label: "Reporting";
readonly description: "Read workspace, Subscriber, content, workflow, and delivery information without changing it.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "subscriber_sync";
readonly label: "Subscriber Sync";
readonly description: "Manage individual Subscriber profiles, status, Tags, deletion, and custom fields.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "data_transfer";
readonly label: "Subscriber Import & Export";
readonly description: "Run bounded Subscriber imports and exports and monitor their jobs.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "content_and_targeting";
readonly label: "Templates, Tags, Fields & Segments";
readonly description: "Manage email templates, Tags, custom fields, and Segments.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "capture";
readonly label: "Forms, Landing Pages & Magic Links";
readonly description: "Manage Forms, Landing Pages, Magic Links, and their Subscriber capture data.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "broadcast_preparation";
readonly label: "Broadcast Preparation";
readonly description: "Create, change, check, and delete Broadcast drafts without sending email.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "broadcast_sending";
readonly label: "Broadcast Sending";
readonly description: "Review, test, send, monitor, and stop Broadcasts.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "sequence_preparation";
readonly label: "Sequence Preparation";
readonly description: "Create, change, and delete paused Sequences without activating them or enrolling Subscribers.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "sequence_operations";
readonly label: "Sequence Operations";
readonly description: "Activate or pause Sequences and add or remove individual Subscribers.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "automations";
readonly label: "Automations";
readonly description: "Create, change, activate, pause, delete, and inspect Automations.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "webhooks";
readonly label: "Outbound Webhook Setup";
readonly description: "Create, change, rotate secrets for, and delete outbound webhook subscriptions.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}, {
readonly key: "administration";
readonly label: "Administration";
readonly description: "Use the complete public API surface, including bulk, deletion, and webhook administration.";
readonly scopeKeys: readonly ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
}];
export declare const publicApiMcpToolsets: {
key: PublicApiWorkProfileKey;
label: string;
description: string;
scopeKeys: readonly ("workspace:read" | "analytics:read" | "live_actions:write" | "subscribers:read" | "subscribers:write" | "subscribers:import" | "subscribers:export" | "segments:read" | "segments:write" | "tags:read" | "tags:write" | "forms:read" | "forms:write" | "form_submissions:read" | "landing_pages:read" | "landing_pages:write" | "landing_page_submissions:read" | "broadcasts:read" | "broadcasts:write" | "sequences:read" | "sequences:write" | "magic_links:read" | "magic_links:write" | "automations:read" | "automations:write" | "email_delivery_connections:read" | "email_delivery_connections:write" | "email_templates:read" | "email_templates:write" | "custom_fields:read" | "custom_fields:write" | "webhooks:read" | "webhooks:write")[];
}[];
export declare const isPublicApiMcpToolsetKey: (value: string) => value is PublicApiMcpToolsetKey;

@@ -74,0 +19,0 @@ export declare const resolvePublicApiMcpToolsets: (requiredScopes: readonly string[]) => PublicApiMcpToolsetKey[];

@@ -1,1 +0,1 @@

{"version":3,"file":"mcp-contract.d.ts","sourceRoot":"","sources":["../src/mcp-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,eAAO,MAAM,uBAAuB,0OAa1B,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzC,CAAC;AAkBF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFkB,CAAC;AASpD,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,KACZ,KAAK,IAAI,sBACsD,CAAC;AAEnE,eAAO,MAAM,2BAA2B,GACtC,gBAAgB,SAAS,MAAM,EAAE,KAChC,sBAAsB,EAMS,CAAC;AAEnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,MAAM,IAAI,CACR,2BAA2B,EAC3B,MAAM,GAAG,oBAAoB,GAAG,mBAAmB,CACpD,KACA,2BAKD,CAAC;AAEH,eAAO,MAAM,2BAA2B,2GAQ9B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC9D,CAAC;IACF,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC/D,CACF,CAAC;CACH,CAAC;AAgGF,eAAO,MAAM,mCAAmC,GAC9C,WAAW,gBAAgB,EAC3B,kBAAkB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACxD,6BAsHF,CAAC"}
{"version":3,"file":"mcp-contract.d.ts","sourceRoot":"","sources":["../src/mcp-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACV,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,EAE/B,sBAAsB,EAAE,CAAC;AAE9B,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,sBAAsB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;GAKW,CAAC;AAS7C,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,KACZ,KAAK,IAAI,sBACsD,CAAC;AAEnE,eAAO,MAAM,2BAA2B,GACtC,gBAAgB,SAAS,MAAM,EAAE,KAChC,sBAAsB,EAMS,CAAC;AAEnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,MAAM,IAAI,CACR,2BAA2B,EAC3B,MAAM,GAAG,oBAAoB,GAAG,mBAAmB,CACpD,KACA,2BAKD,CAAC;AAEH,eAAO,MAAM,2BAA2B,2GAQ9B,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC9D,CAAC;IACF,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KAC/D,CACF,CAAC;CACH,CAAC;AAgGF,eAAO,MAAM,mCAAmC,GAC9C,WAAW,gBAAgB,EAC3B,kBAAkB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACxD,6BAiNF,CAAC"}

@@ -1,91 +0,9 @@

import { publicApiScopePresetByKey, } from "./scopes.js";
export const publicApiMcpToolsetKeys = [
"reporting",
"subscriber_sync",
"data_transfer",
"content_and_targeting",
"capture",
"broadcast_preparation",
"broadcast_sending",
"sequence_preparation",
"sequence_operations",
"automations",
"webhooks",
"administration",
];
const presetScopes = (key) => publicApiScopePresetByKey.get(key)?.scopeKeys ?? [];
export const publicApiMcpToolsets = [
{
key: "reporting",
label: "Reporting",
description: "Read workspace, Subscriber, content, workflow, and delivery information without changing it.",
scopeKeys: presetScopes("reporting"),
},
{
key: "subscriber_sync",
label: "Subscriber Sync",
description: "Manage individual Subscriber profiles, status, Tags, deletion, and custom fields.",
scopeKeys: presetScopes("subscriber_sync"),
},
{
key: "data_transfer",
label: "Subscriber Import & Export",
description: "Run bounded Subscriber imports and exports and monitor their jobs.",
scopeKeys: presetScopes("data_transfer"),
},
{
key: "content_and_targeting",
label: "Templates, Tags, Fields & Segments",
description: "Manage email templates, Tags, custom fields, and Segments.",
scopeKeys: presetScopes("content_and_targeting"),
},
{
key: "capture",
label: "Forms, Landing Pages & Magic Links",
description: "Manage Forms, Landing Pages, Magic Links, and their Subscriber capture data.",
scopeKeys: presetScopes("capture_management"),
},
{
key: "broadcast_preparation",
label: "Broadcast Preparation",
description: "Create, change, check, and delete Broadcast drafts without sending email.",
scopeKeys: presetScopes("broadcast_preparation"),
},
{
key: "broadcast_sending",
label: "Broadcast Sending",
description: "Review, test, send, monitor, and stop Broadcasts.",
scopeKeys: presetScopes("broadcast_sending"),
},
{
key: "sequence_preparation",
label: "Sequence Preparation",
description: "Create, change, and delete paused Sequences without activating them or enrolling Subscribers.",
scopeKeys: presetScopes("sequence_preparation"),
},
{
key: "sequence_operations",
label: "Sequence Operations",
description: "Activate or pause Sequences and add or remove individual Subscribers.",
scopeKeys: presetScopes("sequence_operations"),
},
{
key: "automations",
label: "Automations",
description: "Create, change, activate, pause, delete, and inspect Automations.",
scopeKeys: presetScopes("automation_management"),
},
{
key: "webhooks",
label: "Outbound Webhook Setup",
description: "Create, change, rotate secrets for, and delete outbound webhook subscriptions.",
scopeKeys: presetScopes("webhook_management"),
},
{
key: "administration",
label: "Administration",
description: "Use the complete public API surface, including bulk, deletion, and webhook administration.",
scopeKeys: presetScopes("full_administration"),
},
];
import { publicApiWorkProfiles, } from "./resource-contract.js";
export const publicApiMcpToolsetKeys = publicApiWorkProfiles.map((profile) => profile.key);
export const publicApiMcpToolsets = publicApiWorkProfiles.map((profile) => ({
key: profile.key,
label: profile.label,
description: profile.description,
scopeKeys: profile.scopeKeys,
}));
const publicApiMcpToolsetScopeMap = new Map(publicApiMcpToolsets.map((toolset) => [

@@ -271,2 +189,65 @@ toolset.key,

retryable: { type: "boolean" },
required_scopes: {
type: "array",
maxItems: 50,
items: { type: "string" },
},
missing_scopes: {
type: "array",
maxItems: 50,
items: { type: "string" },
},
replacement_scopes: {
type: "array",
maxItems: 50,
items: { type: "string" },
},
credential_type: {
type: "string",
enum: ["workspace_api_key", "oauth_access_token"],
},
recommended_work_profiles: {
type: "array",
maxItems: 20,
items: { type: "string" },
},
access_update_url: { type: "string", format: "uri" },
reconnect_required: { type: "boolean" },
permissions_help_url: { type: "string", format: "uri" },
recovery: {
type: "object",
additionalProperties: false,
required: ["action", "message"],
properties: {
action: {
type: "string",
enum: ["replace_api_key", "reconnect_oauth"],
},
message: { type: "string" },
replacement_scopes: {
type: "array",
maxItems: 50,
items: { type: "string" },
},
access_update_url: { type: "string", format: "uri" },
permissions_help_url: { type: "string", format: "uri" },
},
},
details: {
type: "object",
additionalProperties: false,
properties: {
field: { type: "string" },
reason: { type: "string" },
resource: {
type: "object",
additionalProperties: false,
required: ["type", "id"],
properties: {
type: { type: "string" },
id: { type: "string" },
},
},
},
},
issues: {

@@ -286,2 +267,30 @@ type: "array",

},
prerequisite: {
type: "object",
additionalProperties: false,
required: ["resource", "state"],
properties: {
resource: { type: "string" },
state: {
type: "string",
enum: ["missing", "disabled"],
},
required_scopes: {
type: "array",
maxItems: 50,
items: { type: "string" },
},
work_profile: { type: "string" },
setup_url: { type: "string", format: "uri" },
},
},
retry: {
type: "object",
additionalProperties: false,
required: ["safe", "guidance"],
properties: {
safe: { type: "boolean" },
guidance: { type: "string" },
},
},
},

@@ -288,0 +297,0 @@ },

@@ -1,1 +0,1 @@

{"version":3,"file":"mcp-contract.js","sourceRoot":"","sources":["../src/mcp-contract.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"mcp-contract.js","sourceRoot":"","sources":["../src/mcp-contract.ts"],"names":[],"mappings":"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"}
{
"name": "@mailrith/public-api",
"version": "0.1.2",
"version": "0.2.0",
"description": "Versioned Mailrith public API, OAuth, MCP, scope, and risk contract.",

@@ -22,6 +22,6 @@ "license": "MIT",

},
"./scopes": {
"types": "./dist/scopes.d.ts",
"import": "./dist/scopes.js",
"default": "./dist/scopes.js"
"./resource-contract": {
"types": "./dist/resource-contract.d.ts",
"import": "./dist/resource-contract.js",
"default": "./dist/resource-contract.js"
}

@@ -28,0 +28,0 @@ },

export type PublicApiScopeAction = "read" | "draft" | "configure" | "execute" | "test" | "bulk" | "delete" | "admin";
export type PublicApiScopeDefinition = {
key: string;
resourceKey: string;
action: PublicApiScopeAction;
label: string;
description: string;
};
declare const publicApiScopeDefinitionCatalog: readonly [{
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "activity:read";
readonly resourceKey: "agent_activity";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:profile";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscriptions:read";
readonly resourceKey: "subscriptions";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscriptions:write";
readonly resourceKey: "subscriptions";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:targeting";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:sequence_enroll";
readonly resourceKey: "subscribers";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:delete";
readonly resourceKey: "subscribers";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:bulk_import";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
}, {
readonly key: "subscribers:bulk_export";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
}, {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "tags:configure";
readonly resourceKey: "tags";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "tags:delete";
readonly resourceKey: "tags";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "custom_fields:configure";
readonly resourceKey: "custom_fields";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "custom_fields:delete";
readonly resourceKey: "custom_fields";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_templates:draft";
readonly resourceKey: "email_templates";
readonly action: "draft";
readonly label: string;
readonly description: string;
}, {
readonly key: "email_templates:delete";
readonly resourceKey: "email_templates";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:submissions_read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:configure";
readonly resourceKey: "forms";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "forms:delete";
readonly resourceKey: "forms";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:submissions_read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:configure";
readonly resourceKey: "landing_pages";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "landing_pages:delete";
readonly resourceKey: "landing_pages";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:draft";
readonly resourceKey: "sequences";
readonly action: "draft";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:activate";
readonly resourceKey: "sequences";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "sequences:delete";
readonly resourceKey: "sequences";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:draft";
readonly resourceKey: "automations";
readonly action: "draft";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:activate";
readonly resourceKey: "automations";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "automations:delete";
readonly resourceKey: "automations";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "magic_links:configure";
readonly resourceKey: "magic_links";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "magic_links:delete";
readonly resourceKey: "magic_links";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:draft";
readonly resourceKey: "broadcasts";
readonly action: "draft";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:preflight";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:test";
readonly resourceKey: "broadcasts";
readonly action: "test";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:send";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:cancel";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
}, {
readonly key: "broadcasts:delete";
readonly resourceKey: "broadcasts";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "segments:configure";
readonly resourceKey: "segments";
readonly action: "configure";
readonly label: string;
readonly description: string;
}, {
readonly key: "segments:delete";
readonly resourceKey: "segments";
readonly action: "delete";
readonly label: string;
readonly description: string;
}, {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
}, {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "admin";
readonly label: string;
readonly description: string;
}];
export type PublicApiScopeKey = (typeof publicApiScopeDefinitionCatalog)[number]["key"];
export declare const publicApiScopeDisplaySections: readonly [{
readonly key: "overview";
readonly label: "Overview";
readonly resources: readonly [{
readonly label: "Dashboard";
readonly resourceKeys: readonly ["analytics"];
}];
}, {
readonly key: "subscribers";
readonly label: "Subscribers";
readonly resources: readonly [{
readonly label: "Subscribers";
readonly resourceKeys: readonly ["subscribers", "subscriptions"];
}, {
readonly label: "Segments";
readonly resourceKeys: readonly ["segments"];
}, {
readonly label: "Tags";
readonly resourceKeys: readonly ["tags"];
}, {
readonly label: "Forms";
readonly resourceKeys: readonly ["forms"];
}, {
readonly label: "Landing Pages";
readonly resourceKeys: readonly ["landing_pages"];
}];
}, {
readonly key: "campaigns";
readonly label: "Campaigns";
readonly resources: readonly [{
readonly label: "Broadcasts";
readonly resourceKeys: readonly ["broadcasts"];
}, {
readonly label: "Sequences";
readonly resourceKeys: readonly ["sequences"];
}, {
readonly label: "Magic Links";
readonly resourceKeys: readonly ["magic_links"];
}, {
readonly label: "Automations";
readonly resourceKeys: readonly ["automations"];
}];
}, {
readonly key: "account";
readonly label: "Account";
readonly resources: readonly [{
readonly label: "Workspaces";
readonly resourceKeys: readonly ["workspace"];
}, {
readonly label: "Email Templates";
readonly resourceKeys: readonly ["email_templates"];
}, {
readonly label: "Custom Fields";
readonly resourceKeys: readonly ["custom_fields"];
}, {
readonly label: "Integrations";
readonly resourceKeys: readonly ["agent_activity", "webhooks"];
}];
}];
export declare const publicApiScopeResourceOrder: ("workspace" | "agent_activity" | "analytics" | "subscribers" | "tags" | "custom_fields" | "email_templates" | "forms" | "landing_pages" | "sequences" | "automations" | "magic_links" | "broadcasts" | "segments" | "subscriptions" | "webhooks")[];
export declare const publicApiScopeDefinitions: ({
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "activity:read";
readonly resourceKey: "agent_activity";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:profile";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscriptions:read";
readonly resourceKey: "subscriptions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscriptions:write";
readonly resourceKey: "subscriptions";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:targeting";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:sequence_enroll";
readonly resourceKey: "subscribers";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:delete";
readonly resourceKey: "subscribers";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:bulk_import";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:bulk_export";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:configure";
readonly resourceKey: "tags";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:delete";
readonly resourceKey: "tags";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:configure";
readonly resourceKey: "custom_fields";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:delete";
readonly resourceKey: "custom_fields";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:draft";
readonly resourceKey: "email_templates";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:delete";
readonly resourceKey: "email_templates";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:submissions_read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:configure";
readonly resourceKey: "forms";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:delete";
readonly resourceKey: "forms";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:submissions_read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:configure";
readonly resourceKey: "landing_pages";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:delete";
readonly resourceKey: "landing_pages";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:draft";
readonly resourceKey: "sequences";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:activate";
readonly resourceKey: "sequences";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:delete";
readonly resourceKey: "sequences";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:draft";
readonly resourceKey: "automations";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:activate";
readonly resourceKey: "automations";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:delete";
readonly resourceKey: "automations";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:configure";
readonly resourceKey: "magic_links";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:delete";
readonly resourceKey: "magic_links";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:draft";
readonly resourceKey: "broadcasts";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:preflight";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:test";
readonly resourceKey: "broadcasts";
readonly action: "test";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:send";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:cancel";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:delete";
readonly resourceKey: "broadcasts";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:configure";
readonly resourceKey: "segments";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:delete";
readonly resourceKey: "segments";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "admin";
readonly label: string;
readonly description: string;
})[];
export type PublicApiScopePresetKey = "reporting" | "subscriber_sync" | "content_and_targeting" | "capture_management" | "broadcast_preparation" | "broadcast_sending" | "sequence_preparation" | "sequence_operations" | "automation_management" | "webhook_management" | "data_transfer" | "full_administration";
export type PublicApiScopePreset = {
key: PublicApiScopePresetKey;
label: string;
description: string;
scopeKeys: readonly PublicApiScopeKey[];
};
export declare const publicApiScopeDefinitionByKey: Map<"workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read", {
readonly key: "workspace:read";
readonly resourceKey: "workspace";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "activity:read";
readonly resourceKey: "agent_activity";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "analytics:read";
readonly resourceKey: "analytics";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:read";
readonly resourceKey: "subscribers";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:profile";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscriptions:read";
readonly resourceKey: "subscriptions";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscriptions:write";
readonly resourceKey: "subscriptions";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:targeting";
readonly resourceKey: "subscribers";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:sequence_enroll";
readonly resourceKey: "subscribers";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:delete";
readonly resourceKey: "subscribers";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:bulk_import";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
} | {
readonly key: "subscribers:bulk_export";
readonly resourceKey: "subscribers";
readonly action: "bulk";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:read";
readonly resourceKey: "tags";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:configure";
readonly resourceKey: "tags";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "tags:delete";
readonly resourceKey: "tags";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:read";
readonly resourceKey: "custom_fields";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:configure";
readonly resourceKey: "custom_fields";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "custom_fields:delete";
readonly resourceKey: "custom_fields";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:read";
readonly resourceKey: "email_templates";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:draft";
readonly resourceKey: "email_templates";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "email_templates:delete";
readonly resourceKey: "email_templates";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:submissions_read";
readonly resourceKey: "forms";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:configure";
readonly resourceKey: "forms";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "forms:delete";
readonly resourceKey: "forms";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:submissions_read";
readonly resourceKey: "landing_pages";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:configure";
readonly resourceKey: "landing_pages";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "landing_pages:delete";
readonly resourceKey: "landing_pages";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:read";
readonly resourceKey: "sequences";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:draft";
readonly resourceKey: "sequences";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:activate";
readonly resourceKey: "sequences";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "sequences:delete";
readonly resourceKey: "sequences";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:read";
readonly resourceKey: "automations";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:draft";
readonly resourceKey: "automations";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:activate";
readonly resourceKey: "automations";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "automations:delete";
readonly resourceKey: "automations";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:read";
readonly resourceKey: "magic_links";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:configure";
readonly resourceKey: "magic_links";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "magic_links:delete";
readonly resourceKey: "magic_links";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:read";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:draft";
readonly resourceKey: "broadcasts";
readonly action: "draft";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:preflight";
readonly resourceKey: "broadcasts";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:test";
readonly resourceKey: "broadcasts";
readonly action: "test";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:send";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:cancel";
readonly resourceKey: "broadcasts";
readonly action: "execute";
readonly label: string;
readonly description: string;
} | {
readonly key: "broadcasts:delete";
readonly resourceKey: "broadcasts";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:read";
readonly resourceKey: "segments";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:configure";
readonly resourceKey: "segments";
readonly action: "configure";
readonly label: string;
readonly description: string;
} | {
readonly key: "segments:delete";
readonly resourceKey: "segments";
readonly action: "delete";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:read";
readonly resourceKey: "webhooks";
readonly action: "read";
readonly label: string;
readonly description: string;
} | {
readonly key: "webhooks:write";
readonly resourceKey: "webhooks";
readonly action: "admin";
readonly label: string;
readonly description: string;
}>;
export declare const publicApiScopeKeys: PublicApiScopeKey[];
export declare const publicApiReadScopeKeys: PublicApiScopeKey[];
export declare const publicApiScopePresets: readonly [PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset, PublicApiScopePreset];
export declare const publicApiScopePresetDisplaySections: readonly [{
readonly key: "overview";
readonly label: "Overview";
readonly presetKeys: readonly ["reporting"];
}, {
readonly key: "subscribers";
readonly label: "Subscribers";
readonly presetKeys: readonly ["subscriber_sync", "data_transfer", "content_and_targeting", "capture_management"];
}, {
readonly key: "campaigns";
readonly label: "Campaigns";
readonly presetKeys: readonly ["broadcast_preparation", "broadcast_sending", "sequence_preparation", "sequence_operations", "automation_management"];
}, {
readonly key: "account";
readonly label: "Account";
readonly presetKeys: readonly ["webhook_management", "full_administration"];
}];
export declare const publicApiScopePresetByKey: Map<PublicApiScopePresetKey, PublicApiScopePreset>;
export declare const publicApiDefaultScopeKeys: ("workspace:read" | "activity:read" | "analytics:read" | "automations:read" | "sequences:read" | "broadcasts:read" | "subscribers:read" | "subscribers:profile" | "subscribers:delete" | "subscriptions:write" | "subscribers:targeting" | "subscribers:sequence_enroll" | "tags:read" | "tags:configure" | "tags:delete" | "custom_fields:read" | "custom_fields:configure" | "custom_fields:delete" | "email_templates:read" | "email_templates:draft" | "email_templates:delete" | "forms:read" | "forms:configure" | "forms:submissions_read" | "forms:delete" | "landing_pages:read" | "landing_pages:configure" | "landing_pages:submissions_read" | "landing_pages:delete" | "sequences:draft" | "sequences:activate" | "sequences:delete" | "automations:draft" | "automations:activate" | "automations:delete" | "magic_links:read" | "magic_links:configure" | "magic_links:delete" | "broadcasts:draft" | "broadcasts:delete" | "broadcasts:preflight" | "broadcasts:send" | "broadcasts:cancel" | "broadcasts:test" | "segments:read" | "segments:configure" | "segments:delete" | "webhooks:read" | "webhooks:write" | "subscribers:bulk_import" | "subscribers:bulk_export" | "subscriptions:read")[];
export declare const publicApiAgentReadQuickstartScopeKeys: readonly ["workspace:read", "subscribers:read"];
export declare const isPublicApiScopeKey: (value: string) => value is PublicApiScopeKey;
export declare const normalizePublicApiScopeKeys: (scopeKeys: Iterable<string>) => PublicApiScopeKey[];
export declare const validatePublicApiScopeKeys: (scopeKeys: Iterable<string>) => {
ok: true;
value: PublicApiScopeKey[];
} | {
ok: false;
unsupportedScopeKeys: string[];
};
export {};
//# sourceMappingURL=scopes.d.ts.map
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"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"}
const scope = (key, resourceKey, action, label, description) => ({ key, resourceKey, action, label, description });
const publicApiScopeDefinitionCatalog = [
scope("workspace:read", "workspace", "read", "View workspace", "View the selected workspace name, settings, and current API context."),
scope("activity:read", "agent_activity", "read", "View agent activity", "View the bounded, redacted activity trail for agent-originated workspace changes."),
scope("analytics:read", "analytics", "read", "View analytics", "Run bounded aggregate reports from compact delivery and engagement rollups."),
scope("subscribers:read", "subscribers", "read", "View Subscribers", "View bounded pages of Subscribers and their saved profile data."),
scope("subscribers:profile", "subscribers", "configure", "Change Subscriber profiles", "Create Subscriber records and change names, email addresses, countries, subscription dates, and custom-field values. This cannot change sending eligibility."),
scope("subscriptions:read", "subscriptions", "read", "View Subscriber Status", "View email subscription status, sending eligibility, suppression details, and compact consent evidence."),
scope("subscriptions:write", "subscriptions", "execute", "Manage Subscriber Status", "Subscribe or unsubscribe Subscribers, manage sending eligibility, and record the compact consent evidence required for those changes."),
scope("subscribers:targeting", "subscribers", "configure", "Manage Subscriber Tags", "Add or remove Tags that can change segmentation and Automation eligibility for one Subscriber."),
scope("subscribers:sequence_enroll", "subscribers", "execute", "Manage Sequence enrollment", "Add or remove one Subscriber from a Sequence. Enrollment in a running Sequence can send email."),
scope("subscribers:delete", "subscribers", "delete", "Delete Subscribers", "Permanently remove individual Subscribers and their Mailrith activity history."),
scope("subscribers:bulk_import", "subscribers", "bulk", "Import Subscribers in bulk", "Start bulk imports that can create or change many Subscribers, Tags, sending eligibility, and Sequence enrollment."),
scope("subscribers:bulk_export", "subscribers", "bulk", "Export Subscribers in bulk", "Create and download exports containing bulk Subscriber data."),
scope("tags:read", "tags", "read", "View Tags", "View the workspace Tag catalog."),
scope("tags:configure", "tags", "configure", "Configure Tags", "Create Tags used for Subscriber organization, targeting, and preferences."),
scope("tags:delete", "tags", "delete", "Delete Tags", "Permanently remove Tags that are not referenced by another Mailrith resource."),
scope("custom_fields:read", "custom_fields", "read", "View custom fields", "View the workspace custom-field schema."),
scope("custom_fields:configure", "custom_fields", "configure", "Configure custom fields", "Create and change custom-field definitions used by Subscriber data."),
scope("custom_fields:delete", "custom_fields", "delete", "Delete custom fields", "Permanently remove custom-field definitions and their saved Subscriber values."),
scope("email_templates:read", "email_templates", "read", "View email templates", "View reusable email template content and settings."),
scope("email_templates:draft", "email_templates", "draft", "Draft email templates", "Create and change reusable email content without sending email."),
scope("email_templates:delete", "email_templates", "delete", "Delete email templates", "Permanently remove reusable email template content."),
scope("forms:read", "forms", "read", "View Forms", "View Form definitions and settings."),
scope("forms:submissions_read", "forms", "read", "View Form submissions", "View bounded pages of Form submissions and the Subscriber data they contain."),
scope("forms:configure", "forms", "configure", "Configure Forms", "Create and change publicly reachable Subscriber capture Forms."),
scope("forms:delete", "forms", "delete", "Delete Forms", "Remove publicly reachable Subscriber capture Forms."),
scope("landing_pages:read", "landing_pages", "read", "View Landing Pages", "View hosted Landing Page definitions and settings."),
scope("landing_pages:submissions_read", "landing_pages", "read", "View Landing Page submissions", "View bounded pages of Landing Page submissions and the Subscriber data they contain."),
scope("landing_pages:configure", "landing_pages", "configure", "Configure Landing Pages", "Create and change publicly reachable hosted Landing Pages."),
scope("landing_pages:delete", "landing_pages", "delete", "Delete Landing Pages", "Remove publicly reachable hosted Landing Pages."),
scope("sequences:read", "sequences", "read", "View Sequences", "View Sequence definitions, status, and aggregate delivery results."),
scope("sequences:draft", "sequences", "draft", "Draft Sequences", "Create paused Sequences and change paused Sequence content without starting delivery."),
scope("sequences:activate", "sequences", "execute", "Activate or pause Sequences", "Start or pause Sequences. Starting a Sequence can send email to enrolled Subscribers."),
scope("sequences:delete", "sequences", "delete", "Delete Sequences", "Permanently remove lifecycle Sequences."),
scope("automations:read", "automations", "read", "View Automations", "View Automation definitions, status, and aggregate results."),
scope("automations:draft", "automations", "draft", "Draft Automations", "Create inactive Automations and change inactive Automation definitions."),
scope("automations:activate", "automations", "execute", "Activate or pause Automations", "Start or pause Automations. Starting an Automation can run actions for matching Subscribers."),
scope("automations:delete", "automations", "delete", "Delete Automations", "Permanently remove Automation workflows."),
scope("magic_links:read", "magic_links", "read", "View Magic Links", "View Magic Link destinations and configured Subscriber actions."),
scope("magic_links:configure", "magic_links", "configure", "Configure Magic Links", "Create and change public Magic Links that can change Subscriber Tags or Sequence enrollment when clicked."),
scope("magic_links:delete", "magic_links", "delete", "Delete Magic Links", "Remove public Magic Links and their configured actions."),
scope("broadcasts:read", "broadcasts", "read", "View Broadcasts", "View Broadcast drafts, send status, and aggregate delivery results."),
scope("broadcasts:draft", "broadcasts", "draft", "Draft Broadcasts", "Create and change Broadcast drafts without scheduling or sending them."),
scope("broadcasts:preflight", "broadcasts", "read", "Check Broadcast readiness", "Run bounded readiness checks and view estimated recipient counts before a send."),
scope("broadcasts:test", "broadcasts", "test", "Send Broadcast tests", "Send a real test email from a Broadcast to one chosen recipient."),
scope("broadcasts:send", "broadcasts", "execute", "Send Broadcasts", "Start durable delivery of a Broadcast to real Subscribers."),
scope("broadcasts:cancel", "broadcasts", "execute", "Cancel Broadcast sends", "Stop remaining delivery work for a running Broadcast. Emails already accepted by a provider cannot be recalled."),
scope("broadcasts:delete", "broadcasts", "delete", "Delete Broadcasts", "Permanently remove eligible Broadcast drafts or failed sends."),
scope("segments:read", "segments", "read", "View Segments", "View saved Segment definitions and bounded preview counts."),
scope("segments:configure", "segments", "configure", "Configure Segments", "Create and change saved Subscriber-selection definitions."),
scope("segments:delete", "segments", "delete", "Delete Segments", "Permanently remove saved Subscriber-selection definitions."),
scope("webhooks:read", "webhooks", "read", "View Outbound Webhooks", "View outbound webhook destinations, selected events, and delivery health."),
scope("webhooks:write", "webhooks", "admin", "Configure Outbound Webhooks", "Create, change, delete, and rotate signing secrets for outbound webhook destinations."),
];
// Keep displayed permissions in the same sections and resource order people
// already learn from the app sidebar. API-only resources stay beside their
// nearest visible page.
export const publicApiScopeDisplaySections = [
{
key: "overview",
label: "Overview",
resources: [
{
label: "Dashboard",
resourceKeys: ["analytics"],
},
],
},
{
key: "subscribers",
label: "Subscribers",
resources: [
{
label: "Subscribers",
resourceKeys: ["subscribers", "subscriptions"],
},
{ label: "Segments", resourceKeys: ["segments"] },
{ label: "Tags", resourceKeys: ["tags"] },
{ label: "Forms", resourceKeys: ["forms"] },
{ label: "Landing Pages", resourceKeys: ["landing_pages"] },
],
},
{
key: "campaigns",
label: "Campaigns",
resources: [
{ label: "Broadcasts", resourceKeys: ["broadcasts"] },
{ label: "Sequences", resourceKeys: ["sequences"] },
{ label: "Magic Links", resourceKeys: ["magic_links"] },
{ label: "Automations", resourceKeys: ["automations"] },
],
},
{
key: "account",
label: "Account",
resources: [
{ label: "Workspaces", resourceKeys: ["workspace"] },
{ label: "Email Templates", resourceKeys: ["email_templates"] },
{ label: "Custom Fields", resourceKeys: ["custom_fields"] },
{
label: "Integrations",
resourceKeys: ["agent_activity", "webhooks"],
},
],
},
];
export const publicApiScopeResourceOrder = publicApiScopeDisplaySections.flatMap((section) => section.resources.flatMap((resource) => resource.resourceKeys));
const publicApiScopeResourceOrderByKey = new Map(publicApiScopeResourceOrder.map((resourceKey, index) => [resourceKey, index]));
export const publicApiScopeDefinitions = [
...publicApiScopeDefinitionCatalog,
].sort((left, right) => (publicApiScopeResourceOrderByKey.get(left.resourceKey) ??
Number.MAX_SAFE_INTEGER) -
(publicApiScopeResourceOrderByKey.get(right.resourceKey) ??
Number.MAX_SAFE_INTEGER));
const publicApiScopeDefinitionMap = new Map(publicApiScopeDefinitions.map((definition) => [definition.key, definition]));
export const publicApiScopeDefinitionByKey = publicApiScopeDefinitionMap;
export const publicApiScopeKeys = publicApiScopeDefinitions.map((definition) => definition.key);
export const publicApiReadScopeKeys = publicApiScopeDefinitions
.filter((definition) => definition.action === "read")
.map((definition) => definition.key);
const preset = (key, label, description, scopeKeys) => {
const selectedScopeKeys = new Set(scopeKeys);
return {
key,
label,
description,
scopeKeys: publicApiScopeKeys.filter((scopeKey) => selectedScopeKeys.has(scopeKey)),
};
};
export const publicApiScopePresets = [
preset("reporting", "Reporting", "View workspace, Subscriber, content, workflow, and delivery information without changing anything.", publicApiReadScopeKeys),
preset("subscriber_sync", "Subscriber Sync", "Manage individual Subscriber profiles, status, Tags, deletion, and supporting field definitions.", [
"workspace:read",
"subscribers:read",
"subscribers:profile",
"subscriptions:read",
"subscriptions:write",
"subscribers:targeting",
"subscribers:delete",
"tags:read",
"tags:configure",
"custom_fields:read",
"custom_fields:configure",
]),
preset("data_transfer", "Subscriber Import & Export", "Run bounded Subscriber imports and exports and monitor their jobs.", [
"workspace:read",
"subscribers:read",
"subscribers:bulk_import",
"subscribers:bulk_export",
"tags:read",
"custom_fields:read",
]),
preset("content_and_targeting", "Templates, Tags, Fields & Segments", "Manage reusable email content, Tags, custom fields, and Segments without sending email.", [
"workspace:read",
"subscribers:read",
"tags:read",
"tags:configure",
"tags:delete",
"custom_fields:read",
"custom_fields:configure",
"custom_fields:delete",
"email_templates:read",
"email_templates:draft",
"email_templates:delete",
"segments:read",
"segments:configure",
"segments:delete",
"analytics:read",
]),
preset("capture_management", "Forms, Landing Pages & Magic Links", "Manage Forms, Landing Pages, Magic Links, and their Subscriber capture data.", [
"workspace:read",
"subscribers:read",
"tags:read",
"custom_fields:read",
"forms:read",
"forms:submissions_read",
"forms:configure",
"forms:delete",
"landing_pages:read",
"landing_pages:submissions_read",
"landing_pages:configure",
"landing_pages:delete",
"magic_links:read",
"magic_links:configure",
"magic_links:delete",
]),
preset("broadcast_preparation", "Broadcast Preparation", "Create, change, check, and delete Broadcast drafts without sending email.", [
"workspace:read",
"subscribers:read",
"tags:read",
"custom_fields:read",
"email_templates:read",
"broadcasts:read",
"broadcasts:draft",
"broadcasts:preflight",
"broadcasts:delete",
"segments:read",
"segments:configure",
"analytics:read",
]),
preset("broadcast_sending", "Broadcast Sending", "Review, test, send, and stop Broadcasts without changing Automation definitions.", [
"workspace:read",
"subscribers:read",
"broadcasts:read",
"broadcasts:preflight",
"broadcasts:test",
"broadcasts:send",
"broadcasts:cancel",
"segments:read",
"analytics:read",
]),
preset("sequence_preparation", "Sequence Preparation", "Create, change, and delete paused Sequences without activating them or enrolling Subscribers.", [
"workspace:read",
"subscribers:read",
"tags:read",
"email_templates:read",
"sequences:read",
"sequences:draft",
"sequences:delete",
"analytics:read",
]),
preset("sequence_operations", "Sequence Operations", "Activate or pause Sequences and add or remove individual Subscribers.", [
"workspace:read",
"subscribers:read",
"subscribers:sequence_enroll",
"sequences:read",
"sequences:activate",
"analytics:read",
]),
preset("automation_management", "Automation Management", "Create, change, activate, pause, and delete Automations without sending Broadcasts.", [
"workspace:read",
"subscribers:read",
"tags:read",
"email_templates:read",
"automations:read",
"automations:draft",
"automations:activate",
"automations:delete",
"analytics:read",
]),
preset("webhook_management", "Outbound Webhook Setup", "View and configure outbound webhook event delivery.", ["workspace:read", "webhooks:read", "webhooks:write"]),
preset("full_administration", "Full Administration", "Use every current public API permission, including live actions, bulk data, deletion, and webhook administration.", publicApiScopeKeys),
];
export const publicApiScopePresetDisplaySections = [
{
key: "overview",
label: "Overview",
presetKeys: ["reporting"],
},
{
key: "subscribers",
label: "Subscribers",
presetKeys: [
"subscriber_sync",
"data_transfer",
"content_and_targeting",
"capture_management",
],
},
{
key: "campaigns",
label: "Campaigns",
presetKeys: [
"broadcast_preparation",
"broadcast_sending",
"sequence_preparation",
"sequence_operations",
"automation_management",
],
},
{
key: "account",
label: "Account",
presetKeys: ["webhook_management", "full_administration"],
},
];
export const publicApiScopePresetByKey = new Map(publicApiScopePresets.map((definition) => [definition.key, definition]));
// Reporting is the safest useful starting point. Full access must always be an
// explicit choice in the credential or OAuth flow.
export const publicApiDefaultScopeKeys = [
...publicApiScopePresetByKey.get("reporting").scopeKeys,
];
// The interactive read-only starter deliberately exposes only workspace
// context and bounded Subscriber reads. Keep this compact list separate from
// the broader Reporting preset so a first OAuth connection does not gain
// unrelated analytics, content, workflow, or delivery access.
export const publicApiAgentReadQuickstartScopeKeys = [
"workspace:read",
"subscribers:read",
];
export const isPublicApiScopeKey = (value) => publicApiScopeDefinitionMap.has(value);
export const normalizePublicApiScopeKeys = (scopeKeys) => {
const selected = new Set();
for (const scopeKey of scopeKeys) {
if (isPublicApiScopeKey(scopeKey)) {
selected.add(scopeKey);
}
}
return publicApiScopeKeys.filter((scopeKey) => selected.has(scopeKey));
};
export const validatePublicApiScopeKeys = (scopeKeys) => {
const requestedScopeKeys = Array.from(scopeKeys);
const unsupportedScopeKeys = Array.from(new Set(requestedScopeKeys.filter((scopeKey) => !isPublicApiScopeKey(scopeKey))));
if (unsupportedScopeKeys.length > 0) {
return { ok: false, unsupportedScopeKeys };
}
return {
ok: true,
value: normalizePublicApiScopeKeys(requestedScopeKeys),
};
};
//# sourceMappingURL=scopes.js.map
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAkBA,MAAM,KAAK,GAAG,CAKZ,GAAQ,EACR,WAAwB,EACxB,MAAc,EACd,KAAa,EACb,WAAmB,EACnB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAU,CAAC;AAEjE,MAAM,+BAA+B,GAAG;IACtC,KAAK,CACH,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,sEAAsE,CACvE;IACD,KAAK,CACH,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,qBAAqB,EACrB,mFAAmF,CACpF;IACD,KAAK,CACH,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,6EAA6E,CAC9E;IACD,KAAK,CACH,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,iEAAiE,CAClE;IACD,KAAK,CACH,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,4BAA4B,EAC5B,8JAA8J,CAC/J;IACD,KAAK,CACH,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,wBAAwB,EACxB,yGAAyG,CAC1G;IACD,KAAK,CACH,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,0BAA0B,EAC1B,uIAAuI,CACxI;IACD,KAAK,CACH,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,wBAAwB,EACxB,gGAAgG,CACjG;IACD,KAAK,CACH,6BAA6B,EAC7B,aAAa,EACb,SAAS,EACT,4BAA4B,EAC5B,gGAAgG,CACjG;IACD,KAAK,CACH,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,gFAAgF,CACjF;IACD,KAAK,CACH,yBAAyB,EACzB,aAAa,EACb,MAAM,EACN,4BAA4B,EAC5B,oHAAoH,CACrH;IACD,KAAK,CACH,yBAAyB,EACzB,aAAa,EACb,MAAM,EACN,4BAA4B,EAC5B,8DAA8D,CAC/D;IACD,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAiC,CAAC;IAClF,KAAK,CACH,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,2EAA2E,CAC5E;IACD,KAAK,CACH,aAAa,EACb,MAAM,EACN,QAAQ,EACR,aAAa,EACb,+EAA+E,CAChF;IACD,KAAK,CACH,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,yCAAyC,CAC1C;IACD,KAAK,CACH,yBAAyB,EACzB,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,qEAAqE,CACtE;IACD,KAAK,CACH,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,gFAAgF,CACjF;IACD,KAAK,CACH,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,EACN,sBAAsB,EACtB,oDAAoD,CACrD;IACD,KAAK,CACH,uBAAuB,EACvB,iBAAiB,EACjB,OAAO,EACP,uBAAuB,EACvB,iEAAiE,CAClE;IACD,KAAK,CACH,wBAAwB,EACxB,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,EACxB,qDAAqD,CACtD;IACD,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,qCAAqC,CAAC;IACzF,KAAK,CACH,wBAAwB,EACxB,OAAO,EACP,MAAM,EACN,uBAAuB,EACvB,8EAA8E,CAC/E;IACD,KAAK,CACH,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,gEAAgE,CACjE;IACD,KAAK,CACH,cAAc,EACd,OAAO,EACP,QAAQ,EACR,cAAc,EACd,qDAAqD,CACtD;IACD,KAAK,CACH,oBAAoB,EACpB,eAAe,EACf,MAAM,EACN,oBAAoB,EACpB,oDAAoD,CACrD;IACD,KAAK,CACH,gCAAgC,EAChC,eAAe,EACf,MAAM,EACN,+BAA+B,EAC/B,sFAAsF,CACvF;IACD,KAAK,CACH,yBAAyB,EACzB,eAAe,EACf,WAAW,EACX,yBAAyB,EACzB,4DAA4D,CAC7D;IACD,KAAK,CACH,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,iDAAiD,CAClD;IACD,KAAK,CACH,gBAAgB,EAChB,WAAW,EACX,MAAM,EACN,gBAAgB,EAChB,oEAAoE,CACrE;IACD,KAAK,CACH,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,uFAAuF,CACxF;IACD,KAAK,CACH,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,6BAA6B,EAC7B,uFAAuF,CACxF;IACD,KAAK,CACH,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,yCAAyC,CAC1C;IACD,KAAK,CACH,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,6DAA6D,CAC9D;IACD,KAAK,CACH,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,mBAAmB,EACnB,yEAAyE,CAC1E;IACD,KAAK,CACH,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,+BAA+B,EAC/B,8FAA8F,CAC/F;IACD,KAAK,CACH,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,0CAA0C,CAC3C;IACD,KAAK,CACH,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,kBAAkB,EAClB,iEAAiE,CAClE;IACD,KAAK,CACH,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,2GAA2G,CAC5G;IACD,KAAK,CACH,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,yDAAyD,CAC1D;IACD,KAAK,CACH,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,iBAAiB,EACjB,qEAAqE,CACtE;IACD,KAAK,CACH,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,wEAAwE,CACzE;IACD,KAAK,CACH,sBAAsB,EACtB,YAAY,EACZ,MAAM,EACN,2BAA2B,EAC3B,iFAAiF,CAClF;IACD,KAAK,CACH,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,sBAAsB,EACtB,kEAAkE,CACnE;IACD,KAAK,CACH,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,4DAA4D,CAC7D;IACD,KAAK,CACH,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,wBAAwB,EACxB,iHAAiH,CAClH;IACD,KAAK,CACH,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,+DAA+D,CAChE;IACD,KAAK,CACH,eAAe,EACf,UAAU,EACV,MAAM,EACN,eAAe,EACf,4DAA4D,CAC7D;IACD,KAAK,CACH,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,2DAA2D,CAC5D;IACD,KAAK,CACH,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,4DAA4D,CAC7D;IACD,KAAK,CACH,eAAe,EACf,UAAU,EACV,MAAM,EACN,wBAAwB,EACxB,2EAA2E,CAC5E;IACD,KAAK,CACH,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,6BAA6B,EAC7B,uFAAuF,CACxF;CACqD,CAAC;AAKzD,4EAA4E;AAC5E,2EAA2E;AAC3E,wBAAwB;AACxB,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,WAAW;gBAClB,YAAY,EAAE,CAAC,WAAW,CAAC;aAC5B;SACF;KACF;IACD;QACE,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,aAAa;gBACpB,YAAY,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC;aAC/C;YACD,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE;YACjD,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE;YACzC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE;YAC3C,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE;SAC5D;KACF;IACD;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE;YACT,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE;YACrD,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE;YACnD,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE;YACvD,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE;SACxD;KACF;IACD;QACE,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACT,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE;YACpD,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE;YAC/D,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE;YAC3D;gBACE,KAAK,EAAE,cAAc;gBACrB,YAAY,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC;aAC7C;SACF;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GACtC,6BAA6B,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAChD,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC/D,CAAC;AAEJ,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAC9C,2BAA2B,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAC9E,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,+BAA+B;CACnC,CAAC,IAAI,CACJ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,CAAC,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;IACrD,MAAM,CAAC,gBAAgB,CAAC;IAC1B,CAAC,gCAAgC,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,CAC7B,CAAC;AAuBF,MAAM,2BAA2B,GAAG,IAAI,GAAG,CACzC,yBAAyB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAC5E,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAEzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,GAAG,CAC7D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CACR,CAAC;AAEzB,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB;KAC5D,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;KACpD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAwB,CAAC;AAE9D,MAAM,MAAM,GAAG,CACb,GAA4B,EAC5B,KAAa,EACb,WAAmB,EACnB,SAAuC,EACjB,EAAE;IACxB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO;QACL,GAAG;QACH,KAAK;QACL,WAAW;QACX,SAAS,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAChC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM,CACJ,WAAW,EACX,WAAW,EACX,oGAAoG,EACpG,sBAAsB,CACvB;IACD,MAAM,CACJ,iBAAiB,EACjB,iBAAiB,EACjB,kGAAkG,EAClG;QACE,gBAAgB;QAChB,kBAAkB;QAClB,qBAAqB;QACrB,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,oBAAoB;QACpB,WAAW;QACX,gBAAgB;QAChB,oBAAoB;QACpB,yBAAyB;KAC1B,CACF;IACD,MAAM,CACJ,eAAe,EACf,4BAA4B,EAC5B,oEAAoE,EACpE;QACE,gBAAgB;QAChB,kBAAkB;QAClB,yBAAyB;QACzB,yBAAyB;QACzB,WAAW;QACX,oBAAoB;KACrB,CACF;IACD,MAAM,CACJ,uBAAuB,EACvB,oCAAoC,EACpC,yFAAyF,EACzF;QACE,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,gBAAgB;QAChB,aAAa;QACb,oBAAoB;QACpB,yBAAyB;QACzB,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,wBAAwB;QACxB,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,oBAAoB,EACpB,oCAAoC,EACpC,8EAA8E,EAC9E;QACE,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,oBAAoB;QACpB,YAAY;QACZ,wBAAwB;QACxB,iBAAiB;QACjB,cAAc;QACd,oBAAoB;QACpB,gCAAgC;QAChC,yBAAyB;QACzB,sBAAsB;QACtB,kBAAkB;QAClB,uBAAuB;QACvB,oBAAoB;KACrB,CACF;IACD,MAAM,CACJ,uBAAuB,EACvB,uBAAuB,EACvB,2EAA2E,EAC3E;QACE,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,kBAAkB;QAClB,sBAAsB;QACtB,mBAAmB;QACnB,eAAe;QACf,oBAAoB;QACpB,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,mBAAmB,EACnB,mBAAmB,EACnB,kFAAkF,EAClF;QACE,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,sBAAsB;QACtB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,eAAe;QACf,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,sBAAsB,EACtB,sBAAsB,EACtB,+FAA+F,EAC/F;QACE,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,sBAAsB;QACtB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,qBAAqB,EACrB,qBAAqB,EACrB,uEAAuE,EACvE;QACE,gBAAgB;QAChB,kBAAkB;QAClB,6BAA6B;QAC7B,gBAAgB;QAChB,oBAAoB;QACpB,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,uBAAuB,EACvB,uBAAuB,EACvB,qFAAqF,EACrF;QACE,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;QACnB,sBAAsB;QACtB,oBAAoB;QACpB,gBAAgB;KACjB,CACF;IACD,MAAM,CACJ,oBAAoB,EACpB,wBAAwB,EACxB,qDAAqD,EACrD,CAAC,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,CAAC,CACtD;IACD,MAAM,CACJ,qBAAqB,EACrB,qBAAqB,EACrB,mHAAmH,EACnH,kBAAkB,CACnB;CACiD,CAAC;AAErD,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,CAAC,WAAW,CAAC;KAC1B;IACD;QACE,GAAG,EAAE,aAAa;QAClB,KAAK,EAAE,aAAa;QACpB,UAAU,EAAE;YACV,iBAAiB;YACjB,eAAe;YACf,uBAAuB;YACvB,oBAAoB;SACrB;KACF;IACD;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE;YACV,uBAAuB;YACvB,mBAAmB;YACnB,sBAAsB;YACtB,qBAAqB;YACrB,uBAAuB;SACxB;KACF;IACD;QACE,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;KAC1D;CAKA,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAC9C,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CACxE,CAAC;AAEF,+EAA+E;AAC/E,mDAAmD;AACnD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,SAAS;CACzD,CAAC;AAEF,wEAAwE;AACxE,6EAA6E;AAC7E,yEAAyE;AACzE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,gBAAgB;IAChB,kBAAkB;CAC6B,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAa,EACe,EAAE,CAC9B,2BAA2B,CAAC,GAAG,CAAC,KAA0B,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,SAA2B,EACN,EAAE;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,SAA2B,EAGqB,EAAE;IAClD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CACrC,IAAI,GAAG,CACL,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CACxE,CACF,CAAC;IACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,2BAA2B,CAAC,kBAAkB,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC"}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display