"use strict";
/**
 * Demo Workspace (W4.1 of F-NEW-PRODUCT-AGENT-VISIBILITY-CLUSTER-2026-05-12).
 *
 * Pre-built collection of 25 synthetic agent manifests across the major
 * frameworks. Used by the no-install demo flow on my-cc.io — prospects can
 * "Run Demo" without supplying their own code. Every manifest is scan-able
 * and auto-pack-generatable end-to-end through the W1.7 + W2.3 path.
 *
 * Verticals covered: healthcare, finance, legal, retail, manufacturing,
 * education, devtools, government, hospitality.
 *
 * No external dependencies — pure data + a small accessor so this module
 * bundles cleanly for browser-side demo rendering.
 *
 * @connexum/ai-governance  F-NEW-PRODUCT-DEMO-WORKSPACE
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEMO_AGENTS = void 0;
exports.getDemoWorkspace = getDemoWorkspace;
const capability_classes_js_1 = require("./capability-classes.js");
function makeAgent(agentId, vertical, framework, description, fields, expectedScoreBand) {
    return {
        agentId,
        name: agentId,
        tools: [],
        hooks: { preToolUse: false, postToolUse: false, postResponse: false },
        rateLimitsConfigured: false,
        pluginIntegrityVerified: false,
        declaredApprovalGates: [],
        declaredForbiddenCapabilities: [],
        ...fields,
        vertical,
        framework,
        description,
        expectedScoreBand,
    };
}
exports.DEMO_AGENTS = [
    // ---- Healthcare ----
    makeAgent('hc-claim-summarizer', 'healthcare', 'claude-code', 'Summarizes inbound claims for adjudicator review.', {
        tools: ['Read', 'WebFetch'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'NEEDS_REVIEW'),
    makeAgent('hc-phi-router', 'healthcare', 'openai-agents', 'Routes PHI-tagged messages to the correct downstream system.', {
        tools: ['email_send', 'postgres_query', 'Bash'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    makeAgent('hc-eligibility-bot', 'healthcare', 'claude-code', 'Checks payer eligibility against external APIs.', {
        tools: ['WebFetch', 'Read', 'Write'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
    }, 'CRITICAL'),
    // ---- Finance ----
    makeAgent('fin-fraud-reviewer', 'finance', 'langgraph', 'Reviews fraud alerts and escalates suspicious transactions.', {
        tools: ['postgres_query', 'kafka_publish', 'email_send'],
        llmProvider: 'connexum-proxy/anthropic',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
        declaredApprovalGates: [
            { capability: capability_classes_js_1.CAPABILITY_CLASS.EXTERNAL_DB_WRITE, reviewer: 'fraud-lead' },
        ],
    }, 'EXCELLENT'),
    makeAgent('fin-trade-executor', 'finance', 'openai-agents', 'Executes paper trades against a sandbox broker.', {
        tools: ['http_post', 'Bash', 'postgres_query'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    makeAgent('fin-treasury-bot', 'finance', 'crew-ai', 'Tracks daily cash positions and posts treasury reports.', {
        tools: ['postgres_query', 'Write', 'email_send'],
        llmProvider: 'connexum-proxy/openai',
        hooks: { preToolUse: true, postToolUse: true, postResponse: false },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'CRITICAL'),
    // ---- Legal ----
    makeAgent('lg-discovery-bot', 'legal', 'langchain', 'E-discovery: surfaces relevant documents across litigation corpora.', {
        tools: ['vector_search', 'Read'],
        llmProvider: 'connexum-proxy/anthropic',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'GOOD'),
    makeAgent('lg-contract-redliner', 'legal', 'openai-agents', 'Redlines contract drafts against the firm standard playbook.', {
        tools: ['Read', 'Edit', 'WebFetch'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    // ---- Retail ----
    makeAgent('re-pricing-bot', 'retail', 'crew-ai', 'Adjusts SKU prices nightly based on competitor scraping.', {
        tools: ['WebFetch', 'postgres_query', 'Bash'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    makeAgent('re-customer-care', 'retail', 'claude-code', 'Triage customer-care tickets via chat history.', {
        tools: ['Read', 'email_send'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'NEEDS_REVIEW'),
    // ---- Manufacturing ----
    makeAgent('mf-yield-analyzer', 'manufacturing', 'langgraph', 'Analyses sensor telemetry for yield-loss patterns.', {
        tools: ['postgres_query', 'Write'],
        llmProvider: 'connexum-proxy/anthropic',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'CRITICAL'),
    makeAgent('mf-mes-writer', 'manufacturing', 'openai-agents', 'Writes MES override flags during shift changes.', {
        tools: ['postgres_query', 'Bash'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    // ---- Education ----
    makeAgent('ed-grading-assistant', 'education', 'claude-code', 'Pre-grades short-answer responses for instructor review.', {
        tools: ['Read', 'Write'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: false, postResponse: true },
    }, 'CRITICAL'),
    makeAgent('ed-tutor-bot', 'education', 'crew-ai', 'One-to-one tutoring conversations with curriculum binding.', {
        tools: ['vector_search', 'Read'],
        llmProvider: 'connexum-proxy/openai',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'GOOD'),
    // ---- DevTools ----
    makeAgent('dt-incident-responder', 'devtools', 'claude-code', 'Pages on-call and drafts incident retrospectives.', {
        tools: ['Bash', 'http_post', 'Write'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        declaredApprovalGates: [
            { capability: capability_classes_js_1.CAPABILITY_CLASS.SHELL_EXEC, reviewer: 'sre-on-call' },
        ],
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'NEEDS_REVIEW'),
    makeAgent('dt-code-reviewer', 'devtools', 'openai-agents', 'Reviews PRs for the engineering team.', {
        tools: ['Read', 'WebFetch', 'Write'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    makeAgent('dt-deploy-bot', 'devtools', 'langchain', 'Promotes builds from staging to production.', {
        tools: ['Bash', 'http_post'],
        llmProvider: 'langchain',
    }, 'CRITICAL'),
    // ---- Government ----
    makeAgent('gov-foia-handler', 'government', 'claude-code', 'Redacts FOIA responses against PII rules.', {
        tools: ['Read', 'Write'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
        declaredForbiddenCapabilities: [capability_classes_js_1.CAPABILITY_CLASS.NETWORK_EGRESS],
    }, 'NEEDS_REVIEW'),
    makeAgent('gov-benefits-screener', 'government', 'crew-ai', 'Pre-screens benefits applications for case workers.', {
        tools: ['postgres_query', 'Read'],
        llmProvider: 'connexum-proxy/anthropic',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'NEEDS_REVIEW'),
    // ---- Hospitality ----
    makeAgent('hp-reservations-bot', 'hospitality', 'openai-agents', 'Handles booking modifications across channel-managers.', {
        tools: ['http_post', 'postgres_query'],
        llmProvider: 'openai/agents-sdk',
    }, 'CRITICAL'),
    // ---- Cross-vertical MCP-heavy agents ----
    makeAgent('shared-mcp-orchestrator', 'devtools', 'mcp', 'Generic MCP orchestrator wiring multiple MCP servers together.', {
        tools: ['mcp__github', 'mcp__filesystem', 'mcp__postgres'],
        mcpServers: ['stdio:mcp-server-github', 'stdio:mcp-server-fs', 'stdio:mcp-server-postgres'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: false, postResponse: false },
    }, 'CRITICAL'),
    makeAgent('shared-rag-retriever', 'finance', 'langchain', 'RAG retriever that hits internal vector store and external APIs.', {
        tools: ['vector_search', 'WebFetch'],
        llmProvider: 'connexum-proxy/openai',
        hooks: { preToolUse: true, postToolUse: false, postResponse: true },
    }, 'CRITICAL'),
    makeAgent('shared-summarizer', 'education', 'openai-agents', 'Pure text summarizer — no tools, just LLM reasoning.', {
        tools: [],
        llmProvider: 'connexum-proxy/openai',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
        declaredForbiddenCapabilities: [
            capability_classes_js_1.CAPABILITY_CLASS.MCP,
            capability_classes_js_1.CAPABILITY_CLASS.WEB_FETCH,
            capability_classes_js_1.CAPABILITY_CLASS.SHELL_EXEC,
            capability_classes_js_1.CAPABILITY_CLASS.FILESYSTEM_WRITE,
            capability_classes_js_1.CAPABILITY_CLASS.EXTERNAL_DB_WRITE,
        ],
    }, 'EXCELLENT'),
    makeAgent('shared-classifier', 'retail', 'crew-ai', 'Tags inbound messages by intent.', {
        tools: ['Read'],
        llmProvider: 'connexum-proxy/anthropic',
        hooks: { preToolUse: true, postToolUse: true, postResponse: true },
        pluginIntegrityVerified: true,
        rateLimitsConfigured: true,
    }, 'GOOD'),
    makeAgent('shared-archive-bot', 'legal', 'claude-code', 'Archives closed matters to cold storage.', {
        tools: ['Read', 'Write', 'Bash'],
        llmProvider: 'anthropic/claude-code',
        hooks: { preToolUse: true, postToolUse: false, postResponse: false },
    }, 'CRITICAL'),
];
function getDemoWorkspace(filter) {
    const agents = filter?.vertical
        ? exports.DEMO_AGENTS.filter((a) => a.vertical === filter.vertical)
        : [...exports.DEMO_AGENTS];
    const verticals = Array.from(new Set(agents.map((a) => a.vertical))).sort();
    return { agents, verticals };
}
//# sourceMappingURL=demo-workspace.js.map