Servidor MCP

StackFast FractWin Expert Brain

io.github.Trupe-Rs/expert-brain

Qué hace este MCP

Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human approval controls.

ai_receptionist_callback_packet
AI Receptionist Callback Packet
Return a human-review callback packet for one AI Receptionist call. The packet is review-only and does not send SMS, place calls, or reply to customers autonomously.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['call_id'], 'properties': {'call_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
ai_receptionist_review_queue
AI Receptionist Review Queue
List recent AI Receptionist call-loop receipts for human review, including callback and A2P-gated inbound SMS status where present. Returns masked/audit-safe identifiers only.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
ai_receptionist_status
AI Receptionist Status
Read the Desk ticket, CRM callback task, call-link receipt, and A2P-gated inbound SMS posture for one AI Receptionist call ID. Returns masked/status metadata only.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['call_id'], 'properties': {'call_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'live_line_touched': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
artifact_audit
Read provenance, analyzer findings, gate status, approval state, usage, and export receipts for one tenant-scoped artifact.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id'], 'properties': {'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
artifact_export
Create an audited export receipt for an approved artifact or internal draft. External publish remains separate and human-approved.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'target'], 'properties': {'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'target': {'enum': ['markdown', 'html', 'email_draft', 'linkedin_draft', 'cogentcast_content', 'talent_scout_workspace', 'json', 'pdf', 'docx'], 'type': 'string'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_id': {'type': 'string'}, 'target_config': {'type': 'object'}, 'idempotency_key': {'type': 'string'}, 'approval_event_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
artifact_generate
Generate a governed, tenant-scoped artifact draft with no-fabrication placeholders, analyzer provenance, MASK, brand status, and approval requirements.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'artifact_type'], 'properties': {'lane': {'enum': ['external', 'internal', 'sales', 'authority', 'application', 'regulated_financial'], 'type': 'string'}, 'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'locale': {'type': 'string'}, 'audience': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'caller_type': {'enum': ['internal_agent', 'consumer_chat', 'external_api', 'mcp_client'], 'type': 'string'}, 'brand_kit_id': {'type': 'string'}, 'voice_anchor': {'type': 'string'}, 'artifact_type': {'enum': ['blog', 'linkedin_post', 'proposal', 'upwork_answer', 'email', 'bio', 'cover_letter', 'case_study', 'comment', 'newsletter', 'landing_page_copy', 'form_answer', 'strategy_note', 'operating_doctrine', 'decision_log', 'research_synthesis', 'outreach', 'follow_up', 'objection_response', 'correspondence_response', 'one_pager', 'work_sample', 'portfolio_summary', 'founder_pov', 'framework_essay', 'cfo_memo', 'board_finance_brief', 'qew_report', 'scenario_analysis', 'capital_allocation_brief', 'kpi_narrative', 'market_commentary', 'custom'], 'type': 'string'}, 'budget_policy': {'type': 'object'}, 'variant_count': {'type': 'integer', 'maximum': 3, 'minimum': 0}, 'source_context': {'type': ['object', 'string']}, 'idempotency_key': {'type': 'string'}, 'output_language': {'type': 'string'}, 'variant_strategy': {'type': 'string'}, 'voice_profile_id': {'type': 'string'}, 'analysis_findings': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
artifact_refine
Refine an existing artifact draft while preserving tenant boundary, provenance, MASK status, and approval posture.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'refinement_instruction'], 'properties': {'lane': {'enum': ['external', 'internal', 'sales', 'authority', 'application', 'regulated_financial'], 'type': 'string'}, 'format': {'enum': ['short', 'long', 'bullets', 'paste_safe', 'markdown', 'html', 'email_safe', 'json'], 'type': 'string'}, 'audience': {'type': 'string'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'artifact_type': {'enum': ['blog', 'linkedin_post', 'proposal', 'upwork_answer', 'email', 'bio', 'cover_letter', 'case_study', 'comment', 'newsletter', 'landing_page_copy', 'form_answer', 'strategy_note', 'operating_doctrine', 'decision_log', 'research_synthesis', 'outreach', 'follow_up', 'objection_response', 'correspondence_response', 'one_pager', 'work_sample', 'portfolio_summary', 'founder_pov', 'framework_essay', 'cfo_memo', 'board_finance_brief', 'qew_report', 'scenario_analysis', 'capital_allocation_brief', 'kpi_narrative', 'market_commentary', 'custom'], 'type': 'string'}, 'source_content': {'type': 'string'}, 'source_context': {'type': ['object', 'string']}, 'idempotency_key': {'type': 'string'}, 'new_source_context': {'type': ['object', 'string']}, 'refinement_instruction': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
artifact_save
Approve/save an artifact and mark tenant-scoped learning-loop eligibility. Does not publish externally.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'draft_id'], 'properties': {'approved': {'type': 'boolean'}, 'draft_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'reuse_tags': {'type': 'array', 'items': {'type': 'string'}}, 'learning_scope': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'approval_event_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
audit_status
Read AI Stack Audit project state, deliverable refs, credit ledger, and Desk/CRM links.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['audit_project_id'], 'properties': {'tenant_id': {'type': 'string'}, 'audit_project_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
boot_status
Boot Status
Read-only StackFast connector health/status check. Does not expose secrets.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'role': {'type': 'string', 'description': 'Optional expected wallet/MCP consumer role. A mismatch fails role readiness closed.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'service', 'schema_version', 'generated_at', 'canonical_url', 'auth', 'role_readiness', 'role_tool_contract', 'tools'], 'properties': {'ok': {'type': 'boolean'}, 'auth': {'type': 'object', 'properties': {'status': {'type': 'string'}, 'consumer': {'type': 'string'}, 'access_tier': {'type': 'string'}}, 'additionalProperties': True}, 'tools': {'type': 'object', 'properties': {'count': {'type': 'integer'}, 'names': {'type': 'array', 'items': {'type': 'string'}}, 'source_compliance': {'type': 'string'}}, 'additionalProperties': True}, 'service': {'type': 'string'}, 'generated_at': {'type': 'string'}, 'canonical_url': {'type': 'string'}, 'role_readiness': {'type': 'object', 'required': ['schema_version', 'role', 'authenticated_role', 'profile_source', 'status', 'operational_ready', 'transport', 'authentication', 'catalog', 'operational', 'diagnostics'], 'properties': {'role': {'type': 'string'}, 'status': {'enum': ['degraded', 'not_ready'], 'type': 'string'}, 'catalog': {'type': 'object', 'additionalProperties': True}, 'transport': {'type': 'object', 'additionalProperties': True}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'operational': {'type': 'object', 'additionalProperties': True}, 'authentication': {'type': 'object', 'additionalProperties': True}, 'profile_source': {'type': 'string'}, 'schema_version': {'type': 'string'}, 'operational_ready': {'type': 'boolean'}, 'authenticated_role': {'type': 'string'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string'}, 'role_tool_contract': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
cogentcast_approval_resolve
Resolve CogentCast Approval
Read and validate a server-recorded, human-authenticated approval receipt by id. An LLM cannot create approvals, impersonate Robert, change visibility, or unlock public release. Uses the existing CogentCast production service; it does not bypass Studio, mint Chief Editor/Robert approval, substitute model output for human authority, publish publicly, or expose credentials.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['package_id', 'approval_receipt_id'], 'properties': {'package_id': {'type': 'string'}, 'approval_receipt_id': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
cogentcast_package_create
Create CogentCast Package
Create one governed Work Sample from a tenant-bound preview reference, preserve the private narration-review create contract, or append a zero-cost audiobook preparation record through CHIEF_EDITOR_REVIEW. No create path can mint a human pass or make a vendor call. Audiobook Production v1 reuses this five-tool surface: content_type=audiobook_production registers exact manuscript/script/SSML plus provenance, pronunciation, visual/companion, and deterministic-build receipts at zero cost; production.status returns the current derivative and Chief Editor/Gemini/ear/paid/publication gates. Paid canary, full generation, and publication are distinct receipt-gated stages. Uses the existing CogentCast production service; it does not bypass Studio, mint Chief Editor/Robert approval, substitute model output for human authority, publish publicly, or expose credentials.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['preview_digest'], 'properties': {'input': {'type': 'object', 'required': ['content_type'], 'properties': {'deck': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'A real Office Open XML .pptx container. Deck text is visual input and is never spoken.', 'additionalProperties': False}, 'title': {'type': 'string'}, 'format': {'enum': ['16:9', '9:16'], 'type': 'string'}, 'script': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'Canonical Markdown narration source. Markdown syntax, front matter, hidden notes, production notes, URLs, and metadata are never spoken.', 'additionalProperties': False}, 'cta_url': {'type': 'string', 'format': 'uri', 'description': 'Optional for private author review. When present, HTTPS with a non-root path is required. Metadata only; never spoken.'}, 'audience': {'type': 'string', 'minLength': 1}, 'disclosure': {'type': 'string', 'minLength': 1}, 'lineage_id': {'type': 'string'}, 'article_url': {'type': 'string', 'format': 'uri'}, 'preparation': {'type': 'object', 'description': 'Exact source/script/SSML and preparation artifact hashes plus 100% provenance, zero unresolved pronunciation, complete visual classification, deterministic regeneration, and governance-test counts.', 'additionalProperties': True}, 'topic_image': {'type': 'string', 'format': 'uri'}, 'content_type': {'enum': ['work_sample', 'narration_review', 'audiobook_production'], 'type': 'string'}, 'article_state': {'enum': ['planned'], 'type': 'string'}, 'voice_profile': {'type': 'string', 'minLength': 1}, 'avatar_profile': {'type': 'string'}, 'internal_links': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}}, 'pacing_profile': {'type': 'string', 'minLength': 1}, 'idempotency_key': {'type': 'string'}, 'intended_visibility': {'enum': ['private', 'unlisted'], 'type': 'string'}, 'publication_authority': {'type': 'boolean', 'const': False}, 'historical_derivatives': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'description': 'CogentCast Work Sample, private narration review, or zero-cost governed audiobook preparation input. The selected mode is validated by the production service before state or vendor cost is created.', 'additionalProperties': True}, 'source_hashes': {'type': 'object', 'required': ['script', 'deck'], 'properties': {'deck': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}, 'script': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}}, 'additionalProperties': False}, 'preview_digest': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 12, 'description': 'Caller-stable key for this single create operation. Exact replays return the stored result; a different key is rejected.'}, 'preview_reference': {'type': 'string', 'pattern': '^sfccpr_[A-Za-z0-9]{24,64}$', 'description': 'Opaque short-lived reference returned by package.preview.'}, 'content_fingerprint': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'Exact immutable metadata/source fingerprint returned by package.preview.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
cogentcast_package_preview
Preview CogentCast Package
Validate a Work Sample, content_type=narration_review, or content_type=audiobook_production configuration without creating state or vendor cost. A failed preview returns no creation-authorizing digest or authoritative cost estimate. Audiobook Production v1 reuses this five-tool surface: content_type=audiobook_production registers exact manuscript/script/SSML plus provenance, pronunciation, visual/companion, and deterministic-build receipts at zero cost; production.status returns the current derivative and Chief Editor/Gemini/ear/paid/publication gates. Paid canary, full generation, and publication are distinct receipt-gated stages. Uses the existing CogentCast production service; it does not bypass Studio, mint Chief Editor/Robert approval, substitute model output for human authority, publish publicly, or expose credentials.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['input'], 'properties': {'input': {'type': 'object', 'required': ['content_type'], 'properties': {'deck': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'A real Office Open XML .pptx container. Deck text is visual input and is never spoken.', 'additionalProperties': False}, 'title': {'type': 'string'}, 'format': {'enum': ['16:9', '9:16'], 'type': 'string'}, 'script': {'type': 'object', 'required': ['filename', 'mime_type', 'content_base64', 'file_size', 'sha256', 'version'], 'properties': {'sha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'SHA-256 of the decoded raw file bytes.'}, 'version': {'type': 'string', 'minLength': 1, 'description': 'Caller-controlled immutable source version label.'}, 'filename': {'type': 'string', 'minLength': 1, 'description': 'Original filename, including .md for narration or .pptx for the deck.'}, 'file_size': {'type': 'integer', 'maximum': 10000000, 'minimum': 1, 'description': 'Decoded byte length. It must equal the raw file size.'}, 'mime_type': {'type': 'string', 'minLength': 1, 'description': 'IANA media type matching the supplied file.'}, 'content_base64': {'type': 'string', 'minLength': 4, 'description': 'RFC 4648 base64 of the raw file bytes; do not base64-encode an existing .b64 text file.'}}, 'description': 'Canonical Markdown narration source. Markdown syntax, front matter, hidden notes, production notes, URLs, and metadata are never spoken.', 'additionalProperties': False}, 'cta_url': {'type': 'string', 'format': 'uri', 'description': 'Optional for private author review. When present, HTTPS with a non-root path is required. Metadata only; never spoken.'}, 'audience': {'type': 'string', 'minLength': 1}, 'disclosure': {'type': 'string', 'minLength': 1}, 'lineage_id': {'type': 'string'}, 'article_url': {'type': 'string', 'format': 'uri'}, 'preparation': {'type': 'object', 'description': 'Exact source/script/SSML and preparation artifact hashes plus 100% provenance, zero unresolved pronunciation, complete visual classification, deterministic regeneration, and governance-test counts.', 'additionalProperties': True}, 'topic_image': {'type': 'string', 'format': 'uri'}, 'content_type': {'enum': ['work_sample', 'narration_review', 'audiobook_production'], 'type': 'string'}, 'article_state': {'enum': ['planned'], 'type': 'string'}, 'voice_profile': {'type': 'string', 'minLength': 1}, 'avatar_profile': {'type': 'string'}, 'internal_links': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}}, 'pacing_profile': {'type': 'string', 'minLength': 1}, 'idempotency_key': {'type': 'string'}, 'intended_visibility': {'enum': ['private', 'unlisted'], 'type': 'string'}, 'publication_authority': {'type': 'boolean', 'const': False}, 'historical_derivatives': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'description': 'CogentCast Work Sample, private narration review, or zero-cost governed audiobook preparation input. The selected mode is validated by the production service before state or vendor cost is created.', 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
cogentcast_production_run
Run CogentCast Production Stage
Request one leased production stage. The zero-cost Gemini reconciliation stage requires exact dispatch, task, job, source, and Chief Editor receipt binding and cannot mint verification. Cost-bearing canary/full-chunk stages require exact prior Chief Editor, Gemini, and human receipts; provider ambiguity blocks paid retry. This tool cannot record human approval or publish. Audiobook Production v1 reuses this five-tool surface: content_type=audiobook_production registers exact manuscript/script/SSML plus provenance, pronunciation, visual/companion, and deterministic-build receipts at zero cost; production.status returns the current derivative and Chief Editor/Gemini/ear/paid/publication gates. Paid canary, full generation, and publication are distinct receipt-gated stages. Uses the existing CogentCast production service; it does not bypass Studio, mint Chief Editor/Robert approval, substitute model output for human authority, publish publicly, or expose credentials.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['package_id', 'stage', 'idempotency_key'], 'properties': {'stage': {'type': 'string'}, 'chunk_id': {'type': 'string'}, 'package_id': {'type': 'string'}, 'segment_id': {'type': 'string'}, 'dispatch_id': {'type': 'string'}, 'sample_scope': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'manifest_sha256': {'type': 'string'}, 'verifier_job_id': {'type': 'string'}, 'verification_task_id': {'type': 'string'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
cogentcast_production_status
Read CogentCast Production Status
Read tenant-scoped Work Sample, narration-review, or audiobook-production state; exact hashes; current-vs-historical derivative projection; and Chief Editor/Gemini/ear/paid/publication gates. Private source bodies and blob locations are not exposed. Audiobook Production v1 reuses this five-tool surface: content_type=audiobook_production registers exact manuscript/script/SSML plus provenance, pronunciation, visual/companion, and deterministic-build receipts at zero cost; production.status returns the current derivative and Chief Editor/Gemini/ear/paid/publication gates. Paid canary, full generation, and publication are distinct receipt-gated stages. Uses the existing CogentCast production service; it does not bypass Studio, mint Chief Editor/Robert approval, substitute model output for human authority, publish publicly, or expose credentials.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['package_id'], 'properties': {'package_id': {'type': 'string', 'description': 'ws_, ccnr_, or ccaud_ package identifier.'}}}
Esquema de salida
{'type': 'object', 'oneOf': [{'required': ['result']}, {'required': ['error']}], 'required': ['ok', 'gateway_receipt'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'result': {'type': 'object', 'additionalProperties': True}, 'gateway_receipt': {'type': 'object', 'required': ['tool', 'correlation_id', 'contract_digest', 'tenant_scope'], 'properties': {'tool': {'type': 'string'}, 'tenant_scope': {'enum': ['authenticated_reader'], 'type': 'string'}, 'correlation_id': {'type': 'string'}, 'contract_digest': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
credentials_inventory
Credential Inventory
Discover wallet-resolved credential service names and accepted aliases without exposing secret values. Use this when an agent is unsure whether a key exists, sees a key-not-found error, or needs the canonical getAgentKey(service) name. Returns service slugs, env/key aliases, categories, and resolver guidance only; never returns raw credentials.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'query': {'type': 'string', 'description': 'Optional service, provider, env var, or natural-language query such as openai, OPENAI_API_KEY, gmail, Gemini, FireCrawl, or Vercel.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'schema_version', 'raw_secret_values_included', 'count', 'entries', 'usage'], 'properties': {'ok': {'type': 'boolean'}, 'count': {'type': 'number'}, 'usage': {'type': 'object', 'additionalProperties': True}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['service', 'display_name', 'category', 'description', 'accepted_names', 'env_names', 'inventory_tool'], 'properties': {'service': {'type': 'string'}, 'category': {'type': 'string'}, 'env_names': {'type': 'array', 'items': {'type': 'string'}}, 'description': {'type': 'string'}, 'display_name': {'type': 'string'}, 'accepted_names': {'type': 'array', 'items': {'type': 'string'}}, 'inventory_tool': {'type': 'string'}}}}, 'schema_version': {'type': 'string'}, 'raw_secret_values_included': {'type': 'boolean'}}, 'additionalProperties': False}
dealership_check_lead_follow_up
Check Whether a Lead Follow-Up May Be Sent
Dealership OS checks a tenant-scoped lead against consent, STOP, quiet-hours, pacing, verified-sender, identity, assignment, and manager-exception rules. It returns an eligibility or hold decision, a human action card, and an opaque receipt. The entitled customer modes are evaluate and synthetic_acceptance. It never sends outreach, clears STOP, writes CRM or inventory, reserves inventory, calculates a deal, approves desk/OTD terms, or replaces human authority; governance registration and STOP recording are operator-only modes.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['mode'], 'properties': {'mode': {'enum': ['evaluate', 'synthetic_acceptance', 'register_governance', 'record_stop'], 'type': 'string'}, 'stop': {'type': 'object', 'required': ['tenant_id', 'lead_id', 'stop_code', 'source_revision'], 'properties': {'lead_id': {'type': 'string'}, 'stop_code': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}, 'tenant_id': {'type': 'string'}, 'source_revision': {'type': 'string'}}, 'additionalProperties': False}, 'tenant_id': {'type': 'string'}, 'evaluation': {'type': 'object', 'required': ['ingest', 'nurture', 'assignment', 'human_action', 'manager_exception_due_at'], 'properties': {'ingest': {'type': 'object', 'required': ['schema_version', 'tenant_id', 'lead_id', 'opportunity_id', 'source', 'source_record_ref', 'source_revision', 'occurred_at', 'correlation_id', 'causation_id', 'relationship_candidates', 'evidence_refs', 'location_ref', 'requested_channel'], 'properties': {'source': {'enum': ['web', 'phone', 'email', 'chat', 'oem_marketplace', 'walk_in', 'service_to_sales', 'incumbent_crm_sync'], 'type': 'string'}, 'lead_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'format': 'date-time'}, 'causation_id': {'type': 'string'}, 'location_ref': {'type': 'string'}, 'evidence_refs': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'correlation_id': {'type': 'string'}, 'opportunity_id': {'type': 'string'}, 'schema_version': {'enum': ['stackfast.dealership_lead_worker.v1'], 'type': 'string'}, 'source_revision': {'type': 'string'}, 'requested_channel': {'enum': ['sms', 'email', 'voice', 'chat', None], 'type': ['string', 'null']}, 'source_record_ref': {'type': 'string'}, 'relationship_candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['relationship_id', 'authority_receipt_ref'], 'properties': {'relationship_id': {'type': 'string'}, 'authority_receipt_ref': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'nurture': {'type': 'object', 'required': ['channel', 'sender_ref', 'sender_authority_receipt_ref', 'evaluated_at', 'prior_attempts', 'active_stop_conditions', 'policy'], 'properties': {'policy': {'type': 'object', 'required': ['policy_id', 'policy_revision', 'purpose', 'allowed_channels', 'consent_status', 'consent_evidence_ref', 'consent_authority_receipt_ref', 'captured_at', 'expires_at', 'quiet_hours_local', 'pacing', 'verified_sender_refs', 'stop_conditions'], 'properties': {'pacing': {'type': 'object', 'required': ['minimum_interval_minutes', 'maximum_attempts_per_24h'], 'properties': {'maximum_attempts_per_24h': {'type': 'integer', 'minimum': 1}, 'minimum_interval_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'purpose': {'enum': ['lead_response', 'appointment_follow_up', 'post_visit_follow_up', 'delivery_follow_up'], 'type': 'string'}, 'policy_id': {'type': 'string'}, 'expires_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'captured_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'consent_status': {'enum': ['granted', 'revoked', 'unknown'], 'type': 'string'}, 'policy_revision': {'type': 'string'}, 'stop_conditions': {'type': 'array', 'items': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}}, 'allowed_channels': {'type': 'array', 'items': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}}, 'quiet_hours_local': {'type': 'object', 'required': ['time_zone', 'start_minute', 'end_minute'], 'properties': {'time_zone': {'type': 'string'}, 'end_minute': {'type': 'integer', 'maximum': 1439, 'minimum': 0}, 'start_minute': {'type': 'integer', 'maximum': 1439, 'minimum': 0}}, 'additionalProperties': False}, 'consent_evidence_ref': {'type': ['string', 'null']}, 'verified_sender_refs': {'type': 'array', 'items': {'type': 'string'}}, 'consent_authority_receipt_ref': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'channel': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'sender_ref': {'type': 'string'}, 'evaluated_at': {'type': 'string', 'format': 'date-time'}, 'prior_attempts': {'type': 'array', 'items': {'type': 'object', 'required': ['occurred_at', 'channel'], 'properties': {'channel': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'occurred_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}}, 'active_stop_conditions': {'type': 'array', 'items': {'enum': ['opt_out', 'sold', 'lost', 'human_takeover', 'identity_conflict', 'provider_failure'], 'type': 'string'}}, 'sender_authority_receipt_ref': {'type': 'string'}}, 'additionalProperties': False}, 'assignment': {'type': 'object', 'required': ['assigned_at', 'candidates', 'policy'], 'properties': {'policy': {'type': 'object', 'required': ['policy_id', 'policy_revision', 'strategy', 'required_skill_refs', 'acknowledgement_timeout_minutes', 'backup_owner_ref', 'manager_owner_ref'], 'properties': {'strategy': {'enum': ['round_robin', 'skill_location_load'], 'type': 'string'}, 'policy_id': {'type': 'string'}, 'policy_revision': {'type': 'string'}, 'backup_owner_ref': {'type': 'string'}, 'manager_owner_ref': {'type': 'string'}, 'required_skill_refs': {'type': 'array', 'items': {'type': 'string'}}, 'acknowledgement_timeout_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['owner_ref', 'owner_role', 'location_refs', 'skill_refs', 'available', 'active_lead_count', 'last_assigned_at'], 'properties': {'available': {'type': 'boolean'}, 'owner_ref': {'type': 'string'}, 'owner_role': {'enum': ['salesperson', 'manager'], 'type': 'string'}, 'skill_refs': {'type': 'array', 'items': {'type': 'string'}}, 'location_refs': {'type': 'array', 'items': {'type': 'string'}}, 'last_assigned_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'active_lead_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'assigned_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'human_action': {'type': 'object', 'required': ['requested_action', 'due_at', 'confirmed_need_ref', 'context_refs', 'do_not_repeat_refs', 'approved_next_message_ref', 'state_revision', 'token_expires_at', 'owner_role'], 'properties': {'due_at': {'type': 'string', 'format': 'date-time'}, 'owner_role': {'enum': ['salesperson', 'manager'], 'type': 'string'}, 'context_refs': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'state_revision': {'type': 'string'}, 'requested_action': {'enum': ['send_photo', 'call', 'book_appointment', 'follow_later', 'request_desk_otd', 'reassign', 'not_mine', 'opt_out', 'lost', 'not_yet'], 'type': 'string'}, 'token_expires_at': {'type': 'string', 'format': 'date-time'}, 'confirmed_need_ref': {'type': 'string'}, 'do_not_repeat_refs': {'type': 'array', 'items': {'type': 'string'}}, 'approved_next_message_ref': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'manager_exception_due_at': {'type': 'string', 'format': 'date-time'}}, 'additionalProperties': False}, 'fixture_id': {'enum': ['synthetic_internet_lead_v1'], 'type': 'string'}, 'governance': {'type': 'object', 'required': ['tenant_id', 'lead_id', 'relationship_id', 'identity_receipt_ref', 'consent_receipt_ref', 'sender_receipt_ref', 'policy_id', 'policy_revision', 'consent_status', 'consent_captured_at', 'consent_expires_at', 'allowed_channels', 'sender_ref', 'sender_status', 'minimum_interval_minutes', 'maximum_attempts_per_24h'], 'properties': {'lead_id': {'type': 'string'}, 'policy_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'sender_ref': {'type': 'string'}, 'sender_status': {'enum': ['verified', 'revoked'], 'type': 'string'}, 'consent_status': {'enum': ['granted', 'revoked'], 'type': 'string'}, 'policy_revision': {'type': 'string'}, 'relationship_id': {'type': 'string'}, 'allowed_channels': {'type': 'array', 'items': {'enum': ['sms', 'email', 'voice', 'chat'], 'type': 'string'}, 'minItems': 1}, 'consent_expires_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'sender_receipt_ref': {'type': 'string'}, 'consent_captured_at': {'type': 'string', 'format': 'date-time'}, 'consent_receipt_ref': {'type': 'string'}, 'identity_receipt_ref': {'type': 'string'}, 'maximum_attempts_per_24h': {'type': 'integer', 'minimum': 1}, 'minimum_interval_minutes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
dealership_sales_floor_brief
Get a Dealership Sales-Floor Coaching Brief
Dealership OS returns a public-safe, tenant-scoped coaching brief for opportunity leak diagnosis, ownership and next actions, daily manager reconciliation, customer connection, customer-first presentation structure, or an opportunity disposition recommendation. It uses the governed T0 public judgment rail and returns findings, an ordered plan, next actions, citations, a human action card, and an opaque receipt. It never sends outreach, writes CRM or inventory, changes opportunity authority, approves desk/OTD terms, performs an assessment, grants a credential, or exposes protected method bodies.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['workflow'], 'properties': {'mode': {'enum': ['brief', 'synthetic_acceptance'], 'type': 'string', 'default': 'brief'}, 'workflow': {'enum': ['opportunity_leak_diagnosis', 'opportunity_ownership_and_next_actions', 'daily_manager_reconciliation_coaching', 'customer_situation_connection_plan', 'presentation_structure_plan', 'opportunity_disposition_recommendation'], 'type': 'string'}, 'situation': {'type': 'string', 'maxLength': 4000, 'minLength': 20, 'description': 'Transient operator-described situation. Do not include unnecessary customer identity or protected source material.'}, 'tenant_id': {'type': 'string', 'description': 'Optional assertion; must match the authenticated tenant.'}, 'fixture_id': {'enum': ['synthetic_sales_floor_v1'], 'type': 'string'}, 'role_context': {'enum': ['salesperson', 'sales_manager', 'bdc', 'gm', 'unspecified'], 'type': 'string', 'default': 'unspecified'}, 'schema_version': {'enum': ['stackfast.dealership_sales_advisor.v1'], 'type': 'string'}, 'idempotency_key': {'type': 'string', 'maxLength': 128}, 'opportunity_ref': {'type': 'string', 'description': 'Optional opaque tenant-scoped opportunity reference. The advisor does not resolve or mutate it.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
estimator_catalog_search
OCE Estimator catalog search
Operate on tenant-scoped OCE Estimator/Appraiser catalog sources/items, including the StackFast storefront catalog, through the generic estimator_* control-plane contract.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_catalog_sources
OCE Estimator catalog sources
Operate on tenant-scoped OCE Estimator/Appraiser catalog sources/items, including the StackFast storefront catalog, through the generic estimator_* control-plane contract.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_add_line
OCE Estimator estimate add line
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_convert_to_bid
OCE Estimator estimate convert to bid
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_convert_to_invoice
OCE Estimator estimate convert to invoice
Prepare an OCE Estimator/Appraiser document or QBO handoff contract. Review-gated; does not write to accounting systems.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_create_draft
OCE Estimator estimate create draft
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_export
OCE Estimator estimate export
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_progress_invoice
OCE Estimator estimate progress invoice
Prepare an OCE Estimator/Appraiser document or QBO handoff contract. Review-gated; does not write to accounting systems.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_estimate_update_line
OCE Estimator estimate update line
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_policy_check
OCE Estimator policy check
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
estimator_receipt_get
OCE Estimator receipt get
Operate on tenant-scoped OCE Estimator/Appraiser drafts, lines, versions, documents, exports, and policy receipts.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'line': {'type': 'object'}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'query': {'type': 'string'}, 'bridge': {'type': 'object'}, 'format': {'enum': ['pdf', 'word', 'excel', 'html', 'csv', 'json'], 'type': 'string'}, 'approval': {'type': 'object'}, 'source_id': {'type': 'string'}, 'tenant_id': {'type': 'string', 'description': 'Tenant boundary, for example repair-remodel-360.'}, 'adapter_id': {'enum': ['construction.repair_remodel_360', 'construction.generic_remodel', 'field_service.hvac_light_service'], 'type': 'string', 'description': 'Vertical adapter.'}, 'document_id': {'type': 'string'}, 'estimate_id': {'type': 'string'}, 'progress_pct': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'idempotency_key': {'type': 'string'}}, 'additionalProperties': True}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool', 'product'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'product': {'type': 'string'}, 'no_accounting_write': {'type': 'boolean'}, 'review_required_before_customer_release': {'type': 'boolean'}}, 'additionalProperties': True}
fetch
Fetch StackFast Reader Result
Fetch a StackFast Brain result or an authorized immutable session artifact by id through the AI6 MCP reader plane. Use the explicit safe shape with id, page, and page_size, for example fetch({ id: "brain:12345", page: 1, page_size: 12000 }) or fetch({ id: "artifact:474", page: 1, page_size: 12000 }); continue with next_page until complete is true.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id', 'page', 'page_size'], 'properties': {'id': {'type': 'string', 'description': 'Result id returned by the reader plane, for example brain:12345 or an authorized artifact:474. Prefer this over the legacy aid field.'}, 'aid': {'type': 'string', 'description': 'Legacy compatibility field for direct brain aid. Prefer id plus explicit page and page_size.'}, 'page': {'type': 'integer', 'minimum': 1, 'description': 'Required explicit one-based page number. Use 1 for the first page.'}, 'next_page': {'type': 'integer', 'minimum': 1, 'description': 'Alias for page when following the next_page value returned by a prior fetch call.'}, 'page_size': {'type': 'integer', 'maximum': 12000, 'minimum': 1000, 'description': 'Required explicit maximum characters returned in this page. Use 12000 unless a smaller page is needed.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'ok': {'type': 'boolean'}, 'url': {'type': 'string'}, 'page': {'type': 'integer'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'message': {'type': 'string'}, 'complete': {'type': 'boolean'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'page_end': {'type': 'integer'}, 'next_page': {'type': ['integer', 'null']}, 'page_size': {'type': 'integer'}, 'error_code': {'type': 'string'}, 'page_start': {'type': 'integer'}, 'page_sha256': {'type': 'string'}, 'total_chars': {'type': 'integer'}, 'total_pages': {'type': 'integer'}, 'content_sha256': {'type': 'string'}, 'supported_call_shapes': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
growthos_business_brain_interview
GrowthOS Business Brain Interview
Start or append a GrowthOS Business Brain Interview using the existing interview/session model. Outputs remain draft_review_required before automation.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'action': {'enum': ['template', 'start', 'append_answers', 'generate_artifacts'], 'type': 'string', 'default': 'start'}, 'source': {'type': 'string'}, 'answers': {'type': 'array', 'items': {'type': 'object'}}, 'company': {'type': 'string'}, 'lead_id': {'type': ['string', 'number']}, 'tenant_id': {'type': 'string'}, 'session_id': {'type': 'string'}, 'customer_name': {'type': 'string'}, 'customer_email': {'type': 'string'}, 'interview_type': {'enum': ['growthos_scorecard_interview', 'growthos_business_brain_interview'], 'type': 'string'}, 'audit_project_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
growthos_digital_clone_packet
GrowthOS Digital Clone Packet
Build a draft GrowthOS digital-clone render packet from normalized signals, evidence, runtime tenant voice profile, and PERSPECTIVE capability grounding. No Robert voice defaults and no autonomous outbound.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['prospect'], 'properties': {'prospect': {'type': 'object', 'description': 'Local-business prospect evidence to normalize into signals{} + evidence[].'}, 'tenant_profile': {'type': 'object', 'description': 'Runtime tenant voice and delivery profile. Required before publication; missing profile returns draft_review_required.'}, 'perspective_context': {'type': 'string', 'description': 'Optional buyer pain or delivery context to ground through stackfast.perspective.translate.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
growthos_opportunity_scout_packet
GrowthOS Opportunity Scout Packet
Build an Opportunity Scout packet for customer, talent, contract, or capital opportunities using the existing gate-first policy layer and no new persistence table.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['opportunity'], 'properties': {'opportunity': {'type': 'object', 'description': 'Opportunity input. opportunity_type must be one of the registered Opportunity Scout types.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
growthos_owner_facing_report
GrowthOS Owner-Facing Report
Render the canonical GrowthOS scorecard into a sendable owner-facing report with web, email-review-ready, PDF-ready outputs, and optional CogentCast site-review receipt composition. No autonomous send.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['prospect'], 'properties': {'sender': {'type': 'object'}, 'prospect': {'type': 'object'}, 'cogentcast_site_review': {'type': 'object', 'description': 'Optional CogentCast site-review request or precomputed receipt. GrowthOS consumes this receipt instead of recreating website review logic.'}, 'include_cogentcast_site_review': {'type': 'boolean', 'description': 'Fetch a CogentCast dry-run site-review receipt for the supplied website_url and compose it into step 3.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
growthos_revenue_capture_packet
GrowthOS Revenue Capture Packet
Return a GrowthOS revenue-capture packet: scorecard, review-gated contact drafts, CogentCast site-review receipt composition, and summary for supplied local-business evidence. GrowthOS consumes CogentCast receipts instead of recreating website-review logic. No autonomous outbound.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['prospect'], 'properties': {'sender': {'type': 'object'}, 'prospect': {'type': 'object'}, 'cogentcast_site_review': {'type': 'object', 'description': 'Optional CogentCast site-review request or precomputed receipt. GrowthOS consumes this receipt instead of recreating website review logic.'}, 'include_cogentcast_site_review': {'type': 'boolean', 'description': 'Fetch a CogentCast dry-run site-review receipt for the supplied website_url and compose it into step 3.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
growthos_scorecard
GrowthOS Scorecard
Build a private GrowthOS Revenue Capture Scorecard from supplied public business signals. Human buyers start at /growthos/scorecard; MCP execution requires reader entitlement. Returns scorecard findings only; it never sends outreach.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'sender': {'type': 'object', 'description': 'Optional sender identity with sender_name and geography.'}, 'prospect': {'type': 'object', 'description': 'Single local-business prospect input.'}, 'prospects': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Batch of up to 25 local-business prospect inputs.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['ok', 'tool'], 'properties': {'ok': {'type': 'boolean'}, 'tool': {'type': 'string'}, 'public_name': {'type': 'string'}, 'no_autonomous_outbound': {'type': 'boolean'}, 'review_required_before_send': {'type': 'boolean'}}, 'additionalProperties': True}
reply_compose
Compose a relationship-safe correspondence decision packet with do_not_say, safe_phrasing, channel constraints, manual approval, and a correspondence_response artifact audit trail. It never sends the message.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['channel'], 'properties': {'goal': {'type': 'string'}, 'channel': {'enum': ['email', 'linkedin_connect', 'linkedin_message', 'sms', 'call_transcript', 'voicemail', 'receptionist_follow_up', 'recruiter_response', 'warm_referral'], 'type': 'string'}, 'surface': {'type': 'string'}, 'signature': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'constraints': {'type': 'object'}, 'crm_context': {'type': 'object'}, 'referred_by': {'type': 'string'}, 'recipient_name': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'inbound_message': {'type': 'string'}, 'persist_artifact': {'type': 'boolean'}, 'capability_context': {'type': 'string'}, 'relationship_context': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
search
Search StackFast Brain
Search StackFast Brain knowledge through the AI6 MCP reader plane; use fetch with a returned result id for full text.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Natural language search query.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': True}}}, 'additionalProperties': False}
session_file_read
Return session artifact metadata and persistent URLs. V1 intentionally omits raw artifact contents.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1}, 'filename': {'type': 'string'}, 'session_id': {'type': 'string'}, 'artifact_id': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'description': 'Structured JSON result envelope. Tool-specific fields vary by product surface; outputs are governed, audit-safe, and omit secrets.', 'additionalProperties': True}
talent_scout_application_workup
Talent Scout Application Workup
Build the detailed workup for one Talent Scout queue item: availability status, fit risks, company pain map, Robert proof-point map, resume angle, application strategy, and a full draft-only application packet with resume edits, cover-letter outline, form-paste answer, compensation guidance, LinkedIn/follow-up drafts, founder-objection answers, first-30-days plan, questions to ask, claims/risk validation, manual submission receipt template, interview prep, and learning-loop signals. Draft/review only; no sends or applications.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'notes': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Role title lookup when queue_item_id is not known.'}, 'company': {'type': 'string', 'description': 'Company name lookup when queue_item_id is not known.'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': 'Preferred exact Talent Scout queue item id. If omitted, provide company and title.'}, 'application_id': {'type': 'string', 'description': 'Optional ATS/portal application or requisition id, such as R110984. Resolves only to an existing Talent Scout queue/history record.'}, 'requisition_id': {'type': 'string', 'description': 'Alias for application_id when the id is a req/requisition id.'}, 'canonical_job_id': {'type': 'string', 'description': 'Optional canonical job id lookup. Resolves only to an existing Talent Scout queue/history record.'}, 'job_description_text': {'type': 'string', 'description': 'Optional full JD pasted by the owner when the stored role is thin or JavaScript-rendered. It hydrates this draft-only workup without returning the raw JD.'}, 'portal_application_id': {'type': 'string', 'description': 'Alias for application_id when the id came from an external portal.'}, 'user_supplied_jd_text': {'type': 'string', 'description': 'Alias for job_description_text. Used as owner-supplied JD evidence only for this governed workup.'}, 'include_follow_up_plan': {'type': 'boolean', 'default': True}, 'include_interview_prep': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_browser_fill_receipt
Talent Scout Browser Fill Receipt
Build or verify a keyboard-event ATS fill plan from a complete form schema. It maps safe stored profile values, reserves eligibility/EEO/files/signature/submit for the human, and requires per-field readback before reporting staged.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'fields': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'submit': {'type': 'boolean', 'default': False}, 'readbacks': {'type': 'object', 'additionalProperties': True}, 'tenant_id': {'type': 'string'}, 'profile_values': {'type': 'object', 'additionalProperties': True}, 'schema_receipt': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_business_email_receipt
Talent Scout Enrich Contact Email
Prepare Hunter.io-style business email enrichment receipts for a qualified contact. Uses wallet SSoT status, verifies before recommending, never sends, and requires human approval.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'email': {'type': 'string', 'description': 'Known business email to confirm from governed mailbox evidence. This path never calls a third-party enrichment provider.'}, 'domain': {'type': 'string'}, 'last_name': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'first_name': {'type': 'string'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'email_source': {'enum': ['governed_mailbox', 'human_confirmed'], 'type': 'string', 'description': 'Provenance for a supplied known business email.'}, 'person_label': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_compose_application
Talent Scout Compose Application
Compose a draft-only first-party job-seeker application artifact for the account owner from a real Talent Scout queue item using JD evidence. Supports cover letter, form paste, application Q&A, telephone script, and authority analysis only; never sends, applies, screens people, ranks people, or makes hiring decisions. This does not screen applicants, rank candidates, or make hiring decisions.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'notes': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Optional lookup key. Use with company when queue_item_id is not known; exact normalized match is required.'}, 'company': {'type': 'string', 'description': 'Optional lookup key. Use with title when queue_item_id is not known; exact normalized match is required.'}, 'actor_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'careers_url': {'type': 'string', 'description': 'Official careers page URL when known. Helps distinguish a real posting from a generic board/root page.'}, 'output_kind': {'enum': ['cover_letter', 'form_paste', 'application_qa', 'telephone_script', 'authority_analysis'], 'type': 'string', 'default': 'cover_letter'}, 'voice_anchor': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string', 'description': 'Optional ATS/portal application or requisition id, such as R110984. Resolves only to an existing Talent Scout queue/history record.'}, 'requisition_id': {'type': 'string', 'description': 'Alias for application_id when the id is a req/requisition id.'}, 'writer_provider': {'enum': ['openai', 'google_gemini', 'gemma', 'bounded_fallback'], 'type': 'string', 'description': 'Optional writer lane override. Defaults to OpenAI when a wallet key is available; bounded_fallback stays available as a fail-closed safety net.'}, 'canonical_job_id': {'type': 'string', 'description': 'Optional canonical job id lookup. Resolves only to an existing Talent Scout queue/history record.'}, 'compare_providers': {'type': 'boolean', 'default': False, 'description': 'When true, run bounded OpenAI/Gemma/Gemini comparison receipts without exposing alternate raw drafts.'}, 'owner_profile_text': {'type': 'string', 'description': 'Optional private owner evidence from a resume/profile setup interview. Used for proof mapping; never returned raw.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Optional private owner evidence override. Used only to map JD requirements to proof points; never returned raw.'}, 'company_homepage_url': {'type': 'string', 'description': 'Official company homepage URL for company-context evidence and human review.'}, 'company_profile_text': {'type': 'string', 'description': 'Optional official company-site/about/product evidence. Used to target the draft to the company context; never returned raw.'}, 'job_description_text': {'type': 'string', 'description': 'Manual recovery path only. Paste the full JD when the ATS blocks or JS-renders and Talent Scout returns needs_jd_hydration.'}, 'linkedin_profile_text': {'type': 'string', 'description': 'Optional manual LinkedIn profile paste/export when LinkedIn blocks automated fetch. Used as owner evidence; never returned raw.'}, 'portal_application_id': {'type': 'string', 'description': 'Alias for application_id when the id came from an external portal.'}, 'user_supplied_jd_text': {'type': 'string', 'description': 'Alias for job_description_text; treated as authoritative user-supplied JD evidence after auto-hydration fails.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_correct_relationship_activity
Talent Scout Correct Relationship Activity
Append an immutable correction for the channel and direction of an existing Talent Scout Relationship Core receipt. The original receipt is never changed; this tool never sends, applies, scrapes, or changes candidacy status.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'idempotency_key', 'original_receipt_id', 'channel', 'direction', 'correction_reason'], 'properties': {'channel': {'enum': ['email', 'linkedin', 'sms', 'call', 'visit'], 'type': 'string'}, 'direction': {'enum': ['inbound', 'outbound', 'lifecycle'], 'type': 'string', 'description': 'Explicit corrected message direction; no default is inferred.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key that makes retries return the original immutable correction receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'correction_reason': {'type': 'string', 'description': 'Human-attested reason for this append-only correction (maximum 5,000 characters).'}, 'original_receipt_id': {'type': 'string', 'description': 'Immutable relationship activity receipt being corrected; it is never rewritten.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_create_packet
Talent Scout Create Packet
Create a draft-only application or opportunity packet from an existing Talent Scout queue item. Human approval is required before external use.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['queue_item_id'], 'properties': {'notes': {'type': 'string'}, 'actor_id': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'output_kind': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'opportunity_mode': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_daily_pipeline
Talent Scout Daily Pipeline
Return the closed-loop Talent Scout daily operating report from the shared tenant queue: applied pipeline, mailbox reconciliation status, follow-up due, open roles, availability checks, preference filters, stale/closed rows, new discoveries, bounded needs_role_hydration recovery, and a 3-5 role slate. Mailbox reconciliation runs server-side via the StackFast service-account reader. Clients MUST NOT invoke their own Gmail/email connector; if mailbox_reconciliation_status is not ok, surface the red receipt and stop instead of substituting a client-side mailbox read. Read-only control-tower view; no sends or applications.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 50, 'minimum': 1}, 'compact': {'type': 'boolean', 'default': True, 'description': 'Return counts, status buckets, mailbox status, and a bounded slate without full bucket payloads. Defaults true for hosted MCP latency.'}, 'profile': {'type': 'object', 'description': 'Alias for owner_profile when reviewing stale queue items.'}, 'tenant_id': {'type': 'string'}, 'slate_limit': {'type': 'integer', 'default': 5, 'maximum': 5, 'minimum': 1}, 'include_items': {'type': 'boolean', 'default': False, 'description': 'Return top-level queue cards. Defaults false so compact daily reads return the bounded operating summary only.'}, 'owner_profile': {'type': 'object', 'description': 'Optional owner preference context used to refresh stale zero-score queue items inside this tenant only.'}, 'section_limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'hydration_limit': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1, 'description': 'Bounded live-hydration attempts for thin roles before compose. Reports attempts and remaining needs_role_hydration; never applies or sends.'}, 'include_applied': {'type': 'boolean', 'default': True, 'description': 'Include already-applied rows in the applied/waiting pipeline buckets.'}, 'include_archived': {'type': 'boolean', 'default': False, 'description': 'Include archived, rejected, passed, stale, or already-applied rows. Defaults false for active work queues.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_discover_companies_by_campaign
Talent Scout Discover Companies By Campaign
Preview the account owner's saved business-list campaign. Returns public company websites, employee-count confidence, source receipts, and next actions for manual review. Read-only by default: it does not persist companies unless persist_results is explicitly true and never scrapes LinkedIn.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'campaign_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist discovered company records to the Talent Scout campaign store. Defaults false so hosted MCP discovery remains a read-only preview for human review.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible refresh flag; Firecrawl is only a fallback/search or downstream extraction provider, not the Stage 1 radar.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'allow_live_google_places': {'type': 'boolean', 'default': True, 'description': 'Refresh public business website leads through the configured directory provider and distance check. Websites are required before downstream enrichment. Set false only for an explicit no-network dry run.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_discover_local_companies
Talent Scout Discover Local Companies
Preview the account owner's saved local business-list campaign. Returns public company websites only, with size-band confidence and source receipts for manual review. Read-only by default; set persist_results true only for an intentional store update.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'campaign_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'radius_minutes': {'type': 'integer', 'minimum': 1}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist discovered company records to the Talent Scout campaign store. Defaults false so hosted MCP discovery remains a read-only preview for human review.'}, 'company_size_max': {'type': 'integer', 'minimum': 1}, 'company_size_min': {'type': 'integer', 'minimum': 0}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'geography_anchor': {'type': 'string'}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible refresh flag; Firecrawl is only a fallback/search or downstream extraction provider, not the Stage 1 radar.'}, 'target_company_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'allow_live_google_places': {'type': 'boolean', 'default': False, 'description': 'Refresh public business website leads through the configured directory provider and distance check. Websites are required before downstream enrichment.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_draft_manual_note
Talent Scout Draft Manual Note
Preview a manual note for Robert to copy or edit himself. This read-only tool does not send, store, contact anyone, scrape LinkedIn, enrich private people data, or create a draft record.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'goal': {'enum': ['applied_follow_up', 'exploratory_intro', 'referral_path'], 'type': 'string', 'default': 'exploratory_intro'}, 'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'title': {'type': 'string'}, 'channel': {'enum': ['linkedin', 'email', 'sms', 'phone', 'in_person'], 'type': 'string', 'default': 'linkedin'}, 'company': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'role_title': {'type': 'string', 'description': 'Exact role title; accepted alongside title for applied follow-up resolution.'}, 'campaign_id': {'type': 'string'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'contact_name': {'type': 'string'}, 'person_label': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_draft_outreach
Talent Scout Draft Manual Note
Draft a human-reviewed manual note from safe pains and voice evidence. The tool never sends messages and fails closed on auto-send/apply requests.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['target_name', 'pains'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'pains': {'type': 'array', 'items': {'type': 'object'}}, 'tenant_id': {'type': 'string'}, 'target_name': {'type': 'string'}, 'artifact_type': {'type': 'string', 'default': 'outreach_draft'}, 'voice_profile': {'type': 'string'}, 'voice_samples': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_explain_preferences_match
Talent Scout Preferences Match Explainer
Explain in prose how an existing saved job overlaps with and differs from the account owner's stated workplace preferences. Returns preference-language observations only, with no numbers, rankings, recommendations, decisions, or external actions.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['queue_item_id', 'owner_preferences'], 'properties': {'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': "Identifier for a job already saved in the account owner's private Talent Scout queue."}, 'owner_preferences': {'type': 'object', 'description': "The account owner's own stated workplace preferences, such as schedule, location, compensation, travel, responsibilities, and environment.", 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_form_schema_receipt
Talent Scout Form Schema Receipt
Enumerate every required and optional ATS form field before any fill attempt. Returns a stable schema hash and complete-field receipt; it never types, uploads, applies, clicks, or submits.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['fields'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'fields': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'type': {'type': 'string'}, 'label': {'type': 'string'}, 'options': {'type': 'array', 'items': {'type': 'string'}}, 'field_id': {'type': 'string'}, 'required': {'type': 'boolean'}, 'dom_index': {'type': 'integer'}}, 'additionalProperties': False}}, 'submit': {'type': 'boolean', 'default': False}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_generate_finished_resume
Talent Scout Generate Finished Resume
Generate a tenant-scoped, draft-only standalone resume from a hydrated role and stored applicant proof bank, export it to PDF through Artifact Studio, and return a render-readback receipt. It never sends, applies, or approves external use.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['idempotency_key'], 'properties': {'title': {'type': 'string'}, 'company': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'requisition_id': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'description': 'Stable replay-safe generation/export identity.'}, 'canonical_job_id': {'type': 'string'}, 'job_description_text': {'type': 'string', 'description': 'Optional private owner-supplied JD evidence for a thin stored role.'}, 'portal_application_id': {'type': 'string'}, 'user_supplied_jd_text': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_import_byoc_delta
Talent Scout Import BYOC Delta
Import a guarded BYOC-local Talent Scout queue delta into the cloud queue. This is closed-world queue bookkeeping only: it never applies, sends, clicks, or submits anything automatically.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'delta': {'type': 'object', 'additionalProperties': True}, 'roles': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'source': {'type': 'string'}, 'packets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'contacts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'direction': {'enum': ['byoc_to_cloud'], 'type': 'string'}, 'tenant_id': {'type': 'string'}, 'idempotency_key': {'type': 'string'}, 'queue_sync_version': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_mail_signals
Talent Scout Mail Signals
Read Talent Scout mail-signal status from the same server-side Gmail reconciliation path used by review_queue. This is the reliable StackFast replacement for local BYOC scout.mail_signals when the cleverq.net/local tunnel is down: it never calls a client Gmail connector, never returns raw mail bodies, and fails soft with mailbox_reconciliation_status instead of a bare 502.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_my_profile_status
Talent Scout My Profile Status
Read a compact, redacted readiness receipt for the account owner's private Talent Scout profile setup, including profile_version_updated_at for guarded writes through either public profile-upsert alias. Returns only setup status, compose readiness, and active search-rail readiness; never returns raw resume, LinkedIn, work history, claims, or private owner profile text.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_my_profile_upsert
Talent Scout Profile Setup Upsert
Create or update the account owner's private Talent Scout profile setup once so compose, fit, and packet tools can reuse self-entered resume, LinkedIn, proof-point, preference, and voice evidence without re-pasting it for every role. Existing profiles require the current profile_version_updated_at from Talent Scout My Profile Status as if_match_updated_at. Stores private owner evidence for proof mapping and never returns raw resume or LinkedIn text.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'mode': {'enum': ['merge', 'replace'], 'type': 'string', 'default': 'merge'}, 'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview the redacted owner-profile update without writing stored resume, LinkedIn, proof, or rail evidence. Use this for connector smoke tests.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'proof_points': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'work_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'claims_ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'voice_profile': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'outreach_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'interview_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'owner_profile_text': {'type': 'string', 'description': 'Private owner profile setup notes. Stored tenant-scoped and never returned raw.'}, 'resume_variant_ids': {'type': 'array', 'items': {'type': 'string'}}, 'travel_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'work_style_profile': {'type': 'string', 'description': 'Private, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.'}, 'application_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'if_match_updated_at': {'type': 'string', 'description': 'Optimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Private baseline resume text. Stored tenant-scoped and never returned raw.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'geography_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'linkedin_profile_text': {'type': 'string', 'description': 'Private LinkedIn profile paste/export when LinkedIn blocks automated fetch. Stored tenant-scoped and never returned raw.'}, 'compensation_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'replace_string_array_fields': {'type': 'array', 'items': {'enum': ['travel_preferences'], 'type': 'string'}, 'description': 'Replace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_person_research_notes
Talent Scout Find Company Contacts
Generate public contact-research labels and safe LinkedIn search queries so the account owner can decide who to review manually. No LinkedIn scraping, no auto-connect, no auto-message; human review required.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 3, 'maximum': 5, 'minimum': 1}, 'role_lane': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_pipeline_describe
Talent Scout Pipeline Describe
Return a compact Talent Scout readiness receipt: pipeline version, surface mode, callable tool groups, and manual-review safety flags. Read-only.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_profile_status
Talent Scout My Profile Status
Read a compact, redacted readiness receipt for the account owner's private Talent Scout profile setup, including profile_version_updated_at for guarded writes through either public profile-upsert alias. Returns only setup status, compose readiness, and active search-rail readiness; never returns raw resume, LinkedIn, work history, claims, or private owner profile text.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_profile_upsert
Talent Scout Profile Setup Upsert
Create or update the account owner's private Talent Scout profile setup once so compose, fit, and packet tools can reuse self-entered resume, LinkedIn, proof-point, preference, and voice evidence without re-pasting it for every role. Existing profiles require the current profile_version_updated_at from Talent Scout My Profile Status as if_match_updated_at. Stores private owner evidence for proof mapping and never returns raw resume or LinkedIn text.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'mode': {'enum': ['merge', 'replace'], 'type': 'string', 'default': 'merge'}, 'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview the redacted owner-profile update without writing stored resume, LinkedIn, proof, or rail evidence. Use this for connector smoke tests.'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'proof_points': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'work_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'claims_ledger': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'voice_profile': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'outreach_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'interview_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'owner_profile_text': {'type': 'string', 'description': 'Private owner profile setup notes. Stored tenant-scoped and never returned raw.'}, 'resume_variant_ids': {'type': 'array', 'items': {'type': 'string'}}, 'travel_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'work_style_profile': {'type': 'string', 'description': 'Private, owner-provided work-style guidance. Stored tenant-scoped and never returned raw.'}, 'application_history': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'if_match_updated_at': {'type': 'string', 'description': 'Optimistic concurrency guard. Required for every update to an existing profile so concurrent merge or replace writes cannot shrink or overwrite stored history.'}, 'baseline_resume_text': {'type': 'string', 'description': 'Private baseline resume text. Stored tenant-scoped and never returned raw.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'geography_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'linkedin_profile_text': {'type': 'string', 'description': 'Private LinkedIn profile paste/export when LinkedIn blocks automated fetch. Stored tenant-scoped and never returned raw.'}, 'compensation_preferences': {'type': 'array', 'items': {'type': 'string'}}, 'replace_string_array_fields': {'type': 'array', 'items': {'enum': ['travel_preferences'], 'type': 'string'}, 'description': 'Replace only the named preference array under if_match_updated_at. Use for a superseding travel policy without replacing profile history or other preference arrays.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_reconcile_application_history
Talent Scout Reconcile Application History
Correct an owner-reported application-history state with optimistic concurrency and an append-only reconciliation receipt. Use this when an intake or imported record was incorrectly shown as applied. Preserves the history record for audit, removes not-applied records from the active application queue, and never applies, sends, or contacts anyone.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'if_match_updated_at', 'corrections'], 'properties': {'dry_run': {'type': 'boolean', 'default': False, 'description': 'Preview matched history records and the redacted reconciliation receipt without writing.'}, 'tenant_id': {'type': 'string'}, 'corrections': {'type': 'array', 'items': {'type': 'object', 'required': ['requisition_id', 'expected_application_state', 'application_state', 'reason'], 'properties': {'reason': {'type': 'string', 'description': 'Owner-approved accounting reason retained in the reconciliation receipt.'}, 'requisition_id': {'type': 'string', 'description': 'Existing requisition, req, or application-history identifier to reconcile.'}, 'application_state': {'enum': ['applied', 'not_applied'], 'type': 'string'}, 'expected_application_state': {'enum': ['applied', 'not_applied'], 'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 25, 'minItems': 1}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'if_match_updated_at': {'type': 'string', 'description': 'The exact profile_version_updated_at from applicant_profile_status. A stale value is rejected.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_record_application
Talent Scout Record Application
Record that the human manually submitted an application. A known Talent Scout queue item is preferred, but a human-attested company, title, requisition/application id, and application URL can create the same durable history-backed queue record when no live posting exists. This updates lifecycle status, schedules follow-up tasks, and records a submission receipt only; it never applies, sends, clicks, or submits anything automatically.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'notes': {'type': 'string', 'description': 'Optional human note stored in the receipt response only.'}, 'title': {'type': 'string', 'description': 'Human-attested role title when no queue_item_id exists.'}, 'company': {'type': 'string', 'description': 'Required with title, requisition_id/application_id, and apply_url when no queue_item_id exists.'}, 'actor_id': {'type': 'string', 'description': 'Optional actor label for the manual receipt.'}, 'apply_url': {'type': 'string', 'description': 'Exact human-attested application or employer portal URL. It is retained as provenance, not live-verification proof.'}, 'tenant_id': {'type': 'string'}, 'submitted_at': {'type': 'string', 'description': 'Optional ISO timestamp for the manual submission. Defaults to now.'}, 'queue_item_id': {'type': 'string', 'description': 'Talent Scout queue item that Robert manually submitted.'}, 'application_id': {'type': 'string', 'description': 'Human-attested application identifier; used when a requisition_id is unavailable.'}, 'requisition_id': {'type': 'string', 'description': 'Human-attested requisition or employer application identifier when no queue_item_id exists.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_record_manual_note
Talent Scout Record Manual Note Receipt
Record a human decision and receipt on a Talent Scout manual-note draft. This is closed-world tracking only: it never sends email, LinkedIn messages, phone calls, or applications automatically. Use sent_text only to store text the human already handled manually.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['manual_note_id', 'decision'], 'properties': {'goal': {'enum': ['applied_follow_up', 'exploratory_intro', 'referral_path'], 'type': 'string'}, 'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'notes': {'type': 'string'}, 'channel': {'enum': ['linkedin', 'email', 'sms', 'phone', 'in_person'], 'type': 'string'}, 'summary': {'type': 'string', 'description': 'Factual summary of the already-completed human outreach.'}, 'decision': {'enum': ['approved_for_manual_send', 'copied_for_manual_send', 'edit_requested', 'rejected', 'sent_manually_reported', 'follow_up_due', 'accepted', 'replied', 'no_action'], 'type': 'string', 'description': 'Human decision to record. No option sends anything automatically.'}, 'sent_text': {'type': 'string', 'description': 'Exact text the human actually sent manually. Talent Scout stores this receipt but never sends it.'}, 'tenant_id': {'type': 'string'}, 'draft_text': {'type': 'string'}, 'role_title': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'description': 'ISO-8601 time the human completed the outreach.'}, 'person_name': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'contact_name': {'type': 'string'}, 'person_label': {'type': 'string'}, 'next_touch_at': {'type': 'string', 'description': 'Optional ISO-8601 next human follow-up time.'}, 'queue_item_id': {'type': 'string'}, 'application_id': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'manual_note_id': {'type': 'string'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key for the immutable relationship receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'edited_draft_text': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_record_queue_decision
Talent Scout Record Opportunity Decision
Record the account owner's manual decision on an existing Talent Scout queue item: keep, top priority, hold/revisit, pass, or not-a-fit. This is closed-world queue bookkeeping only; it never sends outreach, applies, clicks, submits, screens people, ranks people for hiring, or contacts anyone.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['decision'], 'properties': {'send': {'type': 'boolean', 'default': False}, 'apply': {'type': 'boolean', 'default': False}, 'title': {'type': 'string', 'description': 'Exact role title lookup when queue_item_id is not known.'}, 'reason': {'type': 'string', 'description': 'Human note explaining the decision.'}, 'company': {'type': 'string', 'description': 'Exact company lookup when queue_item_id is not known.'}, 'actor_id': {'type': 'string', 'description': 'Optional actor label for the manual receipt.'}, 'decision': {'enum': ['keep', 'top_priority', 'hold', 'revisit', 'pass', 'not_a_fit'], 'type': 'string', 'description': 'Manual owner decision. pass/not_a_fit suppress the row from active review unless include_archived is requested.'}, 'tenant_id': {'type': 'string'}, 'queue_item_id': {'type': 'string', 'description': 'Preferred exact Talent Scout queue item id.'}, 'revisit_after': {'type': 'string', 'description': 'Optional ISO date/time or human-readable revisit cue for hold/revisit decisions.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_record_relationship_activity
Talent Scout Record Relationship Activity
Record one human-reported email, LinkedIn, SMS, call, or visit in the existing StackFast Relationship Core. Returns an immutable, idempotent receipt and makes follow-up state visible in Talent Scout. It never sends, scrapes, applies, submits, or changes candidacy status.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['tenant_id', 'idempotency_key', 'channel', 'direction', 'company', 'contact_name', 'occurred_at', 'summary'], 'properties': {'channel': {'enum': ['email', 'linkedin', 'sms', 'call', 'visit'], 'type': 'string'}, 'company': {'type': 'string'}, 'summary': {'type': 'string', 'description': 'Factual summary of the already-completed human activity (maximum 5,000 characters; longer input is rejected and never silently truncated).'}, 'direction': {'enum': ['inbound', 'outbound', 'lifecycle'], 'type': 'string', 'description': 'Explicitly state whether the employer/contact initiated this activity, the candidate initiated it, or it is a system lifecycle event. No direction is inferred.'}, 'tenant_id': {'type': 'string'}, 'occurred_at': {'type': 'string', 'description': 'ISO-8601 timestamp for the human-completed activity.'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'artifact_url': {'type': 'string', 'description': 'Optional governed evidence URL; no artifact body is copied.'}, 'contact_name': {'type': 'string'}, 'next_touch_at': {'type': 'string', 'description': 'Optional ISO-8601 follow-up time.'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'idempotency_key': {'type': 'string', 'description': 'Caller-stable key that makes retries return the original immutable receipt.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'related_queue_item_id': {'type': 'string'}, 'related_application_id': {'type': 'string'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_review_queue
Talent Scout Review Queue
Read the account owner's own first-party Talent Scout job-search work queue for real synced board roles, draft opportunities, packets, follow-up items, and the daily reconciliation report. This is not an employer review queue, applicant screening queue, candidate ranking system, or hiring decision tool. Mailbox reconciliation runs server-side via the StackFast service-account reader. Clients MUST NOT invoke their own Gmail/email connector; if mailbox_reconciliation_status is not ok, surface the red receipt and stop instead of substituting a client-side mailbox read. Surfaces open roles, direct-URL verification needs, waiting/follow-up buckets, preference filters, and today's slate. Robert's connector resolves to tenant robert and demo rows are quarantined away. Review only; no sends or applications.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'run_id': {'type': 'string'}, 'status': {'type': 'string'}, 'compact': {'type': 'boolean', 'default': True, 'description': 'Return compact queue metadata and a daily_pipeline_summary instead of heavy control-tower sections.'}, 'profile': {'type': 'object', 'description': 'Alias for owner_profile when reviewing stale queue items.'}, 'tenant_id': {'type': 'string'}, 'include_items': {'type': 'boolean', 'default': True, 'description': 'When false, return health/counts/timing only without loading queue item payloads. Use for fast connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Optional owner preference context used to refresh stale zero-score queue items inside this tenant only.'}, 'include_detail': {'type': 'boolean', 'default': False, 'description': 'When true, include full queue item payloads. Defaults false so hosted MCP review_queue stays small and fast.'}, 'include_applied': {'type': 'boolean', 'default': False, 'description': 'Include already-applied rows. Defaults false unless explicitly reviewing follow-up history.'}, 'include_archived': {'type': 'boolean', 'default': False, 'description': 'Include archived, rejected, passed, stale, or already-applied rows. Defaults false for active work queues.'}, 'include_sync_delta': {'type': 'boolean', 'default': False, 'description': 'When true, include a guarded scout.import_delta-compatible cloud-to-BYOC queue sync payload. Defaults false.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_role_review
Talent Scout Role Review
Compare a role text with the account owner's own saved preferences using a deterministic checklist so Robert can decide whether to review or apply manually. Returns transparent self-review data; no outbound action.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'target': {'type': 'object', 'description': 'Structured role text or object.'}, 'profile': {'type': 'object', 'description': "Optional owner profile. Defaults to Robert's safe Talent Scout profile for public connector smoke tests."}, 'tenant_id': {'type': 'string'}, 'target_text': {'type': 'string', 'description': 'Plain-language target role text for lightweight connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Alias for profile.'}, 'min_review_threshold': {'type': 'integer', 'default': 0, 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_scan_company_for_roles
Talent Scout Scan Company For Roles
Preview a qualified company target for direct careers URLs and role-lane matches. Returns verified status receipts such as company_careers_open_role, needs_human_url_verification, needs_jd_hydration, or careers_page_no_relevant_role. Read-only by default: it returns exact role records for human review, does not persist queue rows unless persist_results is explicitly true, and never invents jobs.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'tenant_id': {'type': 'string'}, 'source_url': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'careers_url': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'company_name': {'type': 'string'}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'company_domain': {'type': 'string', 'description': 'Backward-compatible alias for company_homepage_url; bare domains are normalized to https://<domain>.'}, 'persist_results': {'type': 'boolean', 'default': False, 'description': 'When true, persist verified role records and role-scan receipts to Talent Scout. Defaults false so hosted MCP scans remain read-only previews for human review.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'company_target_id': {'type': 'string'}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'eligible_countries': {'type': 'array', 'items': {'type': 'string'}, 'default': ['US']}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Backward-compatible no-op for this scanner; official ATS/API scans are preferred when available.'}, 'company_homepage_url': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_score_fit
Talent Scout Role Review
Compare a role text with the account owner's own saved preferences using a deterministic checklist so Robert can decide whether to review or apply manually. Returns transparent self-review data; no outbound action.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'target': {'type': 'object', 'description': 'Structured role text or object.'}, 'profile': {'type': 'object', 'description': "Optional owner profile. Defaults to Robert's safe Talent Scout profile for public connector smoke tests."}, 'tenant_id': {'type': 'string'}, 'target_text': {'type': 'string', 'description': 'Plain-language target role text for lightweight connector smoke tests.'}, 'owner_profile': {'type': 'object', 'description': 'Alias for profile.'}, 'min_review_threshold': {'type': 'integer', 'default': 0, 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_search_opportunities
Talent Scout Search Opportunities
Run fresh governed public-opportunity discovery for the account owner to find roles they may review and apply to manually. If live discovery is unavailable or empty, returns fresh_discovery_count: 0 and does not substitute the existing review queue. Draft/review only; never applies or sends messages.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'lane': {'enum': ['J', 'C'], 'type': 'string', 'default': 'J'}, 'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Plain-language opportunity search.'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'min_score': {'type': 'integer', 'default': 60, 'maximum': 100, 'minimum': 0}, 'tenant_id': {'type': 'string'}, 'owner_profile': {'type': 'object', 'description': 'Safe owner preference facts and positioning for local review.'}, 'include_tracked': {'type': 'boolean', 'default': False, 'description': 'When true, include tracked-board comparison metadata. Search results still do not return the review queue.'}, 'allow_live_firecrawl': {'type': 'boolean', 'default': False, 'description': 'Run the approved live-discovery adapter. Costs are governed by the FireCrawl budget gate and kill switch.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_set_search_rails
Talent Scout Set Search Rails
Persist the active Talent Scout search strategy for a tenant: target lanes, compensation floor, geography, positive/negative filters, resume-variant priority, travel posture, and voice anchor. Future search, fit, review, compose, packet, and note calls load these rails by default until superseded.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['rail_name'], 'properties': {'active': {'type': 'boolean', 'default': True}, 'reason': {'type': 'string'}, 'priority': {'type': 'string', 'default': 'primary'}, 'geography': {'type': 'array', 'items': {'type': 'string'}}, 'rail_name': {'type': 'string'}, 'tenant_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'age_strategy': {'type': 'object', 'additionalProperties': True}, 'target_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'voice_anchor': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'owner_profile_id': {'type': 'string'}, 'positive_filters': {'type': 'array', 'items': {'type': 'string'}}, 'compensation_floor': {'type': 'string'}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'resume_variant_priority': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
talent_scout_upsert_campaign_profile
Talent Scout Upsert Campaign Profile
Create, update, activate, pause, or archive a saved Talent Scout direct-company discovery campaign. Campaigns define company lanes, role lanes, size, geography, comp floor, travel tolerance, negative filters, resume variant, voice anchor, and human-review requirements. Draft/review only; never sends or applies.
Solo lectura
Esquema de entrada
{'type': 'object', 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': 'string', 'default': 'active'}, 'priority': {'type': 'string', 'default': 'P1'}, 'tenant_id': {'type': 'string'}, 'campaign_id': {'type': 'string'}, 'sqlite_path': {'type': 'string', 'description': 'Optional local SQLite path for BYOC receipts; hosted cloud calls fail closed instead of reading local files.'}, 'update_mode': {'enum': ['patch', 'replace'], 'type': 'string', 'default': 'patch', 'description': 'Patch preserves omitted fields. Replace is explicit and may reapply defaults.'}, 'voice_anchor': {'type': 'string'}, 'auth_token_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso auth token. Never pass a raw token.'}, 'radius_minutes': {'type': 'integer', 'minimum': 1}, 'company_size_max': {'type': 'integer', 'minimum': 1}, 'company_size_min': {'type': 'integer', 'minimum': 0}, 'compensation_min': {'type': 'string'}, 'contact_strategy': {'type': 'object', 'additionalProperties': True}, 'database_url_key': {'type': 'string', 'description': 'Optional wallet/env key name for the tenant Turso database URL. Never pass a raw URL or secret.'}, 'expanded_regions': {'type': 'array', 'items': {'type': 'string'}}, 'expected_version': {'type': 'string', 'description': 'Optional optimistic concurrency token from campaign.updated_at. A mismatch fails without writing.'}, 'geography_anchor': {'type': 'string'}, 'negative_filters': {'type': 'array', 'items': {'type': 'string'}}, 'target_role_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'eligible_countries': {'type': 'array', 'items': {'type': 'string'}, 'default': ['US'], 'description': 'Backward-compatible campaign-level work-authorization hint. The stored owner policy still owns the hard country gate.'}, 'minimum_total_comp': {'type': 'integer', 'minimum': 0}, 'seed_robert_campaign': {'type': 'boolean', 'default': False}, 'target_company_lanes': {'type': 'array', 'items': {'type': 'string'}}, 'tenant_database_type': {'enum': ['internal', 'sovereign_cloud', 'byoc'], 'type': 'string', 'description': 'Optional physical database routing mode. Omit for the default internal StackFast DB; use sovereign_cloud only with wallet-resolved tenant DB credentials.'}, 'acceptable_structures': {'type': 'array', 'items': {'type': 'string'}}, 'resume_variant_strategy': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['public_tool'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}, 'public_tool': {'type': 'string'}, 'drafts_never_sends': {'type': 'boolean'}, 'no_autonomous_outbound': {'type': 'boolean'}}, 'additionalProperties': True}
voice_intelligence_run
Voice Intelligence Run
Run the voice intelligence orchestrator over any input: an uploaded or recorded audio/video file (base64 in file), a public audio or video URL (audio_or_video_url), a PDF (pdf), an image (image), or raw text/notes (text and/or notes). Provide exactly ONE input carrier — audio_or_video_url, file, pdf, image, or text/notes. The input is normalized to a transcript via the existing transcription rails, then three composed outputs are returned: a condensed summary (with action items, decisions, and a next step), a full-verbatim polished actual script (filler removed, wording preserved, never paraphrased; call sources return a masked summary instead), and an authority report (content flywheel plan, plus an owner-facing business report when business context is provided). All outward outputs are mask-gated.
Solo lectura Acceso externo
Esquema de entrada
{'type': 'object', 'properties': {'pdf': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'PDF document payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'file': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'Uploaded or recorded audio/video (or text-carrying) file payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'text': {'type': 'string', 'description': 'Raw text input (transcription skipped). One of the five input carriers.'}, 'image': {'type': 'object', 'required': ['content_base64'], 'properties': {'file_name': {'type': 'string', 'description': 'Original file name, used for extension-based routing when present.'}, 'mime_type': {'type': 'string', 'description': 'MIME type of the payload when known.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Never pass a URL or local path here.'}}, 'description': 'Image payload, base64-encoded. One of the five input carriers.', 'additionalProperties': False}, 'notes': {'type': 'string', 'description': 'Alias for text input; merged with text when both are present. Counts as the text carrier.'}, 'title': {'type': 'string', 'description': 'Optional title for the source material.'}, 'source': {'enum': ['upload', 'recording', 'call', 'document', 'text'], 'type': 'string', 'description': "Optional input provenance. 'call' sources return a masked-summary actual script instead of full verbatim."}, 'speaker': {'type': 'string', 'description': 'Optional primary speaker name.'}, 'business': {'type': 'object', 'required': ['business_name'], 'properties': {'business_name': {'type': 'string'}}, 'description': 'Optional GrowthOS business context. Providing business_name enables the owner-facing business report inside the authority report.', 'additionalProperties': True}, 'identity': {'type': 'object', 'required': ['sender_name', 'geography'], 'properties': {'geography': {'type': 'string'}, 'sender_name': {'type': 'string'}}, 'description': 'Optional local identity used by the owner-facing business report.', 'additionalProperties': False}, 'audio_or_video_url': {'type': 'string', 'description': 'Public audio or video URL to transcribe (YouTube caption rail or upload transcription). One of the five input carriers.'}}, 'description': 'Exactly one input carrier must be provided: audio_or_video_url, file, pdf, image, or text/notes.', 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['schema_version', 'input_kind', 'transcript', 'transcript_source', 'summary', 'actual_script', 'authority_report', 'receipts'], 'properties': {'llm': {'type': ['object', 'null'], 'additionalProperties': True}, 'summary': {'type': 'object', 'required': ['summary', 'action_items', 'decisions', 'next_step'], 'properties': {'summary': {'type': 'string'}, 'decisions': {'type': 'array', 'items': {'type': 'string'}}, 'next_step': {'type': 'string'}, 'action_items': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'receipts': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'input_kind': {'enum': ['audio_video_url', 'file_upload', 'pdf', 'image', 'text'], 'type': 'string'}, 'transcript': {'type': 'string'}, 'actual_script': {'type': 'object', 'required': ['mode', 'text', 'note'], 'properties': {'mode': {'enum': ['full_verbatim', 'masked_summary'], 'type': 'string'}, 'note': {'type': 'string'}, 'text': {'type': 'string'}}, 'additionalProperties': False}, 'schema_version': {'type': 'string'}, 'authority_report': {'type': 'object', 'required': ['flywheel_plan'], 'properties': {'flywheel_plan': {'type': 'object', 'additionalProperties': True}, 'owner_facing_report': {'type': ['object', 'null'], 'additionalProperties': True}}, 'additionalProperties': True}, 'transcript_source': {'enum': ['youtube_captions', 'whisper_upload', 'document_extract', 'gemini_document', 'text_passthrough'], 'type': 'string'}}, 'additionalProperties': False}
Añadido
boot_status
17 de September de 2026 a las 12:52
Añadido
fetch
17 de September de 2026 a las 12:52
Añadido
search
17 de September de 2026 a las 12:52
Añadido
voice_intelligence_run
17 de September de 2026 a las 12:52
Añadido
talent_scout_generate_finished_resume
17 de September de 2026 a las 12:52
Añadido
talent_scout_application_workup
17 de September de 2026 a las 12:52
Añadido
talent_scout_mail_signals
17 de September de 2026 a las 12:52
Añadido
talent_scout_daily_pipeline
17 de September de 2026 a las 12:52
Añadido
talent_scout_review_queue
17 de September de 2026 a las 12:52
Añadido
talent_scout_draft_outreach
17 de September de 2026 a las 12:52
Añadido
talent_scout_compose_application
17 de September de 2026 a las 12:52
Añadido
talent_scout_create_packet
17 de September de 2026 a las 12:52
Añadido
talent_scout_explain_preferences_match
17 de September de 2026 a las 12:52
Añadido
talent_scout_score_fit
17 de September de 2026 a las 12:52
Añadido
talent_scout_role_review
17 de September de 2026 a las 12:52
Añadido
talent_scout_search_opportunities
17 de September de 2026 a las 12:52
Añadido
talent_scout_pipeline_describe
17 de September de 2026 a las 12:52
Añadido
talent_scout_import_byoc_delta
17 de September de 2026 a las 12:52
Añadido
talent_scout_record_queue_decision
17 de September de 2026 a las 12:52
Añadido
talent_scout_browser_fill_receipt
17 de September de 2026 a las 12:52
Añadido
talent_scout_form_schema_receipt
17 de September de 2026 a las 12:52
Añadido
talent_scout_record_application
17 de September de 2026 a las 12:52
Añadido
talent_scout_correct_relationship_activity
17 de September de 2026 a las 12:52
Añadido
talent_scout_record_relationship_activity
17 de September de 2026 a las 12:52
Añadido
talent_scout_record_manual_note
17 de September de 2026 a las 12:52
Añadido
talent_scout_draft_manual_note
17 de September de 2026 a las 12:52
Añadido
talent_scout_business_email_receipt
17 de September de 2026 a las 12:52
Añadido
talent_scout_person_research_notes
17 de September de 2026 a las 12:52
Añadido
talent_scout_scan_company_for_roles
17 de September de 2026 a las 12:52
Añadido
talent_scout_discover_local_companies
17 de September de 2026 a las 12:52