package = 'diver-ai'
version = '0.1.0-1'
source = {
    url = 'git+https://github.com/qompassai/luarocks.git',
    dir = 'luarocks/ai',
}
description = {
    summary = 'Diver AI suite: ai.* harness (registry/supervisor/policy), MCP, ACP, A2A, herd, rose integration, media, recon, plus salesforce.mcp.',
    homepage = 'https://github.com/qompassai/luarocks',
    license = 'Apache-2.0',
}
dependencies = {
    'lua >= 5.1',
    'diver-utils >= 0.1.0',
    'diver-security >= 0.1.0',
    'diver-dap >= 0.1.0',
}
build = {
    type = 'builtin',
    modules = {
        ['ai'] = 'lua/ai/init.lua',
        ['ai.a2a'] = 'lua/ai/a2a/init.lua',
        ['ai.a2a.agent_card'] = 'lua/ai/a2a/agent_card.lua',
        ['ai.a2a.client'] = 'lua/ai/a2a/client.lua',
        ['ai.a2a.commands'] = 'lua/ai/a2a/commands.lua',
        ['ai.a2a.fanout'] = 'lua/ai/a2a/fanout.lua',
        ['ai.a2a.orchestrator'] = 'lua/ai/a2a/orchestrator.lua',
        ['ai.a2a.sdk_drivers'] = 'lua/ai/a2a/sdk_drivers.lua',
        ['ai.a2a.sdks'] = 'lua/ai/a2a/sdks.lua',
        ['ai.a2a.tasks'] = 'lua/ai/a2a/tasks.lua',
        ['ai.a2a.ui'] = 'lua/ai/a2a/ui.lua',
        ['ai.acp'] = 'lua/ai/acp/init.lua',
        ['ai.acp.commands'] = 'lua/ai/acp/commands.lua',
        ['ai.acp.health'] = 'lua/ai/acp/health.lua',
        ['ai.acp.permissions'] = 'lua/ai/acp/permissions.lua',
        ['ai.acp.protocol'] = 'lua/ai/acp/protocol.lua',
        ['ai.acp.registry'] = 'lua/ai/acp/registry.lua',
        ['ai.acp.rpc'] = 'lua/ai/acp/rpc.lua',
        ['ai.acp.session'] = 'lua/ai/acp/session.lua',
        ['ai.acp.store'] = 'lua/ai/acp/store.lua',
        ['ai.acp.ui'] = 'lua/ai/acp/ui.lua',
        ['ai.agx'] = 'lua/ai/agx.lua',
        ['ai.builder'] = 'lua/ai/builder/init.lua',
        ['ai.builder.commands'] = 'lua/ai/builder/commands.lua',
        ['ai.builder.menu'] = 'lua/ai/builder/menu.lua',
        ['ai.builder.pipeline'] = 'lua/ai/builder/pipeline.lua',
        ['ai.builder.scip'] = 'lua/ai/builder/scip.lua',
        ['ai.builder.writer'] = 'lua/ai/builder/writer.lua',
        ['ai.bulk'] = 'lua/ai/bulk.lua',
        ['ai.cache.tiered'] = 'lua/ai/cache/tiered.lua',
        ['ai.context'] = 'lua/ai/context.lua',
        ['ai.dataaccess'] = 'lua/ai/dataaccess/init.lua',
        ['ai.dataaccess.api'] = 'lua/ai/dataaccess/api.lua',
        ['ai.dataaccess.commands'] = 'lua/ai/dataaccess/commands.lua',
        ['ai.dataaccess.confirm'] = 'lua/ai/dataaccess/confirm.lua',
        ['ai.dataaccess.log'] = 'lua/ai/dataaccess/log.lua',
        ['ai.dataaccess.paths'] = 'lua/ai/dataaccess/paths.lua',
        ['ai.dataaccess.scan'] = 'lua/ai/dataaccess/scan.lua',
        ['ai.dataaccess.scip'] = 'lua/ai/dataaccess/scip.lua',
        ['ai.dataaccess.secrets'] = 'lua/ai/dataaccess/secrets.lua',
        ['ai.dataaccess.sessions'] = 'lua/ai/dataaccess/sessions.lua',
        ['ai.dataaccess.ui'] = 'lua/ai/dataaccess/ui.lua',
        ['ai.debugbridge'] = 'lua/ai/debugbridge/init.lua',
        ['ai.debugbridge.api'] = 'lua/ai/debugbridge/api.lua',
        ['ai.debugbridge.commands'] = 'lua/ai/debugbridge/commands.lua',
        ['ai.debugbridge.log'] = 'lua/ai/debugbridge/log.lua',
        ['ai.debugbridge.scanbreak'] = 'lua/ai/debugbridge/scanbreak.lua',
        ['ai.debugbridge.sessions'] = 'lua/ai/debugbridge/sessions.lua',
        ['ai.debugbridge.ui'] = 'lua/ai/debugbridge/ui.lua',
        ['ai.harness'] = 'lua/ai/harness/init.lua',
        ['ai.harness.adapter'] = 'lua/ai/harness/adapter.lua',
        ['ai.harness.adapters.a2a'] = 'lua/ai/harness/adapters/a2a.lua',
        ['ai.harness.adapters.acp'] = 'lua/ai/harness/adapters/acp.lua',
        ['ai.harness.adapters.herd'] = 'lua/ai/harness/adapters/herd.lua',
        ['ai.harness.adapters.mcp'] = 'lua/ai/harness/adapters/mcp.lua',
        ['ai.harness.adapters.phlow'] = 'lua/ai/harness/adapters/phlow.lua',
        ['ai.harness.adapters.rose'] = 'lua/ai/harness/adapters/rose.lua',
        ['ai.harness.approval'] = 'lua/ai/harness/approval.lua',
        ['ai.harness.budget'] = 'lua/ai/harness/budget.lua',
        ['ai.harness.context'] = 'lua/ai/harness/context.lua',
        ['ai.harness.events'] = 'lua/ai/harness/events.lua',
        ['ai.harness.health'] = 'lua/ai/harness/health.lua',
        ['ai.harness.policy'] = 'lua/ai/harness/policy.lua',
        ['ai.harness.registry'] = 'lua/ai/harness/registry.lua',
        ['ai.harness.sandbox'] = 'lua/ai/harness/sandbox.lua',
        ['ai.harness.store'] = 'lua/ai/harness/store.lua',
        ['ai.harness.supervisor'] = 'lua/ai/harness/supervisor.lua',
        ['ai.harness.telemetry'] = 'lua/ai/harness/telemetry.lua',
        ['ai.harness.types'] = 'lua/ai/harness/types.lua',
        ['ai.harness.verdict'] = 'lua/ai/harness/verdict.lua',
        ['ai.herd'] = 'lua/ai/herd/init.lua',
        ['ai.herd.api'] = 'lua/ai/herd/api.lua',
        ['ai.herd.catalog'] = 'lua/ai/herd/catalog.lua',
        ['ai.herd.commands'] = 'lua/ai/herd/commands.lua',
        ['ai.herd.personas'] = 'lua/ai/herd/personas.lua',
        ['ai.herd.remotes'] = 'lua/ai/herd/remotes.lua',
        ['ai.herd.tmux'] = 'lua/ai/herd/tmux.lua',
        ['ai.herd.ui'] = 'lua/ai/herd/ui.lua',
        ['ai.herd.watch'] = 'lua/ai/herd/watch.lua',
        ['ai.huggingface'] = 'lua/ai/huggingface/init.lua',
        ['ai.huggingface.api'] = 'lua/ai/huggingface/api.lua',
        ['ai.inference.kv_policy'] = 'lua/ai/inference/kv_policy.lua',
        ['ai.inference.speculative'] = 'lua/ai/inference/speculative.lua',
        ['ai.mcp'] = 'lua/ai/mcp/init.lua',
        ['ai.mcp.client'] = 'lua/ai/mcp/client.lua',
        ['ai.mcp.commands'] = 'lua/ai/mcp/commands.lua',
        ['ai.mcp.declared'] = 'lua/ai/mcp/declared.lua',
        ['ai.mcp.declared_servers'] = 'lua/ai/mcp/declared_servers.lua',
        ['ai.mcp.discovery'] = 'lua/ai/mcp/discovery.lua',
        ['ai.mcp.registry'] = 'lua/ai/mcp/registry.lua',
        ['ai.mcp.secrets'] = 'lua/ai/mcp/secrets.lua',
        ['ai.mcp.server'] = 'lua/ai/mcp/server/init.lua',
        ['ai.mcp.server.policy'] = 'lua/ai/mcp/server/policy.lua',
        ['ai.mcp.server.protocol'] = 'lua/ai/mcp/server/protocol.lua',
        ['ai.mcp.server.stdio'] = 'lua/ai/mcp/server/stdio.lua',
        ['ai.mcp.server.tools'] = 'lua/ai/mcp/server/tools.lua',
        ['ai.mcp.skills'] = 'lua/ai/mcp/skills.lua',
        ['ai.mcp.tools'] = 'lua/ai/mcp/tools.lua',
        ['ai.mcp.ui'] = 'lua/ai/mcp/ui.lua',
        ['ai.mcp.webmcp'] = 'lua/ai/mcp/webmcp.lua',
        ['ai.media'] = 'lua/ai/media/init.lua',
        ['ai.media.commands'] = 'lua/ai/media/commands.lua',
        ['ai.media.image_provider'] = 'lua/ai/media/image_provider.lua',
        ['ai.media.registry'] = 'lua/ai/media/registry.lua',
        ['ai.media.tts_local'] = 'lua/ai/media/tts_local.lua',
        ['ai.media.ui'] = 'lua/ai/media/ui.lua',
        ['ai.media.video_probe'] = 'lua/ai/media/video_probe.lua',
        ['ai.model_request'] = 'lua/ai/model_request.lua',
        ['ai.phlow'] = 'lua/ai/phlow/init.lua',
        ['ai.phlow.client'] = 'lua/ai/phlow/client.lua',
        ['ai.phlow.schemas'] = 'lua/ai/phlow/schemas.lua',
        ['ai.phlow.transports'] = 'lua/ai/phlow/transports.lua',
        ['ai.recon'] = 'lua/ai/recon/init.lua',
        ['ai.recon.commands'] = 'lua/ai/recon/commands.lua',
        ['ai.recon.gate'] = 'lua/ai/recon/gate.lua',
        ['ai.recon.parse'] = 'lua/ai/recon/parse.lua',
        ['ai.recon.rocks'] = 'lua/ai/recon/rocks.lua',
        ['ai.recon.tools'] = 'lua/ai/recon/tools.lua',
        ['ai.retrieval.scip'] = 'lua/ai/retrieval/scip.lua',
        ['ai.retrieval.two_stage'] = 'lua/ai/retrieval/two_stage.lua',
        ['ai.rose'] = 'lua/ai/rose/init.lua',
        ['ai.rose.agent'] = 'lua/ai/rose/agent.lua',
        ['ai.rose.bridge'] = 'lua/ai/rose/bridge.lua',
        ['ai.rose.commands'] = 'lua/ai/rose/commands.lua',
        ['ai.rose.config'] = 'lua/ai/rose/config.lua',
        ['ai.rose.flow'] = 'lua/ai/rose/flow.lua',
        ['ai.rose.http'] = 'lua/ai/rose/http.lua',
        ['ai.rose.logger'] = 'lua/ai/rose/logger.lua',
        ['ai.rose.mcp'] = 'lua/ai/rose/mcp.lua',
        ['ai.rose.model'] = 'lua/ai/rose/model.lua',
        ['ai.rose.ollama'] = 'lua/ai/rose/ollama.lua',
        ['ai.rose.provider.openai'] = 'lua/ai/rose/provider/openai.lua',
        ['ai.rose.providers'] = 'lua/ai/rose/providers/init.lua',
        ['ai.rose.providers.anthropic'] = 'lua/ai/rose/providers/anthropic.lua',
        ['ai.rose.providers.chat'] = 'lua/ai/rose/providers/chat.lua',
        ['ai.rose.providers.common'] = 'lua/ai/rose/providers/common.lua',
        ['ai.rose.providers.responses'] = 'lua/ai/rose/providers/responses.lua',
        ['ai.rose.providers.sse'] = 'lua/ai/rose/providers/sse.lua',
        ['ai.rose.providers.transport'] = 'lua/ai/rose/providers/transport.lua',
        ['ai.rose.readonly_tools'] = 'lua/ai/rose/readonly_tools.lua',
        ['ai.rose.servers'] = 'lua/ai/rose/servers.lua',
        ['ai.rose.tools'] = 'lua/ai/rose/tools.lua',
        ['ai.rose.ui'] = 'lua/ai/rose/ui.lua',
        ['ai.rose.utils'] = 'lua/ai/rose/utils.lua',
        ['ai.rose.validation'] = 'lua/ai/rose/validation.lua',
        ['ai.sched'] = 'lua/ai/sched.lua',
        ['ai.webmcp.bridge'] = 'lua/ai/webmcp/bridge.lua',
        ['ai.websocket'] = 'lua/ai/websocket/init.lua',
        ['ai.websocket.client'] = 'lua/ai/websocket/client.lua',
        ['ai.websocket.frame'] = 'lua/ai/websocket/frame.lua',
        ['ai.websocket.server'] = 'lua/ai/websocket/server.lua',
        ['salesforce.mcp'] = 'lua/salesforce/mcp.lua'
    }
}
