@sellable/mcp 0.1.298 → 0.1.299

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,25 @@
1
1
  export type ColumnSchemaRowKind = "visible" | "hidden_active" | "deprecated_load_only";
2
+ export type ColumnConfigEditorKind = "generic" | "custom";
3
+ export type ColumnConfigEditorKey = "generic_column_config" | "ai_column_config" | "none";
4
+ export type ColumnConfigWriteMode = "full_replace";
5
+ export type ColumnConfigEditorContract = {
6
+ kind: ColumnConfigEditorKind;
7
+ createKey: ColumnConfigEditorKey;
8
+ editKey: ColumnConfigEditorKey;
9
+ genericFallbackAllowed: boolean;
10
+ configWriteMode: ColumnConfigWriteMode;
11
+ editableConfigFields: string[];
12
+ };
13
+ export type ColumnMutationCapabilities = {
14
+ create: boolean;
15
+ editConfig: boolean;
16
+ rename: boolean;
17
+ delete: boolean;
18
+ reorder: boolean;
19
+ runCellsOnCreate: boolean;
20
+ runCellsOnEdit: boolean;
21
+ safetyVerdict: string;
22
+ };
2
23
  export type ColumnSchemaRow = {
3
24
  kind: ColumnSchemaRowKind;
4
25
  optionId: string;
@@ -23,6 +44,11 @@ export type ColumnSchemaRow = {
23
44
  editFields: string[];
24
45
  runCellsBehavior: string;
25
46
  safetyVerdict: string;
47
+ configEditor: ColumnConfigEditorContract;
48
+ mutationCapabilities: ColumnMutationCapabilities;
49
+ configWriteMode: ColumnConfigWriteMode;
50
+ editableConfigFields: string[];
51
+ genericFallbackAllowed: boolean;
26
52
  };
27
53
  export type ColumnSchemaManifest = {
28
54
  generatedAt: string;
@@ -1,4 +1,4 @@
1
- const manifestJson = "{\n \"generatedAt\": \"deterministic\",\n \"counts\": {\n \"visible\": 19,\n \"hiddenActive\": 9,\n \"deprecatedLoadOnly\": 6\n },\n \"createableTypes\": [\n \"ai_column\",\n \"check_connection\",\n \"checkbox\",\n \"datetime\",\n \"formula\",\n \"generate_message\",\n \"http_request\",\n \"inbound_webhook\",\n \"is_open_profile\",\n \"react_and_comment\",\n \"score_icp_mcp\",\n \"send_dm\",\n \"send_inmail_closed\",\n \"send_inmail_open\",\n \"send_invite\",\n \"text\",\n \"view_profile\",\n \"wait\"\n ],\n \"activeTypes\": [\n \"action\",\n \"ai_column\",\n \"check_connection\",\n \"checkbox\",\n \"datetime\",\n \"example_checkbox\",\n \"formula\",\n \"generate_message\",\n \"http_request\",\n \"inbound_webhook\",\n \"is_open_profile\",\n \"json\",\n \"linkedin_url\",\n \"next_action_at\",\n \"react_and_comment\",\n \"reply_sentiment\",\n \"score_icp_mcp\",\n \"select\",\n \"send_dm\",\n \"send_inmail_closed\",\n \"send_inmail_open\",\n \"send_invite\",\n \"sent_at\",\n \"sequence_status\",\n \"text\",\n \"view_profile\",\n \"wait\"\n ],\n \"rows\": [\n {\n \"kind\": \"visible\",\n \"optionId\": \"http_request.generic\",\n \"section\": \"Automation\",\n \"label\": \"HTTP Request\",\n \"columnType\": \"http_request\",\n \"displayName\": \"HTTP Request\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"HTTP Request\",\n \"defaultConfig\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"GET\"\n },\n \"endpoint\": {\n \"value\": \"https://api.example.com/{{Domain}}\"\n }\n }\n },\n \"configFixture\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"GET\"\n },\n \"endpoint\": {\n \"value\": \"https://api.example.com/{{Domain}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.http_request\"\n ],\n \"runtimeOwner\": \"http-request cell executor\",\n \"requiresInputs\": [\n \"endpoint\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"ai_column\",\n \"section\": \"Automation\",\n \"label\": \"Use AI\",\n \"columnType\": \"ai_column\",\n \"displayName\": \"AI Column\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Use AI\",\n \"defaultConfig\": {\n \"aiConfig\": {\n \"modelName\": \"google/gemini-3.1-flash-lite-preview\",\n \"systemPrompt\": null,\n \"userPrompt\": \"\",\n \"outputFields\": [\n {\n \"name\": \"response\",\n \"type\": \"text\"\n }\n ],\n \"enableWebSearch\": true,\n \"maxSearchQueries\": 3\n },\n \"processing\": {\n \"autoUpdate\": true\n }\n },\n \"configFixture\": {\n \"aiConfig\": {\n \"modelName\": \"google/gemini-3.1-flash-lite-preview\",\n \"systemPrompt\": null,\n \"userPrompt\": \"Summarize {{Company}} in one sentence.\",\n \"outputFields\": [\n {\n \"name\": \"summary\",\n \"type\": \"text\"\n }\n ],\n \"enableWebSearch\": false,\n \"maxSearchQueries\": 0\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.ai_column\"\n ],\n \"runtimeOwner\": \"AI column cell executor\",\n \"requiresInputs\": [\n \"aiConfig.userPrompt\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"inbound_webhook\",\n \"section\": \"Automation\",\n \"label\": \"Inbound Webhook\",\n \"columnType\": \"inbound_webhook\",\n \"displayName\": \"Inbound Webhook\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Inbound Webhook\",\n \"defaultConfig\": {\n \"rateLimit\": {\n \"maxRequests\": 100,\n \"windowSeconds\": 60\n }\n },\n \"configFixture\": {\n \"webhookToken\": \"fixture-token\",\n \"rateLimit\": {\n \"maxRequests\": 100,\n \"windowSeconds\": 60\n }\n },\n \"validationOwners\": [\n \"inboundWebhookConfigSchema\"\n ],\n \"runtimeOwner\": \"webhook source/update route\",\n \"requiresInputs\": [\n \"webhook payload\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"formula\",\n \"section\": \"Automation\",\n \"label\": \"Formula\",\n \"columnType\": \"formula\",\n \"displayName\": \"Formula\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Formula\",\n \"defaultConfig\": {},\n \"configFixture\": {\n \"expression\": \"{{First Name}} + ' ' + {{Last Name}}\"\n },\n \"validationOwners\": [\n \"formulaConfigSchema\"\n ],\n \"runtimeOwner\": \"formula cell executor\",\n \"requiresInputs\": [\n \"expression\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"wait\",\n \"section\": \"Automation\",\n \"label\": \"Wait\",\n \"columnType\": \"wait\",\n \"displayName\": \"Wait\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Wait\",\n \"defaultConfig\": {\n \"waitConfig\": {\n \"duration\": 1,\n \"unit\": \"days\"\n }\n },\n \"configFixture\": {\n \"waitConfig\": {\n \"duration\": 1,\n \"unit\": \"days\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.wait\"\n ],\n \"runtimeOwner\": \"sweeper wait executor\",\n \"requiresInputs\": [\n \"waitConfig.duration\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"http_request.enrich_prospect\",\n \"section\": \"Sellable Presets\",\n \"label\": \"Enrich Prospect\",\n \"columnType\": \"http_request\",\n \"displayName\": \"HTTP Request\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Enrich Prospect\",\n \"defaultConfig\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"POST\"\n },\n \"endpoint\": {\n \"value\": \"/api/v4/enrich-prospect\"\n },\n \"body\": {\n \"value\": \"{\\\"linkedinUrl\\\":\\\"{{LinkedIn URL}}\\\"}\"\n }\n },\n \"rateLimit\": {\n \"mode\": \"concurrency\",\n \"maxConcurrent\": 8,\n \"concurrencyGroup\": \"linkedin-harvest\"\n }\n },\n \"configFixture\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"POST\"\n },\n \"endpoint\": {\n \"value\": \"/api/v4/enrich-prospect\"\n },\n \"body\": {\n \"value\": \"{\\\"linkedinUrl\\\":\\\"{{LinkedIn URL}}\\\"}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.http_request\"\n ],\n \"runtimeOwner\": \"http-request cell executor\",\n \"requiresInputs\": [\n \"LinkedIn URL text column\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"score_icp_mcp\",\n \"section\": \"Sellable Presets\",\n \"label\": \"ICP Score\",\n \"columnType\": \"score_icp_mcp\",\n \"displayName\": \"MCP ICP Score\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"ICP Score\",\n \"defaultConfig\": {\n \"rubric\": []\n },\n \"configFixture\": {\n \"rubric\": [\n {\n \"checkName\": \"role_fit\",\n \"criterion\": \"Prospect matches the ICP\",\n \"description\": \"Role and company context match target buyer\",\n \"reason\": \"Fit predicts relevance\",\n \"isRequiredCheck\": \"true\",\n \"allowPartialCredit\": \"true\"\n }\n ],\n \"inputMapping\": {\n \"enrichedProspectId\": \"{{Enrich Prospect.id}}\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.score_icp_mcp\"\n ],\n \"runtimeOwner\": \"score ICP cell executor\",\n \"requiresInputs\": [\n \"Enrich Prospect output\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"generate_message\",\n \"section\": \"Sellable Presets\",\n \"label\": \"Generate Message\",\n \"columnType\": \"generate_message\",\n \"displayName\": \"Generate Message\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Generate Message\",\n \"defaultConfig\": {},\n \"configFixture\": {\n \"inputMapping\": {\n \"enrichedProspectId\": {\n \"value\": \"{{Enrich Prospect.id}}\"\n },\n \"icpScore\": {\n \"value\": \"{{ICP Score.score}}\"\n }\n }\n },\n \"validationOwners\": [\n \"generateMessageConfigSchema\"\n ],\n \"runtimeOwner\": \"HTTP-backed message generation executor\",\n \"requiresInputs\": [\n \"Enrich Prospect output\",\n \"ICP Score output/context\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"passthrough\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"is_open_profile\",\n \"section\": \"LinkedIn\",\n \"label\": \"Check Open Profile\",\n \"columnType\": \"is_open_profile\",\n \"displayName\": \"Check Open Profile\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Check Open Profile\",\n \"defaultConfig\": {\n \"httpConfig\": {\n \"method\": \"POST\",\n \"endpoint\": \"/api/v1/linkedin/check-open-profile\",\n \"bodyTemplate\": {\n \"linkedinUrl\": \"{{linkedin_url}}\"\n }\n }\n },\n \"configFixture\": {},\n \"validationOwners\": [\n \"checkOpenProfileColumn schema\"\n ],\n \"runtimeOwner\": \"open profile cell executor\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"check_connection\",\n \"section\": \"LinkedIn\",\n \"label\": \"Check Connection\",\n \"columnType\": \"check_connection\",\n \"displayName\": \"Check Connection\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Check Connection\",\n \"defaultConfig\": {\n \"executorType\": \"check_connection\"\n },\n \"configFixture\": {\n \"executorType\": \"check_connection\"\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.check_connection\"\n ],\n \"runtimeOwner\": \"custom local connection executor\",\n \"requiresInputs\": [\n \"lead_linkedin_id\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"view_profile\",\n \"section\": \"LinkedIn\",\n \"label\": \"View Profile\",\n \"columnType\": \"view_profile\",\n \"displayName\": \"View Profile\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"View Profile\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"VIEW_PROFILE\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"VIEW_PROFILE\"\n }\n },\n \"validationOwners\": [\n \"view_profile action schema\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_invite\",\n \"section\": \"LinkedIn\",\n \"label\": \"Invite\",\n \"columnType\": \"send_invite\",\n \"displayName\": \"Invite\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Invite\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\",\n \"waitForEvent\": {\n \"event\": \"connection_accept\",\n \"timeoutDays\": 25\n }\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\",\n \"waitForEvent\": {\n \"event\": \"connection_created\",\n \"timeoutDays\": 2\n }\n },\n \"inputMapping\": {\n \"linkedinUrl\": {\n \"value\": \"{{LinkedIn URL}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_invite\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\",\n \"optional connection note\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_dm\",\n \"section\": \"LinkedIn\",\n \"label\": \"DM\",\n \"columnType\": \"send_dm\",\n \"displayName\": \"DM\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"DM\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"DM\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 3\n }\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"DM\"\n },\n \"inputMapping\": {\n \"message\": {\n \"value\": \"{{Generate Message.body}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_dm\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"message body\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_inmail_open\",\n \"section\": \"LinkedIn\",\n \"label\": \"InMail (Open Profile)\",\n \"columnType\": \"send_inmail_open\",\n \"displayName\": \"InMail (Open Profile)\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"InMail (Open Profile)\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_OPEN\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 5\n }\n },\n \"fallbackToClosedInmail\": true,\n \"minPaidInmailCreditsForFallback\": 25\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_OPEN\",\n \"messageSource\": {\n \"column\": \"Generate Message\",\n \"subjectPath\": \"subject\",\n \"bodyPath\": \"body\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_inmail_open\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"subject\",\n \"body\",\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_inmail_closed\",\n \"section\": \"LinkedIn\",\n \"label\": \"InMail (Closed Profile)\",\n \"columnType\": \"send_inmail_closed\",\n \"displayName\": \"InMail (Closed Profile)\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"InMail (Closed Profile)\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_CLOSED\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 5\n }\n },\n \"fallbackAcrossTiers\": false,\n \"minPaidInmailCreditsForSend\": 25\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_CLOSED\",\n \"messageSource\": {\n \"column\": \"Generate Message\",\n \"subjectPath\": \"subject\",\n \"bodyPath\": \"body\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_inmail_closed\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"subject\",\n \"body\",\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"react_and_comment\",\n \"section\": \"LinkedIn\",\n \"label\": \"React & Comment\",\n \"columnType\": \"react_and_comment\",\n \"displayName\": \"React & Comment\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"React & Comment\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"COMMENT\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"COMMENT\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.react_and_comment\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn post URL\",\n \"comment text\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"text\",\n \"section\": \"Data\",\n \"label\": \"Text\",\n \"columnType\": \"text\",\n \"displayName\": \"Text\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Text\",\n \"defaultConfig\": {\n \"placeholder\": \"LinkedIn URL or any text\"\n },\n \"configFixture\": {\n \"placeholder\": \"LinkedIn URL or any text\"\n },\n \"validationOwners\": [\n \"textConfigSchema\"\n ],\n \"runtimeOwner\": \"display/manual text owner\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"datetime\",\n \"section\": \"Data\",\n \"label\": \"Date/Time\",\n \"columnType\": \"datetime\",\n \"displayName\": \"Date/Time\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Date/Time\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": true,\n \"source\": \"user\"\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.datetime\"\n ],\n \"runtimeOwner\": \"display/manual datetime owner\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"checkbox\",\n \"section\": \"Data\",\n \"label\": \"Checkbox\",\n \"columnType\": \"checkbox\",\n \"displayName\": \"Checkbox\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Checkbox\",\n \"defaultConfig\": {\n \"default\": false\n },\n \"configFixture\": {\n \"default\": false,\n \"editable\": true\n },\n \"validationOwners\": [\n \"checkboxConfigSchema\"\n ],\n \"runtimeOwner\": \"checkbox cell executor\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.action\",\n \"section\": \"Hidden Active\",\n \"label\": \"LinkedIn Action\",\n \"columnType\": \"action\",\n \"displayName\": \"LinkedIn Action\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"LinkedIn Action\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\"\n }\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"sequence\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.example_checkbox\",\n \"section\": \"Hidden Active\",\n \"label\": \"Example\",\n \"columnType\": \"example_checkbox\",\n \"displayName\": \"Example\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Example\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.json\",\n \"section\": \"Hidden Active\",\n \"label\": \"JSON\",\n \"columnType\": \"json\",\n \"displayName\": \"JSON\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"JSON\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.linkedin_url\",\n \"section\": \"Hidden Active\",\n \"label\": \"LinkedIn URL\",\n \"columnType\": \"linkedin_url\",\n \"displayName\": \"LinkedIn URL\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"LinkedIn URL\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.next_action_at\",\n \"section\": \"Hidden Active\",\n \"label\": \"Next Action\",\n \"columnType\": \"next_action_at\",\n \"displayName\": \"Next Action\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Next Action\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.reply_sentiment\",\n \"section\": \"Hidden Active\",\n \"label\": \"Reply Sentiment\",\n \"columnType\": \"reply_sentiment\",\n \"displayName\": \"Reply Sentiment\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Reply Sentiment\",\n \"defaultConfig\": {\n \"options\": [\n \"interested\",\n \"not_interested\",\n \"out_of_office\",\n \"question\",\n \"neutral\",\n \"negative\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [\n \"interested\",\n \"not_interested\",\n \"out_of_office\",\n \"question\",\n \"neutral\",\n \"negative\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.select\",\n \"section\": \"Hidden Active\",\n \"label\": \"Select\",\n \"columnType\": \"select\",\n \"displayName\": \"Select\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Select\",\n \"defaultConfig\": {\n \"options\": [],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [\n \"name\",\n \"config\"\n ],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"limited_edit_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.sent_at\",\n \"section\": \"Hidden Active\",\n \"label\": \"Sent At\",\n \"columnType\": \"sent_at\",\n \"displayName\": \"Sent At\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Sent At\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.sequence_status\",\n \"section\": \"Hidden Active\",\n \"label\": \"Sequence Status\",\n \"columnType\": \"sequence_status\",\n \"displayName\": \"Sequence Status\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Sequence Status\",\n \"defaultConfig\": {\n \"options\": [\n \"pending\",\n \"queued\",\n \"scheduled\",\n \"sent\",\n \"in_convo\",\n \"replied\",\n \"completed\",\n \"failed\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [\n \"pending\",\n \"queued\",\n \"scheduled\",\n \"sent\",\n \"in_convo\",\n \"replied\",\n \"completed\",\n \"failed\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.enrich_company\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Enrich Company\",\n \"columnType\": \"enrich_company\",\n \"displayName\": \"Enrich Company\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Enrich Company\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"enrichment\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.enrich_person\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Enrich Prospect (legacy)\",\n \"columnType\": \"enrich_person\",\n \"displayName\": \"Enrich Prospect (legacy)\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Enrich Prospect (legacy)\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"enrichment\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.generate_message_sequence\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Generate Message\",\n \"columnType\": \"generate_message_sequence\",\n \"displayName\": \"Generate Message\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Generate Message\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"generation\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.input\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Text Input\",\n \"columnType\": \"input\",\n \"displayName\": \"Text Input\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Text Input\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_text\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.score_icp\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"ICP Score\",\n \"columnType\": \"score_icp\",\n \"displayName\": \"ICP Score\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"ICP Score\",\n \"defaultConfig\": {\n \"qualificationThreshold\": 60\n },\n \"configFixture\": {\n \"qualificationThreshold\": 60\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"scoring\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\"\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.score_icp_rubric\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"ICP Rubric Score (legacy alias)\",\n \"columnType\": \"score_icp_rubric\",\n \"displayName\": \"ICP Rubric Score (legacy alias)\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"ICP Rubric Score (legacy alias)\",\n \"defaultConfig\": {\n \"rubric\": []\n },\n \"configFixture\": {\n \"rubric\": []\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"scoring\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\"\n }\n ]\n}";
1
+ const manifestJson = "{\n \"generatedAt\": \"deterministic\",\n \"counts\": {\n \"visible\": 19,\n \"hiddenActive\": 9,\n \"deprecatedLoadOnly\": 6\n },\n \"createableTypes\": [\n \"ai_column\",\n \"check_connection\",\n \"checkbox\",\n \"datetime\",\n \"formula\",\n \"generate_message\",\n \"http_request\",\n \"inbound_webhook\",\n \"is_open_profile\",\n \"react_and_comment\",\n \"score_icp_mcp\",\n \"send_dm\",\n \"send_inmail_closed\",\n \"send_inmail_open\",\n \"send_invite\",\n \"text\",\n \"view_profile\",\n \"wait\"\n ],\n \"activeTypes\": [\n \"action\",\n \"ai_column\",\n \"check_connection\",\n \"checkbox\",\n \"datetime\",\n \"example_checkbox\",\n \"formula\",\n \"generate_message\",\n \"http_request\",\n \"inbound_webhook\",\n \"is_open_profile\",\n \"json\",\n \"linkedin_url\",\n \"next_action_at\",\n \"react_and_comment\",\n \"reply_sentiment\",\n \"score_icp_mcp\",\n \"select\",\n \"send_dm\",\n \"send_inmail_closed\",\n \"send_inmail_open\",\n \"send_invite\",\n \"sent_at\",\n \"sequence_status\",\n \"text\",\n \"view_profile\",\n \"wait\"\n ],\n \"rows\": [\n {\n \"kind\": \"visible\",\n \"optionId\": \"http_request.generic\",\n \"section\": \"Automation\",\n \"label\": \"HTTP Request\",\n \"columnType\": \"http_request\",\n \"displayName\": \"HTTP Request\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"HTTP Request\",\n \"defaultConfig\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"GET\"\n },\n \"endpoint\": {\n \"value\": \"https://api.example.com/{{Domain}}\"\n }\n }\n },\n \"configFixture\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"GET\"\n },\n \"endpoint\": {\n \"value\": \"https://api.example.com/{{Domain}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.http_request\"\n ],\n \"runtimeOwner\": \"http-request cell executor\",\n \"requiresInputs\": [\n \"endpoint\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"ai_column\",\n \"section\": \"Automation\",\n \"label\": \"Use AI\",\n \"columnType\": \"ai_column\",\n \"displayName\": \"AI Column\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Use AI\",\n \"defaultConfig\": {\n \"aiConfig\": {\n \"modelName\": \"google/gemini-3.1-flash-lite-preview\",\n \"systemPrompt\": null,\n \"userPrompt\": \"\",\n \"outputFields\": [\n {\n \"name\": \"response\",\n \"type\": \"text\"\n }\n ],\n \"enableWebSearch\": true,\n \"maxSearchQueries\": 3\n },\n \"processing\": {\n \"autoUpdate\": true\n }\n },\n \"configFixture\": {\n \"aiConfig\": {\n \"modelName\": \"google/gemini-3.1-flash-lite-preview\",\n \"systemPrompt\": null,\n \"userPrompt\": \"Summarize {{Company}} in one sentence.\",\n \"outputFields\": [\n {\n \"name\": \"summary\",\n \"type\": \"text\"\n }\n ],\n \"enableWebSearch\": false,\n \"maxSearchQueries\": 0\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.ai_column\"\n ],\n \"runtimeOwner\": \"AI column cell executor\",\n \"requiresInputs\": [\n \"aiConfig.userPrompt\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"custom\",\n \"createKey\": \"ai_column_config\",\n \"editKey\": \"ai_column_config\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config.aiConfig\",\n \"config.processing\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config.aiConfig\",\n \"config.processing\"\n ],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"inbound_webhook\",\n \"section\": \"Automation\",\n \"label\": \"Inbound Webhook\",\n \"columnType\": \"inbound_webhook\",\n \"displayName\": \"Inbound Webhook\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Inbound Webhook\",\n \"defaultConfig\": {\n \"rateLimit\": {\n \"maxRequests\": 100,\n \"windowSeconds\": 60\n }\n },\n \"configFixture\": {\n \"webhookToken\": \"fixture-token\",\n \"rateLimit\": {\n \"maxRequests\": 100,\n \"windowSeconds\": 60\n }\n },\n \"validationOwners\": [\n \"inboundWebhookConfigSchema\"\n ],\n \"runtimeOwner\": \"webhook source/update route\",\n \"requiresInputs\": [\n \"webhook payload\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"formula\",\n \"section\": \"Automation\",\n \"label\": \"Formula\",\n \"columnType\": \"formula\",\n \"displayName\": \"Formula\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Formula\",\n \"defaultConfig\": {},\n \"configFixture\": {\n \"expression\": \"{{First Name}} + ' ' + {{Last Name}}\"\n },\n \"validationOwners\": [\n \"formulaConfigSchema\"\n ],\n \"runtimeOwner\": \"formula cell executor\",\n \"requiresInputs\": [\n \"expression\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"wait\",\n \"section\": \"Automation\",\n \"label\": \"Wait\",\n \"columnType\": \"wait\",\n \"displayName\": \"Wait\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Wait\",\n \"defaultConfig\": {\n \"waitConfig\": {\n \"duration\": 1,\n \"unit\": \"days\"\n }\n },\n \"configFixture\": {\n \"waitConfig\": {\n \"duration\": 1,\n \"unit\": \"days\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.wait\"\n ],\n \"runtimeOwner\": \"sweeper wait executor\",\n \"requiresInputs\": [\n \"waitConfig.duration\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"http_request.enrich_prospect\",\n \"section\": \"Sellable Presets\",\n \"label\": \"Enrich Prospect\",\n \"columnType\": \"http_request\",\n \"displayName\": \"HTTP Request\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Enrich Prospect\",\n \"defaultConfig\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"POST\"\n },\n \"endpoint\": {\n \"value\": \"/api/v4/enrich-prospect\"\n },\n \"body\": {\n \"value\": \"{\\\"linkedinUrl\\\":\\\"{{LinkedIn URL}}\\\"}\"\n }\n },\n \"rateLimit\": {\n \"mode\": \"concurrency\",\n \"maxConcurrent\": 8,\n \"concurrencyGroup\": \"linkedin-harvest\"\n }\n },\n \"configFixture\": {\n \"inputMapping\": {\n \"method\": {\n \"value\": \"POST\"\n },\n \"endpoint\": {\n \"value\": \"/api/v4/enrich-prospect\"\n },\n \"body\": {\n \"value\": \"{\\\"linkedinUrl\\\":\\\"{{LinkedIn URL}}\\\"}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.http_request\"\n ],\n \"runtimeOwner\": \"http-request cell executor\",\n \"requiresInputs\": [\n \"LinkedIn URL text column\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"score_icp_mcp\",\n \"section\": \"Sellable Presets\",\n \"label\": \"ICP Score\",\n \"columnType\": \"score_icp_mcp\",\n \"displayName\": \"MCP ICP Score\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"ICP Score\",\n \"defaultConfig\": {\n \"rubric\": []\n },\n \"configFixture\": {\n \"rubric\": [\n {\n \"checkName\": \"role_fit\",\n \"criterion\": \"Prospect matches the ICP\",\n \"description\": \"Role and company context match target buyer\",\n \"reason\": \"Fit predicts relevance\",\n \"isRequiredCheck\": \"true\",\n \"allowPartialCredit\": \"true\"\n }\n ],\n \"inputMapping\": {\n \"enrichedProspectId\": \"{{Enrich Prospect.id}}\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.score_icp_mcp\"\n ],\n \"runtimeOwner\": \"score ICP cell executor\",\n \"requiresInputs\": [\n \"Enrich Prospect output\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"generate_message\",\n \"section\": \"Sellable Presets\",\n \"label\": \"Generate Message\",\n \"columnType\": \"generate_message\",\n \"displayName\": \"Generate Message\",\n \"lifecycleClass\": \"preset-selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Generate Message\",\n \"defaultConfig\": {},\n \"configFixture\": {\n \"inputMapping\": {\n \"enrichedProspectId\": {\n \"value\": \"{{Enrich Prospect.id}}\"\n },\n \"icpScore\": {\n \"value\": \"{{ICP Score.score}}\"\n }\n }\n },\n \"validationOwners\": [\n \"generateMessageConfigSchema\"\n ],\n \"runtimeOwner\": \"HTTP-backed message generation executor\",\n \"requiresInputs\": [\n \"Enrich Prospect output\",\n \"ICP Score output/context\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"passthrough\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"is_open_profile\",\n \"section\": \"LinkedIn\",\n \"label\": \"Check Open Profile\",\n \"columnType\": \"is_open_profile\",\n \"displayName\": \"Check Open Profile\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Check Open Profile\",\n \"defaultConfig\": {\n \"httpConfig\": {\n \"method\": \"POST\",\n \"endpoint\": \"/api/v1/linkedin/check-open-profile\",\n \"bodyTemplate\": {\n \"linkedinUrl\": \"{{linkedin_url}}\"\n }\n }\n },\n \"configFixture\": {},\n \"validationOwners\": [\n \"checkOpenProfileColumn schema\"\n ],\n \"runtimeOwner\": \"open profile cell executor\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"check_connection\",\n \"section\": \"LinkedIn\",\n \"label\": \"Check Connection\",\n \"columnType\": \"check_connection\",\n \"displayName\": \"Check Connection\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Check Connection\",\n \"defaultConfig\": {\n \"executorType\": \"check_connection\"\n },\n \"configFixture\": {\n \"executorType\": \"check_connection\"\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.check_connection\"\n ],\n \"runtimeOwner\": \"custom local connection executor\",\n \"requiresInputs\": [\n \"lead_linkedin_id\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"omitted runs with backend default; false saves without dispatch; true requests dispatch\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": true,\n \"runCellsOnEdit\": true,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"view_profile\",\n \"section\": \"LinkedIn\",\n \"label\": \"View Profile\",\n \"columnType\": \"view_profile\",\n \"displayName\": \"View Profile\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"View Profile\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"VIEW_PROFILE\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"VIEW_PROFILE\"\n }\n },\n \"validationOwners\": [\n \"view_profile action schema\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_invite\",\n \"section\": \"LinkedIn\",\n \"label\": \"Invite\",\n \"columnType\": \"send_invite\",\n \"displayName\": \"Invite\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Invite\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\",\n \"waitForEvent\": {\n \"event\": \"connection_accept\",\n \"timeoutDays\": 25\n }\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\",\n \"waitForEvent\": {\n \"event\": \"connection_created\",\n \"timeoutDays\": 2\n }\n },\n \"inputMapping\": {\n \"linkedinUrl\": {\n \"value\": \"{{LinkedIn URL}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_invite\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn profile URL\",\n \"optional connection note\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_dm\",\n \"section\": \"LinkedIn\",\n \"label\": \"DM\",\n \"columnType\": \"send_dm\",\n \"displayName\": \"DM\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"DM\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"DM\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 3\n }\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"DM\"\n },\n \"inputMapping\": {\n \"message\": {\n \"value\": \"{{Generate Message.body}}\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_dm\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"message body\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_inmail_open\",\n \"section\": \"LinkedIn\",\n \"label\": \"InMail (Open Profile)\",\n \"columnType\": \"send_inmail_open\",\n \"displayName\": \"InMail (Open Profile)\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"InMail (Open Profile)\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_OPEN\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 5\n }\n },\n \"fallbackToClosedInmail\": true,\n \"minPaidInmailCreditsForFallback\": 25\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_OPEN\",\n \"messageSource\": {\n \"column\": \"Generate Message\",\n \"subjectPath\": \"subject\",\n \"bodyPath\": \"body\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_inmail_open\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"subject\",\n \"body\",\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"send_inmail_closed\",\n \"section\": \"LinkedIn\",\n \"label\": \"InMail (Closed Profile)\",\n \"columnType\": \"send_inmail_closed\",\n \"displayName\": \"InMail (Closed Profile)\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"InMail (Closed Profile)\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_CLOSED\",\n \"waitForEvent\": {\n \"event\": \"message_received\",\n \"timeoutDays\": 5\n }\n },\n \"fallbackAcrossTiers\": false,\n \"minPaidInmailCreditsForSend\": 25\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INMAIL_CLOSED\",\n \"messageSource\": {\n \"column\": \"Generate Message\",\n \"subjectPath\": \"subject\",\n \"bodyPath\": \"body\"\n }\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.send_inmail_closed\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"subject\",\n \"body\",\n \"LinkedIn profile URL\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"react_and_comment\",\n \"section\": \"LinkedIn\",\n \"label\": \"React & Comment\",\n \"columnType\": \"react_and_comment\",\n \"displayName\": \"React & Comment\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"React & Comment\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"COMMENT\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"COMMENT\"\n }\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.react_and_comment\"\n ],\n \"runtimeOwner\": \"LinkedIn action sweeper\",\n \"requiresInputs\": [\n \"LinkedIn post URL\",\n \"comment text\"\n ],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"text\",\n \"section\": \"Data\",\n \"label\": \"Text\",\n \"columnType\": \"text\",\n \"displayName\": \"Text\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Text\",\n \"defaultConfig\": {\n \"placeholder\": \"LinkedIn URL or any text\"\n },\n \"configFixture\": {\n \"placeholder\": \"LinkedIn URL or any text\"\n },\n \"validationOwners\": [\n \"textConfigSchema\"\n ],\n \"runtimeOwner\": \"display/manual text owner\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"datetime\",\n \"section\": \"Data\",\n \"label\": \"Date/Time\",\n \"columnType\": \"datetime\",\n \"displayName\": \"Date/Time\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Date/Time\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": true,\n \"source\": \"user\"\n },\n \"validationOwners\": [\n \"CONFIG_SCHEMA_BY_TYPE.datetime\"\n ],\n \"runtimeOwner\": \"display/manual datetime owner\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"visible\",\n \"optionId\": \"checkbox\",\n \"section\": \"Data\",\n \"label\": \"Checkbox\",\n \"columnType\": \"checkbox\",\n \"displayName\": \"Checkbox\",\n \"lifecycleClass\": \"selectable\",\n \"createable\": true,\n \"allowedSurfaces\": [\n \"ui-dropdown\",\n \"api-add-column\",\n \"api-bulk-blueprint\",\n \"mcp-add-column\",\n \"mcp-commit-blueprint\"\n ],\n \"defaultName\": \"Checkbox\",\n \"defaultConfig\": {\n \"default\": false\n },\n \"configFixture\": {\n \"default\": false,\n \"editable\": true\n },\n \"validationOwners\": [\n \"checkboxConfigSchema\"\n ],\n \"runtimeOwner\": \"checkbox cell executor\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [\n \"id\",\n \"type\",\n \"name\",\n \"config\",\n \"inputMapping\",\n \"runCondition\"\n ],\n \"editFields\": [\n \"name\",\n \"config\",\n \"runCells\"\n ],\n \"runCellsBehavior\": \"manual or sweeper-owned; false is save-only and true only queues when backend supports it\",\n \"safetyVerdict\": \"create_update_delete_reorder_supported\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"generic_column_config\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": true,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": true,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"create_update_delete_reorder_supported\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.action\",\n \"section\": \"Hidden Active\",\n \"label\": \"LinkedIn Action\",\n \"columnType\": \"action\",\n \"displayName\": \"LinkedIn Action\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"LinkedIn Action\",\n \"defaultConfig\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\"\n }\n },\n \"configFixture\": {\n \"actionConfig\": {\n \"actionType\": \"INVITE\"\n }\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"sequence\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.example_checkbox\",\n \"section\": \"Hidden Active\",\n \"label\": \"Example\",\n \"columnType\": \"example_checkbox\",\n \"displayName\": \"Example\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Example\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.json\",\n \"section\": \"Hidden Active\",\n \"label\": \"JSON\",\n \"columnType\": \"json\",\n \"displayName\": \"JSON\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"JSON\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.linkedin_url\",\n \"section\": \"Hidden Active\",\n \"label\": \"LinkedIn URL\",\n \"columnType\": \"linkedin_url\",\n \"displayName\": \"LinkedIn URL\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"LinkedIn URL\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.next_action_at\",\n \"section\": \"Hidden Active\",\n \"label\": \"Next Action\",\n \"columnType\": \"next_action_at\",\n \"displayName\": \"Next Action\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Next Action\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.reply_sentiment\",\n \"section\": \"Hidden Active\",\n \"label\": \"Reply Sentiment\",\n \"columnType\": \"reply_sentiment\",\n \"displayName\": \"Reply Sentiment\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Reply Sentiment\",\n \"defaultConfig\": {\n \"options\": [\n \"interested\",\n \"not_interested\",\n \"out_of_office\",\n \"question\",\n \"neutral\",\n \"negative\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [\n \"interested\",\n \"not_interested\",\n \"out_of_office\",\n \"question\",\n \"neutral\",\n \"negative\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.select\",\n \"section\": \"Hidden Active\",\n \"label\": \"Select\",\n \"columnType\": \"select\",\n \"displayName\": \"Select\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Select\",\n \"defaultConfig\": {\n \"options\": [],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [\n \"name\",\n \"config\"\n ],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"limited_edit_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"generic_column_config\",\n \"genericFallbackAllowed\": true,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config.options\",\n \"config.editable\",\n \"config.source\"\n ]\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": true,\n \"rename\": true,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"limited_edit_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [\n \"config.options\",\n \"config.editable\",\n \"config.source\"\n ],\n \"genericFallbackAllowed\": true\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.sent_at\",\n \"section\": \"Hidden Active\",\n \"label\": \"Sent At\",\n \"columnType\": \"sent_at\",\n \"displayName\": \"Sent At\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Sent At\",\n \"defaultConfig\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"hidden_active\",\n \"optionId\": \"hidden.sequence_status\",\n \"section\": \"Hidden Active\",\n \"label\": \"Sequence Status\",\n \"columnType\": \"sequence_status\",\n \"displayName\": \"Sequence Status\",\n \"lifecycleClass\": \"system-owned\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Sequence Status\",\n \"defaultConfig\": {\n \"options\": [\n \"pending\",\n \"queued\",\n \"scheduled\",\n \"sent\",\n \"in_convo\",\n \"replied\",\n \"completed\",\n \"failed\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"configFixture\": {\n \"options\": [\n \"pending\",\n \"queued\",\n \"scheduled\",\n \"sent\",\n \"in_convo\",\n \"replied\",\n \"completed\",\n \"failed\"\n ],\n \"editable\": false,\n \"source\": \"system\"\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [\n \"options\"\n ],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"not MCP-createable; existing-table safety only\",\n \"safetyVerdict\": \"read_delete_existing_table_only\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": true,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"read_delete_existing_table_only\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.enrich_company\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Enrich Company\",\n \"columnType\": \"enrich_company\",\n \"displayName\": \"Enrich Company\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Enrich Company\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"enrichment\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.enrich_person\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Enrich Prospect (legacy)\",\n \"columnType\": \"enrich_person\",\n \"displayName\": \"Enrich Prospect (legacy)\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Enrich Prospect (legacy)\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"enrichment\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.generate_message_sequence\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Generate Message\",\n \"columnType\": \"generate_message_sequence\",\n \"displayName\": \"Generate Message\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Generate Message\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"generation\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_http_request\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_http_request\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.input\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"Text Input\",\n \"columnType\": \"input\",\n \"displayName\": \"Text Input\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"Text Input\",\n \"defaultConfig\": {},\n \"configFixture\": {},\n \"validationOwners\": [],\n \"runtimeOwner\": \"input\",\n \"requiresInputs\": [],\n \"manualOnly\": true,\n \"usesCredits\": false,\n \"autoRuns\": false,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_text\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_text\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.score_icp\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"ICP Score\",\n \"columnType\": \"score_icp\",\n \"displayName\": \"ICP Score\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"ICP Score\",\n \"defaultConfig\": {\n \"qualificationThreshold\": 60\n },\n \"configFixture\": {\n \"qualificationThreshold\": 60\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"scoring\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"fallback\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n },\n {\n \"kind\": \"deprecated_load_only\",\n \"optionId\": \"deprecated.score_icp_rubric\",\n \"section\": \"Deprecated Load Only\",\n \"label\": \"ICP Rubric Score (legacy alias)\",\n \"columnType\": \"score_icp_rubric\",\n \"displayName\": \"ICP Rubric Score (legacy alias)\",\n \"lifecycleClass\": \"load-only-deprecated\",\n \"createable\": false,\n \"allowedSurfaces\": [\n \"load-only\"\n ],\n \"defaultName\": \"ICP Rubric Score (legacy alias)\",\n \"defaultConfig\": {\n \"rubric\": []\n },\n \"configFixture\": {\n \"rubric\": []\n },\n \"validationOwners\": [],\n \"runtimeOwner\": \"scoring\",\n \"requiresInputs\": [],\n \"manualOnly\": false,\n \"usesCredits\": true,\n \"autoRuns\": true,\n \"schemaPolicy\": \"strict\",\n \"createFields\": [],\n \"editFields\": [],\n \"runCellsBehavior\": \"deprecated/load-only alias; use suggested replacement where present\",\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\",\n \"configEditor\": {\n \"kind\": \"generic\",\n \"createKey\": \"none\",\n \"editKey\": \"none\",\n \"genericFallbackAllowed\": false,\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": []\n },\n \"mutationCapabilities\": {\n \"create\": false,\n \"editConfig\": false,\n \"rename\": false,\n \"delete\": false,\n \"reorder\": false,\n \"runCellsOnCreate\": false,\n \"runCellsOnEdit\": false,\n \"safetyVerdict\": \"load_only_use_score_icp_mcp\"\n },\n \"configWriteMode\": \"full_replace\",\n \"editableConfigFields\": [],\n \"genericFallbackAllowed\": false\n }\n ]\n}";
2
2
  export const columnSchemaManifest = JSON.parse(manifestJson);
3
3
  export const createableColumnTypes = columnSchemaManifest.createableTypes;
4
4
  export function getCreateableColumnTypeSet() {
@@ -63,7 +63,7 @@ const blueprintInputSchema = {
63
63
  export const blueprintCommitToolDefinitions = [
64
64
  {
65
65
  name: "commit_blueprint",
66
- description: "Validate and commit a full workflow-table blueprint (multiple columns + wiring) in one call. Use when you have designed every column up-front. NOT for incremental additions — use add_column for that.",
66
+ description: "Validate and commit a full workflow-table blueprint (multiple columns + wiring) in one call. Call get_column_schema first for createable config fields and runCells behavior. Use when you have designed every column up-front. NOT for incremental additions — use add_column for that.",
67
67
  inputSchema: {
68
68
  type: "object",
69
69
  properties: {
@@ -89,7 +89,7 @@ export const blueprintCommitToolDefinitions = [
89
89
  },
90
90
  {
91
91
  name: "add_column",
92
- description: 'Validate and add a single column to an existing workflow table. Use validateOnly:true to dry-run. Use http_request named "Enrich Prospect" for enrichment, score_icp_mcp for ICP scoring, and generate_message for Sellable message generation. NOT for batch additions — use commit_blueprint.',
92
+ description: 'Validate and add a single column to an existing workflow table. Call get_column_schema first for createable config fields, default config, and runCells behavior. Use validateOnly:true to dry-run. Use http_request named "Enrich Prospect" for enrichment, score_icp_mcp for ICP scoring, and generate_message for Sellable message generation. NOT for batch additions — use commit_blueprint.',
93
93
  inputSchema: {
94
94
  type: "object",
95
95
  properties: {
@@ -2,14 +2,18 @@ import { type AuthStatus } from "./auth.js";
2
2
  import { getCampaignContext } from "./context.js";
3
3
  import { getCampaignFramework } from "./framework.js";
4
4
  import { type ListSubskillPromptsResponse, type SubskillPromptResponse } from "./prompts.js";
5
+ import { type CampaignModelQualityResult } from "./model-quality.js";
5
6
  type BootstrapCreateCampaignInput = {
6
7
  campaignId?: string;
7
8
  flowVersion?: "v1" | "v2";
8
9
  includeTableCheck?: boolean;
9
10
  refreshContext?: boolean;
11
+ host?: string;
12
+ model?: string;
13
+ reasoningEffort?: string;
10
14
  };
11
15
  type BootstrapCheck = {
12
- key: "auth" | "update" | "framework" | "resume_context" | "subskill_catalog" | "create_campaign_subskill";
16
+ key: "auth" | "update" | "framework" | "model_quality" | "resume_context" | "subskill_catalog" | "create_campaign_subskill";
13
17
  ok: boolean;
14
18
  blocking: boolean;
15
19
  detail: string;
@@ -46,6 +50,7 @@ type BootstrapCreateCampaignResult = {
46
50
  campaignContext: Awaited<ReturnType<typeof getCampaignContext>> | null;
47
51
  subskillCatalog: ListSubskillPromptsResponse | null;
48
52
  createCampaignSubskill: Omit<SubskillPromptResponse, "prompt"> | null;
53
+ modelQuality: CampaignModelQualityResult;
49
54
  };
50
55
  export declare const bootstrapToolDefinitions: {
51
56
  name: string;
@@ -70,6 +75,18 @@ export declare const bootstrapToolDefinitions: {
70
75
  type: string;
71
76
  description: string;
72
77
  };
78
+ host: {
79
+ type: string;
80
+ description: string;
81
+ };
82
+ model: {
83
+ type: string;
84
+ description: string;
85
+ };
86
+ reasoningEffort: {
87
+ type: string;
88
+ description: string;
89
+ };
73
90
  };
74
91
  additionalProperties: boolean;
75
92
  };
@@ -3,6 +3,7 @@ import { getAuthStatus } from "./auth.js";
3
3
  import { getCampaignContext } from "./context.js";
4
4
  import { getCampaignFramework } from "./framework.js";
5
5
  import { getSubskillPrompt, listSubskillPrompts, } from "./prompts.js";
6
+ import { evaluateCampaignModelQuality, } from "./model-quality.js";
6
7
  function toErrorMessage(error) {
7
8
  return error instanceof Error ? error.message : String(error);
8
9
  }
@@ -16,6 +17,9 @@ function toGuidance(check, message) {
16
17
  if (check === "framework") {
17
18
  return "Fix framework files and rerun bootstrap_create_campaign.";
18
19
  }
20
+ if (check === "model_quality") {
21
+ return "Use Claude Opus 4.8 at high/extra high or Codex GPT 5.5 at extra high for campaign-critical generation.";
22
+ }
19
23
  if (check === "resume_context") {
20
24
  return "Confirm the campaignId exists and is accessible, then retry bootstrap_create_campaign.";
21
25
  }
@@ -92,6 +96,18 @@ export const bootstrapToolDefinitions = [
92
96
  type: "boolean",
93
97
  description: "When true and campaignId is provided, force refresh campaign context cache.",
94
98
  },
99
+ host: {
100
+ type: "string",
101
+ description: "Optional host label for model-quality preflight, for example Claude Code or Codex.",
102
+ },
103
+ model: {
104
+ type: "string",
105
+ description: "Optional current host model name. Recommended: Claude Opus 4.8 or Codex GPT 5.5.",
106
+ },
107
+ reasoningEffort: {
108
+ type: "string",
109
+ description: "Optional current reasoning setting. Recommended: high/extra high for Claude, extra high for Codex.",
110
+ },
95
111
  },
96
112
  additionalProperties: false,
97
113
  },
@@ -109,6 +125,11 @@ export async function bootstrapCreateCampaign(input = {}) {
109
125
  let campaignContext = null;
110
126
  let subskillCatalog = null;
111
127
  let createCampaignSubskill = null;
128
+ const modelQuality = evaluateCampaignModelQuality({
129
+ host: input.host,
130
+ model: input.model,
131
+ reasoningEffort: input.reasoningEffort,
132
+ });
112
133
  const runAuthCheck = async () => {
113
134
  let status = await getAuthStatus();
114
135
  let retried = false;
@@ -165,6 +186,12 @@ export async function bootstrapCreateCampaign(input = {}) {
165
186
  });
166
187
  pushBlockingError(blockingErrors, "auth", message);
167
188
  }
189
+ requiredChecks.push({
190
+ key: "model_quality",
191
+ ok: modelQuality.status === "ok",
192
+ blocking: false,
193
+ detail: modelQuality.message,
194
+ });
168
195
  try {
169
196
  framework = getCampaignFramework({
170
197
  flowVersion,
@@ -266,12 +293,15 @@ export async function bootstrapCreateCampaign(input = {}) {
266
293
  const workspaceNotice = workspaceLabel
267
294
  ? ` IMPORTANT: Tell the user which workspace is active: "${workspaceLabel}".`
268
295
  : "";
296
+ const modelNotice = modelQuality.confirmationRequired
297
+ ? ` MODEL QUALITY CHECK: ${modelQuality.message} Ask the user to confirm or switch before campaign-critical generation.`
298
+ : "";
269
299
  const nextStep = safeToProceed
270
300
  ? resumeDetected
271
- ? `Bootstrap complete.${workspaceNotice} Resume from campaign state and navigation diagnostics first; treat local draft artifacts as debug-only evidence. Then load ${createCampaignSubskill?.name ?? "create-campaign"} instructions with get_subskill_prompt({ subskillName: "${createCampaignSubskill?.name ?? "create-campaign"}" }); if the response has hasMore=true, continue with nextOffset until hasMore=false.`
301
+ ? `Bootstrap complete.${workspaceNotice}${modelNotice} Resume from campaign state and navigation diagnostics first; treat local draft artifacts as debug-only evidence. Then load ${createCampaignSubskill?.name ?? "create-campaign"} instructions with get_subskill_prompt({ subskillName: "${createCampaignSubskill?.name ?? "create-campaign"}" }); if the response has hasMore=true, continue with nextOffset until hasMore=false.`
272
302
  : flowVersion === "v2"
273
- ? `Bootstrap complete.${workspaceNotice} Load the compact create-campaign-v2 entry prompt once with get_subskill_prompt({ subskillName: "create-campaign-v2" }); load flow/reference assets lazily only when that stage needs them. Preserve the pre-intake sequence: confirm auth/workspace status, ask only for the LinkedIn profile URL or handle, normalize handles to a full profile URL, require that profile identity before continuing, run lightweight profile/company lookup, then ask the target, offer, credibility, and prospect-source setup questions. Do not call list_senders or sender discovery during setup; sender availability belongs only to Settings after message approval. Then write the campaign brief, call create_campaign once to mint the watchable shell, surface the returned watch link once before brief approval, and hand off to lead finding without repeating the link.`
274
- : `Bootstrap complete.${workspaceNotice} Load ${createCampaignSubskill?.name ?? "create-campaign"} instructions with get_subskill_prompt({ subskillName: "${createCampaignSubskill?.name ?? "create-campaign"}" }); if the response has hasMore=true, continue with nextOffset until hasMore=false. Follow that flow before calling create_campaign.`
303
+ ? `Bootstrap complete.${workspaceNotice}${modelNotice} Load the compact create-campaign-v2 entry prompt once with get_subskill_prompt({ subskillName: "create-campaign-v2" }); load flow/reference assets lazily only when that stage needs them. Preserve the pre-intake sequence: confirm auth/workspace status, ask only for the LinkedIn profile URL or handle, normalize handles to a full profile URL, require that profile identity before continuing, run lightweight profile/company lookup, then ask the target, offer, credibility, and prospect-source setup questions. Do not call list_senders or sender discovery during setup; sender availability belongs only to Settings after message approval. Then write the campaign brief, call create_campaign once to mint the watchable shell, surface the returned watch link once before brief approval, and hand off to lead finding without repeating the link.`
304
+ : `Bootstrap complete.${workspaceNotice}${modelNotice} Load ${createCampaignSubskill?.name ?? "create-campaign"} instructions with get_subskill_prompt({ subskillName: "${createCampaignSubskill?.name ?? "create-campaign"}" }); if the response has hasMore=true, continue with nextOffset until hasMore=false. Follow that flow before calling create_campaign.`
275
305
  : "Bootstrap incomplete. Resolve blockingErrors and rerun bootstrap_create_campaign before provider/search/import tools.";
276
306
  // Strip prompt body from createCampaignSubskill — it's loaded via the host
277
307
  // skill prompt. Only return metadata to save context tokens.
@@ -295,5 +325,6 @@ export async function bootstrapCreateCampaign(input = {}) {
295
325
  campaignContext,
296
326
  subskillCatalog,
297
327
  createCampaignSubskill: subskillMeta,
328
+ modelQuality,
298
329
  };
299
330
  }