opc-agent 4.1.1 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/channels/dingtalk.d.ts.map +1 -0
- package/dist/channels/dingtalk.js.map +1 -0
- package/dist/channels/discord.d.ts.map +1 -0
- package/dist/channels/discord.js.map +1 -0
- package/dist/channels/email.d.ts.map +1 -0
- package/dist/channels/email.js.map +1 -0
- package/dist/channels/feishu.d.ts.map +1 -0
- package/dist/channels/feishu.js.map +1 -0
- package/dist/channels/googlechat.d.ts.map +1 -0
- package/dist/channels/googlechat.js.map +1 -0
- package/dist/channels/imessage.d.ts.map +1 -0
- package/dist/channels/imessage.js.map +1 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/irc.d.ts.map +1 -0
- package/dist/channels/irc.js.map +1 -0
- package/dist/channels/line.d.ts.map +1 -0
- package/dist/channels/line.js.map +1 -0
- package/dist/channels/matrix.d.ts.map +1 -0
- package/dist/channels/matrix.js.map +1 -0
- package/dist/channels/mattermost.d.ts.map +1 -0
- package/dist/channels/mattermost.js.map +1 -0
- package/dist/channels/msteams.d.ts.map +1 -0
- package/dist/channels/msteams.js.map +1 -0
- package/dist/channels/nostr.d.ts.map +1 -0
- package/dist/channels/nostr.js.map +1 -0
- package/dist/channels/qq.d.ts.map +1 -0
- package/dist/channels/qq.js.map +1 -0
- package/dist/channels/signal.d.ts.map +1 -0
- package/dist/channels/signal.js.map +1 -0
- package/dist/channels/slack.d.ts.map +1 -0
- package/dist/channels/slack.js.map +1 -0
- package/dist/channels/sms.d.ts.map +1 -0
- package/dist/channels/sms.js.map +1 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/twitch.d.ts.map +1 -0
- package/dist/channels/twitch.js.map +1 -0
- package/dist/channels/voice-call.d.ts.map +1 -0
- package/dist/channels/voice-call.js.map +1 -0
- package/dist/channels/voice.d.ts.map +1 -0
- package/dist/channels/voice.js.map +1 -0
- package/dist/channels/web.d.ts.map +1 -0
- package/dist/channels/web.js +8 -2
- package/dist/channels/web.js.map +1 -0
- package/dist/channels/webhook.d.ts.map +1 -0
- package/dist/channels/webhook.js.map +1 -0
- package/dist/channels/websocket.d.ts.map +1 -0
- package/dist/channels/websocket.js.map +1 -0
- package/dist/channels/wechat.d.ts.map +1 -0
- package/dist/channels/wechat.js.map +1 -0
- package/dist/channels/whatsapp.d.ts.map +1 -0
- package/dist/channels/whatsapp.js.map +1 -0
- package/dist/cli/chat.d.ts.map +1 -0
- package/dist/cli/chat.js.map +1 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +261 -85
- package/dist/cli.js.map +1 -0
- package/dist/core/a2a.d.ts.map +1 -0
- package/dist/core/a2a.js.map +1 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/analytics-engine.d.ts.map +1 -0
- package/dist/core/analytics-engine.js.map +1 -0
- package/dist/core/api-server.d.ts.map +1 -0
- package/dist/core/api-server.js.map +1 -0
- package/dist/core/audio.d.ts.map +1 -0
- package/dist/core/audio.js.map +1 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/collaboration.d.ts.map +1 -0
- package/dist/core/collaboration.js.map +1 -0
- package/dist/core/compose.d.ts.map +1 -0
- package/dist/core/compose.js.map +1 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/context-discovery.d.ts.map +1 -0
- package/dist/core/context-discovery.js.map +1 -0
- package/dist/core/context-refs.d.ts.map +1 -0
- package/dist/core/context-refs.js.map +1 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/gateway.d.ts.map +1 -0
- package/dist/core/gateway.js.map +1 -0
- package/dist/core/heartbeat.d.ts.map +1 -0
- package/dist/core/heartbeat.js.map +1 -0
- package/dist/core/hitl.d.ts.map +1 -0
- package/dist/core/hitl.js.map +1 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/ide-bridge.d.ts.map +1 -0
- package/dist/core/ide-bridge.js.map +1 -0
- package/dist/core/knowledge.d.ts.map +1 -0
- package/dist/core/knowledge.js.map +1 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/node-network.d.ts.map +1 -0
- package/dist/core/node-network.js.map +1 -0
- package/dist/core/orchestrator.d.ts.map +1 -0
- package/dist/core/orchestrator.js.map +1 -0
- package/dist/core/performance.d.ts.map +1 -0
- package/dist/core/performance.js.map +1 -0
- package/dist/core/profiles.d.ts.map +1 -0
- package/dist/core/profiles.js.map +1 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/room.d.ts.map +1 -0
- package/dist/core/room.js.map +1 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +37 -15
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/sandbox.d.ts.map +1 -0
- package/dist/core/sandbox.js.map +1 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/security.d.ts.map +1 -0
- package/dist/core/security.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -0
- package/dist/core/session-manager.js.map +1 -0
- package/dist/core/streaming.d.ts.map +1 -0
- package/dist/core/streaming.js.map +1 -0
- package/dist/core/subagent.d.ts.map +1 -0
- package/dist/core/subagent.js.map +1 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/versioning.d.ts.map +1 -0
- package/dist/core/versioning.js.map +1 -0
- package/dist/core/vision.d.ts.map +1 -0
- package/dist/core/vision.js.map +1 -0
- package/dist/core/watch.d.ts.map +1 -0
- package/dist/core/watch.js.map +1 -0
- package/dist/core/workflow-graph.d.ts.map +1 -0
- package/dist/core/workflow-graph.js.map +1 -0
- package/dist/core/workflow.d.ts.map +1 -0
- package/dist/core/workflow.js.map +1 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js.map +1 -0
- package/dist/deploy/hermes.d.ts.map +1 -0
- package/dist/deploy/hermes.js.map +1 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/openclaw.d.ts.map +1 -0
- package/dist/deploy/openclaw.js.map +1 -0
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +105 -10
- package/dist/doctor.js.map +1 -0
- package/dist/eval/index.d.ts.map +1 -0
- package/dist/eval/index.js.map +1 -0
- package/dist/hub/brain-seed.d.ts.map +1 -0
- package/dist/hub/brain-seed.js.map +1 -0
- package/dist/hub/client.d.ts.map +1 -0
- package/dist/hub/client.js.map +1 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/servers/calculator-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/calculator-mcp.js.map +1 -0
- package/dist/mcp/servers/crypto-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/crypto-mcp.js.map +1 -0
- package/dist/mcp/servers/database-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/database-mcp.js.map +1 -0
- package/dist/mcp/servers/datetime-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/datetime-mcp.js.map +1 -0
- package/dist/mcp/servers/filesystem.d.ts.map +1 -0
- package/dist/mcp/servers/filesystem.js.map +1 -0
- package/dist/mcp/servers/github-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/github-mcp.js.map +1 -0
- package/dist/mcp/servers/index.d.ts.map +1 -0
- package/dist/mcp/servers/index.js.map +1 -0
- package/dist/mcp/servers/json-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/json-mcp.js.map +1 -0
- package/dist/mcp/servers/memory-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/memory-mcp.js.map +1 -0
- package/dist/mcp/servers/regex-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/regex-mcp.js.map +1 -0
- package/dist/mcp/servers/web-mcp.d.ts.map +1 -0
- package/dist/mcp/servers/web-mcp.js.map +1 -0
- package/dist/memory/context-compressor.d.ts.map +1 -0
- package/dist/memory/context-compressor.js.map +1 -0
- package/dist/memory/deepbrain.d.ts +1 -1
- package/dist/memory/deepbrain.d.ts.map +1 -0
- package/dist/memory/deepbrain.js +95 -4
- package/dist/memory/deepbrain.js.map +1 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/seed-loader.d.ts.map +1 -0
- package/dist/memory/seed-loader.js.map +1 -0
- package/dist/memory/user-profiler.d.ts.map +1 -0
- package/dist/memory/user-profiler.js.map +1 -0
- package/dist/plugins/content-filter.d.ts.map +1 -0
- package/dist/plugins/content-filter.js.map +1 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/logger.d.ts.map +1 -0
- package/dist/plugins/logger.js.map +1 -0
- package/dist/plugins/rate-limiter.d.ts.map +1 -0
- package/dist/plugins/rate-limiter.js.map +1 -0
- package/dist/protocols/a2a/client.d.ts.map +1 -0
- package/dist/protocols/a2a/client.js.map +1 -0
- package/dist/protocols/a2a/index.d.ts.map +1 -0
- package/dist/protocols/a2a/index.js.map +1 -0
- package/dist/protocols/a2a/server.d.ts.map +1 -0
- package/dist/protocols/a2a/server.js.map +1 -0
- package/dist/protocols/a2a/types.d.ts.map +1 -0
- package/dist/protocols/a2a/types.js.map +1 -0
- package/dist/protocols/a2a/utils.d.ts.map +1 -0
- package/dist/protocols/a2a/utils.js.map +1 -0
- package/dist/protocols/agui/client.d.ts.map +1 -0
- package/dist/protocols/agui/client.js.map +1 -0
- package/dist/protocols/agui/index.d.ts.map +1 -0
- package/dist/protocols/agui/index.js.map +1 -0
- package/dist/protocols/agui/server.d.ts.map +1 -0
- package/dist/protocols/agui/server.js.map +1 -0
- package/dist/protocols/agui/types.d.ts.map +1 -0
- package/dist/protocols/agui/types.js.map +1 -0
- package/dist/protocols/index.d.ts.map +1 -0
- package/dist/protocols/index.js.map +1 -0
- package/dist/protocols/mcp/agent-tools.d.ts.map +1 -0
- package/dist/protocols/mcp/agent-tools.js.map +1 -0
- package/dist/protocols/mcp/index.d.ts.map +1 -0
- package/dist/protocols/mcp/index.js.map +1 -0
- package/dist/protocols/mcp/server.d.ts.map +1 -0
- package/dist/protocols/mcp/server.js.map +1 -0
- package/dist/protocols/mcp/types.d.ts.map +1 -0
- package/dist/protocols/mcp/types.js.map +1 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/publish/index.d.ts.map +1 -0
- package/dist/publish/index.js.map +1 -0
- package/dist/scheduler/cron-engine.d.ts.map +1 -0
- package/dist/scheduler/cron-engine.js +3 -36
- package/dist/scheduler/cron-engine.js.map +1 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/schema/oad.d.ts.map +1 -0
- package/dist/schema/oad.js.map +1 -0
- package/dist/security/approval.d.ts.map +1 -0
- package/dist/security/approval.js.map +1 -0
- package/dist/security/approvals.d.ts.map +1 -0
- package/dist/security/approvals.js.map +1 -0
- package/dist/security/elevated.d.ts.map +1 -0
- package/dist/security/elevated.js.map +1 -0
- package/dist/security/guardrails.d.ts.map +1 -0
- package/dist/security/guardrails.js.map +1 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/keys.d.ts.map +1 -0
- package/dist/security/keys.js.map +1 -0
- package/dist/security/secrets.d.ts.map +1 -0
- package/dist/security/secrets.js.map +1 -0
- package/dist/skills/auto-learn.d.ts.map +1 -0
- package/dist/skills/auto-learn.js.map +1 -0
- package/dist/skills/base.d.ts.map +1 -0
- package/dist/skills/base.js.map +1 -0
- package/dist/skills/builtin/index.d.ts.map +1 -0
- package/dist/skills/builtin/index.js.map +1 -0
- package/dist/skills/document.d.ts.map +1 -0
- package/dist/skills/document.js.map +1 -0
- package/dist/skills/http.d.ts.map +1 -0
- package/dist/skills/http.js.map +1 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/marketplace.d.ts.map +1 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/skills/scheduler.d.ts.map +1 -0
- package/dist/skills/scheduler.js.map +1 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/webhook-trigger.d.ts.map +1 -0
- package/dist/skills/webhook-trigger.js.map +1 -0
- package/dist/studio/server.d.ts.map +1 -0
- package/dist/studio/server.js.map +1 -0
- package/dist/studio/templates-data.d.ts.map +1 -0
- package/dist/studio/templates-data.js.map +1 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/templates/code-reviewer.d.ts.map +1 -0
- package/dist/templates/code-reviewer.js.map +1 -0
- package/dist/templates/content-writer.d.ts.map +1 -0
- package/dist/templates/content-writer.js.map +1 -0
- package/dist/templates/customer-service.d.ts.map +1 -0
- package/dist/templates/customer-service.js.map +1 -0
- package/dist/templates/data-analyst.d.ts.map +1 -0
- package/dist/templates/data-analyst.js.map +1 -0
- package/dist/templates/executive-assistant.d.ts.map +1 -0
- package/dist/templates/executive-assistant.js.map +1 -0
- package/dist/templates/financial-advisor.d.ts.map +1 -0
- package/dist/templates/financial-advisor.js.map +1 -0
- package/dist/templates/hr-recruiter.d.ts.map +1 -0
- package/dist/templates/hr-recruiter.js.map +1 -0
- package/dist/templates/knowledge-base.d.ts.map +1 -0
- package/dist/templates/knowledge-base.js.map +1 -0
- package/dist/templates/legal-assistant.d.ts.map +1 -0
- package/dist/templates/legal-assistant.js.map +1 -0
- package/dist/templates/project-manager.d.ts.map +1 -0
- package/dist/templates/project-manager.js.map +1 -0
- package/dist/templates/sales-assistant.d.ts.map +1 -0
- package/dist/templates/sales-assistant.js.map +1 -0
- package/dist/templates/teacher.d.ts.map +1 -0
- package/dist/templates/teacher.js.map +1 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tools/builtin/browser.d.ts.map +1 -0
- package/dist/tools/builtin/browser.js.map +1 -0
- package/dist/tools/builtin/datetime.d.ts.map +1 -0
- package/dist/tools/builtin/datetime.js.map +1 -0
- package/dist/tools/builtin/file.d.ts.map +1 -0
- package/dist/tools/builtin/file.js.map +1 -0
- package/dist/tools/builtin/home-assistant.d.ts.map +1 -0
- package/dist/tools/builtin/home-assistant.js.map +1 -0
- package/dist/tools/builtin/index.d.ts.map +1 -0
- package/dist/tools/builtin/index.js.map +1 -0
- package/dist/tools/builtin/rl-tools.d.ts.map +1 -0
- package/dist/tools/builtin/rl-tools.js.map +1 -0
- package/dist/tools/builtin/shell.d.ts.map +1 -0
- package/dist/tools/builtin/shell.js.map +1 -0
- package/dist/tools/builtin/vision.d.ts.map +1 -0
- package/dist/tools/builtin/vision.js.map +1 -0
- package/dist/tools/builtin/web-search.d.ts.map +1 -0
- package/dist/tools/builtin/web-search.js.map +1 -0
- package/dist/tools/builtin/web.d.ts.map +1 -0
- package/dist/tools/builtin/web.js.map +1 -0
- package/dist/tools/calculator.d.ts.map +1 -0
- package/dist/tools/calculator.js.map +1 -0
- package/dist/tools/datetime.d.ts.map +1 -0
- package/dist/tools/datetime.js.map +1 -0
- package/dist/tools/document-processor.d.ts.map +1 -0
- package/dist/tools/document-processor.js.map +1 -0
- package/dist/tools/gateway.d.ts.map +1 -0
- package/dist/tools/gateway.js.map +1 -0
- package/dist/tools/image-generator.d.ts.map +1 -0
- package/dist/tools/image-generator.js.map +1 -0
- package/dist/tools/integrations/calendar.d.ts.map +1 -0
- package/dist/tools/integrations/calendar.js.map +1 -0
- package/dist/tools/integrations/code-exec.d.ts.map +1 -0
- package/dist/tools/integrations/code-exec.js.map +1 -0
- package/dist/tools/integrations/csv-analyzer.d.ts.map +1 -0
- package/dist/tools/integrations/csv-analyzer.js.map +1 -0
- package/dist/tools/integrations/database.d.ts.map +1 -0
- package/dist/tools/integrations/database.js.map +1 -0
- package/dist/tools/integrations/email-send.d.ts.map +1 -0
- package/dist/tools/integrations/email-send.js.map +1 -0
- package/dist/tools/integrations/git-tool.d.ts.map +1 -0
- package/dist/tools/integrations/git-tool.js.map +1 -0
- package/dist/tools/integrations/github-tool.d.ts.map +1 -0
- package/dist/tools/integrations/github-tool.js.map +1 -0
- package/dist/tools/integrations/image-gen.d.ts.map +1 -0
- package/dist/tools/integrations/image-gen.js.map +1 -0
- package/dist/tools/integrations/index.d.ts.map +1 -0
- package/dist/tools/integrations/index.js.map +1 -0
- package/dist/tools/integrations/jira.d.ts.map +1 -0
- package/dist/tools/integrations/jira.js.map +1 -0
- package/dist/tools/integrations/notion.d.ts.map +1 -0
- package/dist/tools/integrations/notion.js.map +1 -0
- package/dist/tools/integrations/npm-tool.d.ts.map +1 -0
- package/dist/tools/integrations/npm-tool.js.map +1 -0
- package/dist/tools/integrations/pdf-reader.d.ts.map +1 -0
- package/dist/tools/integrations/pdf-reader.js.map +1 -0
- package/dist/tools/integrations/slack.d.ts.map +1 -0
- package/dist/tools/integrations/slack.js.map +1 -0
- package/dist/tools/integrations/summarizer.d.ts.map +1 -0
- package/dist/tools/integrations/summarizer.js.map +1 -0
- package/dist/tools/integrations/translator.d.ts.map +1 -0
- package/dist/tools/integrations/translator.js.map +1 -0
- package/dist/tools/integrations/trello.d.ts.map +1 -0
- package/dist/tools/integrations/trello.js.map +1 -0
- package/dist/tools/integrations/vector-search.d.ts.map +1 -0
- package/dist/tools/integrations/vector-search.js.map +1 -0
- package/dist/tools/integrations/web-scraper.d.ts.map +1 -0
- package/dist/tools/integrations/web-scraper.js.map +1 -0
- package/dist/tools/integrations/web-search.d.ts.map +1 -0
- package/dist/tools/integrations/web-search.js.map +1 -0
- package/dist/tools/integrations/webhook.d.ts.map +1 -0
- package/dist/tools/integrations/webhook.js.map +1 -0
- package/dist/tools/json-transform.d.ts.map +1 -0
- package/dist/tools/json-transform.js.map +1 -0
- package/dist/tools/mcp-client.d.ts.map +1 -0
- package/dist/tools/mcp-client.js.map +1 -0
- package/dist/tools/mcp.d.ts.map +1 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/text-analysis.d.ts.map +1 -0
- package/dist/tools/text-analysis.js.map +1 -0
- package/dist/tools/web-scraper.d.ts.map +1 -0
- package/dist/tools/web-scraper.js.map +1 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/traces/index.d.ts.map +1 -0
- package/dist/traces/index.js.map +1 -0
- package/dist/ui/components.d.ts.map +1 -0
- package/dist/ui/components.js.map +1 -0
- package/package.json +1 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -20
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -14
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -13
- package/.github/workflows/ci.yml +0 -24
- package/docs/.vitepress/config.ts +0 -103
- package/docs/api/cli.md +0 -48
- package/docs/api/oad-schema.md +0 -64
- package/docs/api/sdk.md +0 -80
- package/docs/guide/concepts.md +0 -51
- package/docs/guide/configuration.md +0 -79
- package/docs/guide/deployment.md +0 -42
- package/docs/guide/getting-started.md +0 -44
- package/docs/guide/templates.md +0 -28
- package/docs/guide/testing.md +0 -84
- package/docs/index.md +0 -27
- package/docs/zh/api/cli.md +0 -54
- package/docs/zh/api/oad-schema.md +0 -87
- package/docs/zh/api/sdk.md +0 -102
- package/docs/zh/guide/concepts.md +0 -104
- package/docs/zh/guide/configuration.md +0 -135
- package/docs/zh/guide/deployment.md +0 -81
- package/docs/zh/guide/getting-started.md +0 -82
- package/docs/zh/guide/templates.md +0 -84
- package/docs/zh/guide/testing.md +0 -88
- package/docs/zh/index.md +0 -27
- package/fix-sidebar.mjs +0 -188
- package/serve-studio.js +0 -13
- package/serve-test.js +0 -25
- package/src/analytics/index.ts +0 -66
- package/src/channels/dingtalk.ts +0 -46
- package/src/channels/discord.ts +0 -192
- package/src/channels/email.ts +0 -351
- package/src/channels/feishu.ts +0 -349
- package/src/channels/googlechat.ts +0 -42
- package/src/channels/imessage.ts +0 -32
- package/src/channels/index.ts +0 -15
- package/src/channels/irc.ts +0 -82
- package/src/channels/line.ts +0 -33
- package/src/channels/matrix.ts +0 -34
- package/src/channels/mattermost.ts +0 -57
- package/src/channels/msteams.ts +0 -33
- package/src/channels/nostr.ts +0 -33
- package/src/channels/qq.ts +0 -34
- package/src/channels/signal.ts +0 -33
- package/src/channels/slack.ts +0 -217
- package/src/channels/sms.ts +0 -34
- package/src/channels/telegram.ts +0 -616
- package/src/channels/twitch.ts +0 -65
- package/src/channels/voice-call.ts +0 -100
- package/src/channels/voice.ts +0 -471
- package/src/channels/web.ts +0 -632
- package/src/channels/webhook.ts +0 -199
- package/src/channels/websocket.ts +0 -399
- package/src/channels/wechat.ts +0 -329
- package/src/channels/whatsapp.ts +0 -33
- package/src/cli/chat.ts +0 -99
- package/src/cli/setup.ts +0 -314
- package/src/cli.ts +0 -2723
- package/src/core/a2a.ts +0 -203
- package/src/core/agent.ts +0 -476
- package/src/core/analytics-engine.ts +0 -186
- package/src/core/api-server.ts +0 -277
- package/src/core/audio.ts +0 -98
- package/src/core/auth.ts +0 -57
- package/src/core/cache.ts +0 -141
- package/src/core/collaboration.ts +0 -275
- package/src/core/compose.ts +0 -77
- package/src/core/config.ts +0 -14
- package/src/core/context-discovery.ts +0 -85
- package/src/core/context-refs.ts +0 -140
- package/src/core/errors.ts +0 -148
- package/src/core/gateway.ts +0 -106
- package/src/core/heartbeat.ts +0 -51
- package/src/core/hitl.ts +0 -138
- package/src/core/hooks.ts +0 -105
- package/src/core/ide-bridge.ts +0 -133
- package/src/core/knowledge.ts +0 -255
- package/src/core/logger.ts +0 -57
- package/src/core/node-network.ts +0 -86
- package/src/core/orchestrator.ts +0 -215
- package/src/core/performance.ts +0 -187
- package/src/core/profiles.ts +0 -122
- package/src/core/rate-limiter.ts +0 -128
- package/src/core/room.ts +0 -109
- package/src/core/runtime.ts +0 -410
- package/src/core/sandbox.ts +0 -344
- package/src/core/scheduler.ts +0 -187
- package/src/core/security.ts +0 -171
- package/src/core/session-manager.ts +0 -137
- package/src/core/streaming.ts +0 -195
- package/src/core/subagent.ts +0 -98
- package/src/core/types.ts +0 -68
- package/src/core/versioning.ts +0 -106
- package/src/core/vision.ts +0 -180
- package/src/core/watch.ts +0 -178
- package/src/core/workflow-graph.ts +0 -365
- package/src/core/workflow.ts +0 -235
- package/src/daemon.ts +0 -96
- package/src/deploy/hermes.ts +0 -156
- package/src/deploy/index.ts +0 -255
- package/src/deploy/openclaw.ts +0 -190
- package/src/doctor.ts +0 -156
- package/src/eval/index.ts +0 -211
- package/src/eval/suites/basic.json +0 -16
- package/src/eval/suites/memory.json +0 -12
- package/src/eval/suites/safety.json +0 -14
- package/src/hub/brain-seed.ts +0 -54
- package/src/hub/client.ts +0 -60
- package/src/i18n/index.ts +0 -216
- package/src/index.ts +0 -283
- package/src/mcp/servers/calculator-mcp.ts +0 -65
- package/src/mcp/servers/crypto-mcp.ts +0 -73
- package/src/mcp/servers/database-mcp.ts +0 -72
- package/src/mcp/servers/datetime-mcp.ts +0 -69
- package/src/mcp/servers/filesystem.ts +0 -66
- package/src/mcp/servers/github-mcp.ts +0 -58
- package/src/mcp/servers/index.ts +0 -63
- package/src/mcp/servers/json-mcp.ts +0 -102
- package/src/mcp/servers/memory-mcp.ts +0 -56
- package/src/mcp/servers/regex-mcp.ts +0 -53
- package/src/mcp/servers/web-mcp.ts +0 -49
- package/src/memory/context-compressor.ts +0 -189
- package/src/memory/deepbrain.ts +0 -108
- package/src/memory/index.ts +0 -41
- package/src/memory/seed-loader.ts +0 -212
- package/src/memory/user-profiler.ts +0 -215
- package/src/plugins/content-filter.ts +0 -23
- package/src/plugins/index.ts +0 -339
- package/src/plugins/logger.ts +0 -18
- package/src/plugins/rate-limiter.ts +0 -38
- package/src/protocols/a2a/client.ts +0 -132
- package/src/protocols/a2a/index.ts +0 -8
- package/src/protocols/a2a/server.ts +0 -333
- package/src/protocols/a2a/types.ts +0 -88
- package/src/protocols/a2a/utils.ts +0 -50
- package/src/protocols/agui/client.ts +0 -83
- package/src/protocols/agui/index.ts +0 -4
- package/src/protocols/agui/server.ts +0 -218
- package/src/protocols/agui/types.ts +0 -153
- package/src/protocols/index.ts +0 -2
- package/src/protocols/mcp/agent-tools.ts +0 -134
- package/src/protocols/mcp/index.ts +0 -8
- package/src/protocols/mcp/server.ts +0 -262
- package/src/protocols/mcp/types.ts +0 -69
- package/src/providers/index.ts +0 -632
- package/src/publish/index.ts +0 -376
- package/src/scheduler/cron-engine.ts +0 -191
- package/src/scheduler/index.ts +0 -2
- package/src/schema/oad.ts +0 -217
- package/src/security/approval.ts +0 -131
- package/src/security/approvals.ts +0 -143
- package/src/security/elevated.ts +0 -105
- package/src/security/guardrails.ts +0 -248
- package/src/security/index.ts +0 -9
- package/src/security/keys.ts +0 -87
- package/src/security/secrets.ts +0 -129
- package/src/skills/auto-learn.ts +0 -262
- package/src/skills/base.ts +0 -16
- package/src/skills/builtin/index.ts +0 -408
- package/src/skills/document.ts +0 -100
- package/src/skills/http.ts +0 -35
- package/src/skills/index.ts +0 -27
- package/src/skills/marketplace.ts +0 -113
- package/src/skills/scheduler.ts +0 -80
- package/src/skills/types.ts +0 -42
- package/src/skills/webhook-trigger.ts +0 -59
- package/src/studio/server.ts +0 -1791
- package/src/studio/templates-data.ts +0 -178
- package/src/studio-ui/index.html +0 -3076
- package/src/telemetry/index.ts +0 -324
- package/src/templates/code-reviewer.ts +0 -30
- package/src/templates/content-writer.ts +0 -58
- package/src/templates/customer-service.ts +0 -76
- package/src/templates/data-analyst.ts +0 -66
- package/src/templates/executive-assistant.ts +0 -71
- package/src/templates/financial-advisor.ts +0 -60
- package/src/templates/hr-recruiter.ts +0 -58
- package/src/templates/knowledge-base.ts +0 -27
- package/src/templates/legal-assistant.ts +0 -71
- package/src/templates/project-manager.ts +0 -58
- package/src/templates/sales-assistant.ts +0 -75
- package/src/templates/teacher.ts +0 -75
- package/src/testing/index.ts +0 -181
- package/src/tools/builtin/browser.ts +0 -299
- package/src/tools/builtin/datetime.ts +0 -41
- package/src/tools/builtin/file.ts +0 -107
- package/src/tools/builtin/home-assistant.ts +0 -116
- package/src/tools/builtin/index.ts +0 -37
- package/src/tools/builtin/rl-tools.ts +0 -243
- package/src/tools/builtin/shell.ts +0 -43
- package/src/tools/builtin/vision.ts +0 -64
- package/src/tools/builtin/web-search.ts +0 -126
- package/src/tools/builtin/web.ts +0 -35
- package/src/tools/calculator.ts +0 -73
- package/src/tools/datetime.ts +0 -149
- package/src/tools/document-processor.ts +0 -213
- package/src/tools/gateway.ts +0 -220
- package/src/tools/image-generator.ts +0 -150
- package/src/tools/integrations/calendar.ts +0 -73
- package/src/tools/integrations/code-exec.ts +0 -39
- package/src/tools/integrations/csv-analyzer.ts +0 -92
- package/src/tools/integrations/database.ts +0 -44
- package/src/tools/integrations/email-send.ts +0 -76
- package/src/tools/integrations/git-tool.ts +0 -42
- package/src/tools/integrations/github-tool.ts +0 -76
- package/src/tools/integrations/image-gen.ts +0 -56
- package/src/tools/integrations/index.ts +0 -92
- package/src/tools/integrations/jira.ts +0 -83
- package/src/tools/integrations/notion.ts +0 -71
- package/src/tools/integrations/npm-tool.ts +0 -48
- package/src/tools/integrations/pdf-reader.ts +0 -58
- package/src/tools/integrations/slack.ts +0 -65
- package/src/tools/integrations/summarizer.ts +0 -49
- package/src/tools/integrations/translator.ts +0 -48
- package/src/tools/integrations/trello.ts +0 -60
- package/src/tools/integrations/vector-search.ts +0 -42
- package/src/tools/integrations/web-scraper.ts +0 -47
- package/src/tools/integrations/web-search.ts +0 -58
- package/src/tools/integrations/webhook.ts +0 -38
- package/src/tools/json-transform.ts +0 -187
- package/src/tools/mcp-client.ts +0 -131
- package/src/tools/mcp.ts +0 -76
- package/src/tools/text-analysis.ts +0 -116
- package/src/tools/web-scraper.ts +0 -179
- package/src/tools/web-search.ts +0 -180
- package/src/traces/index.ts +0 -132
- package/src/types/agent-workstation.d.ts +0 -2
- package/src/ui/components.ts +0 -127
- package/srv-err.txt +0 -0
- package/srv-out.txt +0 -1
- package/test-agent/Dockerfile +0 -9
- package/test-agent/README.md +0 -50
- package/test-agent/agent.yaml +0 -23
- package/test-agent/docker-compose.yml +0 -11
- package/test-agent/oad.yaml +0 -31
- package/test-agent/package-lock.json +0 -1492
- package/test-agent/package.json +0 -18
- package/test-agent/src/index.ts +0 -24
- package/test-agent/src/skills/echo.ts +0 -15
- package/test-agent/tsconfig.json +0 -25
- package/test-full.js +0 -43
- package/test-sidebar.js +0 -22
- package/test-studio3.js +0 -75
- package/test-studio4.js +0 -41
- package/tests/a2a-protocol.test.ts +0 -285
- package/tests/a2a.test.ts +0 -66
- package/tests/agent.test.ts +0 -72
- package/tests/agui-protocol.test.ts +0 -246
- package/tests/analytics.test.ts +0 -50
- package/tests/api-server.test.ts +0 -148
- package/tests/approvals.test.ts +0 -89
- package/tests/audio.test.ts +0 -40
- package/tests/auto-learn.test.ts +0 -105
- package/tests/brain-seed-extended.test.ts +0 -490
- package/tests/brain-seed.test.ts +0 -239
- package/tests/browser.test.ts +0 -179
- package/tests/builtin-tools.test.ts +0 -83
- package/tests/channel.test.ts +0 -39
- package/tests/channels/discord.test.ts +0 -79
- package/tests/channels/email.test.ts +0 -148
- package/tests/channels/feishu.test.ts +0 -123
- package/tests/channels/telegram.test.ts +0 -129
- package/tests/channels/websocket.test.ts +0 -53
- package/tests/channels/wechat.test.ts +0 -170
- package/tests/channels-extra.test.ts +0 -45
- package/tests/chat-cli.test.ts +0 -160
- package/tests/cli.test.ts +0 -46
- package/tests/collaboration.test.ts +0 -319
- package/tests/context-compressor.test.ts +0 -172
- package/tests/context-refs.test.ts +0 -121
- package/tests/cron-engine.test.ts +0 -101
- package/tests/daemon.test.ts +0 -135
- package/tests/deepbrain-wire.test.ts +0 -234
- package/tests/deploy-and-dag.test.ts +0 -196
- package/tests/doctor.test.ts +0 -38
- package/tests/document-processor.test.ts +0 -69
- package/tests/e2e-nocode.test.ts +0 -442
- package/tests/e2e.test.ts +0 -134
- package/tests/elevated.test.ts +0 -69
- package/tests/errors.test.ts +0 -83
- package/tests/eval.test.ts +0 -173
- package/tests/gateway.test.ts +0 -63
- package/tests/guardrails.test.ts +0 -177
- package/tests/hitl.test.ts +0 -71
- package/tests/home-assistant.test.ts +0 -40
- package/tests/hooks.test.ts +0 -79
- package/tests/i18n.test.ts +0 -41
- package/tests/ide-bridge.test.ts +0 -38
- package/tests/image-generator.test.ts +0 -84
- package/tests/init-role.test.ts +0 -124
- package/tests/integrations.test.ts +0 -249
- package/tests/mcp-client.test.ts +0 -92
- package/tests/mcp-server.test.ts +0 -178
- package/tests/mcp-servers.test.ts +0 -260
- package/tests/mcp.test.ts +0 -54
- package/tests/node-network.test.ts +0 -74
- package/tests/oad.test.ts +0 -68
- package/tests/performance.test.ts +0 -115
- package/tests/plugin-a2a-enhanced.test.ts +0 -230
- package/tests/plugin.test.ts +0 -74
- package/tests/profiles.test.ts +0 -61
- package/tests/publish.test.ts +0 -231
- package/tests/rl-tools.test.ts +0 -93
- package/tests/room.test.ts +0 -106
- package/tests/runtime.test.ts +0 -42
- package/tests/sandbox-manager.test.ts +0 -46
- package/tests/sandbox.test.ts +0 -46
- package/tests/scheduler.test.ts +0 -200
- package/tests/secrets.test.ts +0 -107
- package/tests/security-enhanced.test.ts +0 -233
- package/tests/security.test.ts +0 -60
- package/tests/settings-api.test.ts +0 -148
- package/tests/setup.test.ts +0 -73
- package/tests/skill-learner.test.ts +0 -161
- package/tests/streaming.test.ts +0 -109
- package/tests/studio.test.ts +0 -402
- package/tests/subagent.test.ts +0 -193
- package/tests/telegram-discord.test.ts +0 -60
- package/tests/telemetry.test.ts +0 -186
- package/tests/templates.test.ts +0 -77
- package/tests/tools/builtin-extended.test.ts +0 -138
- package/tests/user-profiler.test.ts +0 -169
- package/tests/v070.test.ts +0 -76
- package/tests/v090-features.test.ts +0 -254
- package/tests/versioning.test.ts +0 -75
- package/tests/vision.test.ts +0 -61
- package/tests/voice-call.test.ts +0 -47
- package/tests/voice-enhanced.test.ts +0 -169
- package/tests/voice-interaction.test.ts +0 -38
- package/tests/voice.test.ts +0 -61
- package/tests/web-search.test.ts +0 -155
- package/tests/webhook.test.ts +0 -29
- package/tests/workflow-graph.test.ts +0 -279
- package/tests/workflow.test.ts +0 -143
- package/tmp-js-test.js +0 -1532
- package/tmp-sc.js +0 -1716
- package/tutorial/customer-service-agent/README.md +0 -612
- package/tutorial/customer-service-agent/SOUL.md +0 -26
- package/tutorial/customer-service-agent/agent.yaml +0 -63
- package/tutorial/customer-service-agent/package.json +0 -19
- package/tutorial/customer-service-agent/src/index.ts +0 -69
- package/tutorial/customer-service-agent/src/skills/faq.ts +0 -27
- package/tutorial/customer-service-agent/src/skills/ticket.ts +0 -22
- package/tutorial/customer-service-agent/tsconfig.json +0 -14
- package/vitest.config.ts +0 -9
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { BaseSkill } from '../skills/base';
|
|
2
|
-
import type { AgentContext, Message, SkillResult } from '../core/types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export class ResumeScreeningSkill extends BaseSkill {
|
|
6
|
-
name = 'resume-screening';
|
|
7
|
-
description = 'Screen resumes against job requirements';
|
|
8
|
-
|
|
9
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
10
|
-
const lower = message.content.toLowerCase();
|
|
11
|
-
if (lower.includes('resume') || lower.includes('cv') || lower.includes('candidate')) {
|
|
12
|
-
return this.match(
|
|
13
|
-
'I can help screen resumes. Please share the candidate\'s resume and the job requirements, and I\'ll provide an analysis.',
|
|
14
|
-
0.8,
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
return this.noMatch();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class InterviewSchedulingSkill extends BaseSkill {
|
|
22
|
-
name = 'interview-scheduling';
|
|
23
|
-
description = 'Help schedule interviews with candidates';
|
|
24
|
-
|
|
25
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
26
|
-
const lower = message.content.toLowerCase();
|
|
27
|
-
if (lower.includes('schedule') || lower.includes('interview') || lower.includes('calendar')) {
|
|
28
|
-
return this.match(
|
|
29
|
-
'I can help schedule interviews. Please provide the candidate name, preferred dates, and interview format (phone/video/onsite).',
|
|
30
|
-
0.8,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return this.noMatch();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function createHRRecruiterConfig() {
|
|
38
|
-
return {
|
|
39
|
-
apiVersion: 'opc/v1',
|
|
40
|
-
kind: 'Agent',
|
|
41
|
-
metadata: {
|
|
42
|
-
name: 'hr-recruiter',
|
|
43
|
-
version: '1.0.0',
|
|
44
|
-
description: 'HR Recruiter — resume screening, interview scheduling, candidate Q&A',
|
|
45
|
-
author: 'Deepleaper',
|
|
46
|
-
license: 'Apache-2.0',
|
|
47
|
-
},
|
|
48
|
-
spec: {
|
|
49
|
-
model: 'deepseek-chat',
|
|
50
|
-
systemPrompt: 'You are an HR recruiter assistant. Help with resume screening, interview scheduling, and answering candidate questions. Be professional and friendly.',
|
|
51
|
-
skills: [
|
|
52
|
-
{ name: 'resume-screening', description: 'Screen resumes' },
|
|
53
|
-
{ name: 'interview-scheduling', description: 'Schedule interviews' },
|
|
54
|
-
],
|
|
55
|
-
channels: [{ type: 'web', port: 3000 }],
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export const KNOWLEDGE_BASE_SYSTEM_PROMPT = `You are a knowledge base assistant. Answer questions using the company documents
|
|
2
|
-
and knowledge provided to you. If you don't have enough information, say so honestly.
|
|
3
|
-
Always cite sources when possible. Be accurate and concise.`;
|
|
4
|
-
|
|
5
|
-
export function createKnowledgeBaseConfig() {
|
|
6
|
-
return {
|
|
7
|
-
apiVersion: 'opc/v1' as const,
|
|
8
|
-
kind: 'Agent' as const,
|
|
9
|
-
metadata: {
|
|
10
|
-
name: 'knowledge-base',
|
|
11
|
-
version: '1.0.0',
|
|
12
|
-
description: 'RAG-powered knowledge base agent using DeepBrain for semantic search',
|
|
13
|
-
author: 'OPC Agent',
|
|
14
|
-
license: 'Apache-2.0',
|
|
15
|
-
},
|
|
16
|
-
spec: {
|
|
17
|
-
provider: { default: 'deepseek', allowed: ['openai', 'deepseek', 'qwen'] },
|
|
18
|
-
model: 'deepseek-chat',
|
|
19
|
-
systemPrompt: KNOWLEDGE_BASE_SYSTEM_PROMPT,
|
|
20
|
-
skills: [
|
|
21
|
-
{ name: 'doc-search', description: 'Search company documents' },
|
|
22
|
-
],
|
|
23
|
-
channels: [{ type: 'web' as const, port: 3000 }],
|
|
24
|
-
memory: { shortTerm: true, longTerm: { provider: 'deepbrain' as const, collection: 'company-knowledge' } },
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { BaseSkill } from '../skills/base';
|
|
2
|
-
import type { AgentContext, Message, SkillResult } from '../core/types';
|
|
3
|
-
import type { OADDocument } from '../schema/oad';
|
|
4
|
-
|
|
5
|
-
const LEGAL_TERMS: Record<string, string> = {
|
|
6
|
-
'force majeure': 'A clause that frees parties from obligations due to extraordinary events.',
|
|
7
|
-
'indemnification': 'One party agrees to compensate the other for certain damages or losses.',
|
|
8
|
-
'limitation of liability': 'A cap on the amount one party can claim from the other.',
|
|
9
|
-
'non-compete': 'Restricts a party from competing within a specified scope and timeframe.',
|
|
10
|
-
'confidentiality': 'Obligations to keep certain information private.',
|
|
11
|
-
'termination': 'Conditions under which the agreement may be ended.',
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export class ContractReviewSkill extends BaseSkill {
|
|
15
|
-
name = 'contract-review';
|
|
16
|
-
description = 'Review contracts and identify key clauses';
|
|
17
|
-
|
|
18
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
19
|
-
const lower = message.content.toLowerCase();
|
|
20
|
-
for (const [term, explanation] of Object.entries(LEGAL_TERMS)) {
|
|
21
|
-
if (lower.includes(term)) {
|
|
22
|
-
return this.match(`📋 **${term.toUpperCase()}**: ${explanation}`, 0.85);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (lower.includes('review') || lower.includes('contract')) {
|
|
26
|
-
return this.match('I can review contracts for key clauses like force majeure, indemnification, limitation of liability, non-compete, confidentiality, and termination provisions.', 0.7);
|
|
27
|
-
}
|
|
28
|
-
return this.noMatch();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export class ComplianceCheckSkill extends BaseSkill {
|
|
33
|
-
name = 'compliance-check';
|
|
34
|
-
description = 'Check compliance with regulations';
|
|
35
|
-
|
|
36
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
37
|
-
const lower = message.content.toLowerCase();
|
|
38
|
-
if (lower.includes('gdpr') || lower.includes('privacy')) {
|
|
39
|
-
return this.match('GDPR compliance requires: data minimization, consent mechanisms, right to erasure, data protection officer, and breach notification within 72 hours.', 0.9);
|
|
40
|
-
}
|
|
41
|
-
if (lower.includes('compliance') || lower.includes('regulation')) {
|
|
42
|
-
return this.match('I can check compliance with GDPR, CCPA, SOX, HIPAA, and other major regulations. Please specify the regulation and context.', 0.7);
|
|
43
|
-
}
|
|
44
|
-
return this.noMatch();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export function createLegalAssistantConfig(): OADDocument {
|
|
49
|
-
return {
|
|
50
|
-
apiVersion: 'opc/v1',
|
|
51
|
-
kind: 'Agent',
|
|
52
|
-
metadata: {
|
|
53
|
-
name: 'legal-assistant',
|
|
54
|
-
version: '1.0.0',
|
|
55
|
-
description: 'AI Legal Assistant - contract review, compliance checking, legal research',
|
|
56
|
-
author: 'OPC',
|
|
57
|
-
license: 'Apache-2.0',
|
|
58
|
-
},
|
|
59
|
-
spec: {
|
|
60
|
-
model: 'deepseek-chat',
|
|
61
|
-
systemPrompt: 'You are a legal assistant AI. Help users review contracts, check compliance, and research legal topics. Always recommend consulting a qualified attorney for binding decisions.',
|
|
62
|
-
skills: [
|
|
63
|
-
{ name: 'contract-review', description: 'Review contracts and identify key clauses' },
|
|
64
|
-
{ name: 'compliance-check', description: 'Check regulatory compliance' },
|
|
65
|
-
],
|
|
66
|
-
channels: [{ type: 'web', port: 3000 }],
|
|
67
|
-
memory: { shortTerm: true, longTerm: false },
|
|
68
|
-
streaming: false,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { BaseSkill } from '../skills/base';
|
|
2
|
-
import type { AgentContext, Message, SkillResult } from '../core/types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export class TaskTrackingSkill extends BaseSkill {
|
|
6
|
-
name = 'task-tracking';
|
|
7
|
-
description = 'Track project tasks and status';
|
|
8
|
-
|
|
9
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
10
|
-
const lower = message.content.toLowerCase();
|
|
11
|
-
if (lower.includes('task') || lower.includes('todo') || lower.includes('progress')) {
|
|
12
|
-
return this.match(
|
|
13
|
-
'I can help track tasks. Tell me the task name, assignee, and deadline, and I\'ll add it to the tracker.',
|
|
14
|
-
0.8,
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
return this.noMatch();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export class MeetingNotesSkill extends BaseSkill {
|
|
22
|
-
name = 'meeting-notes';
|
|
23
|
-
description = 'Generate and manage meeting notes';
|
|
24
|
-
|
|
25
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
26
|
-
const lower = message.content.toLowerCase();
|
|
27
|
-
if (lower.includes('meeting') || lower.includes('notes') || lower.includes('minutes')) {
|
|
28
|
-
return this.match(
|
|
29
|
-
'I can help with meeting notes. Share the meeting details and I\'ll create structured notes with action items.',
|
|
30
|
-
0.8,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return this.noMatch();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export function createProjectManagerConfig() {
|
|
38
|
-
return {
|
|
39
|
-
apiVersion: 'opc/v1',
|
|
40
|
-
kind: 'Agent',
|
|
41
|
-
metadata: {
|
|
42
|
-
name: 'project-manager',
|
|
43
|
-
version: '1.0.0',
|
|
44
|
-
description: 'Project Manager — task tracking, status updates, meeting notes',
|
|
45
|
-
author: 'Deepleaper',
|
|
46
|
-
license: 'Apache-2.0',
|
|
47
|
-
},
|
|
48
|
-
spec: {
|
|
49
|
-
model: 'deepseek-chat',
|
|
50
|
-
systemPrompt: 'You are a project management assistant. Help track tasks, provide status updates, and manage meeting notes. Be organized and action-oriented.',
|
|
51
|
-
skills: [
|
|
52
|
-
{ name: 'task-tracking', description: 'Track tasks' },
|
|
53
|
-
{ name: 'meeting-notes', description: 'Manage meeting notes' },
|
|
54
|
-
],
|
|
55
|
-
channels: [{ type: 'web', port: 3000 }],
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BaseSkill } from '../skills/base';
|
|
2
|
-
import type { AgentContext, Message, SkillResult } from '../core/types';
|
|
3
|
-
|
|
4
|
-
export class ProductQASkill extends BaseSkill {
|
|
5
|
-
name = 'product-qa';
|
|
6
|
-
description = 'Answer product-related questions';
|
|
7
|
-
private catalog: Record<string, string>;
|
|
8
|
-
|
|
9
|
-
constructor(catalog?: Record<string, string>) {
|
|
10
|
-
super();
|
|
11
|
-
this.catalog = catalog ?? {
|
|
12
|
-
pricing: 'Please visit our pricing page or contact sales for a custom quote.',
|
|
13
|
-
features: 'Our product includes AI-powered automation, analytics dashboard, and API access.',
|
|
14
|
-
demo: 'I\'d love to schedule a demo for you! Could you share your email and preferred time?',
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
19
|
-
const lower = message.content.toLowerCase();
|
|
20
|
-
for (const [key, answer] of Object.entries(this.catalog)) {
|
|
21
|
-
if (lower.includes(key)) return this.match(answer, 0.85);
|
|
22
|
-
}
|
|
23
|
-
return this.noMatch();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export class LeadCaptureSkill extends BaseSkill {
|
|
28
|
-
name = 'lead-capture';
|
|
29
|
-
description = 'Capture prospect information';
|
|
30
|
-
private emailRegex = /[\w.-]+@[\w.-]+\.\w+/;
|
|
31
|
-
|
|
32
|
-
async execute(context: AgentContext, message: Message): Promise<SkillResult> {
|
|
33
|
-
const email = message.content.match(this.emailRegex);
|
|
34
|
-
if (email) {
|
|
35
|
-
await context.memory.set(`lead:${email[0]}`, {
|
|
36
|
-
email: email[0],
|
|
37
|
-
capturedAt: Date.now(),
|
|
38
|
-
messages: context.messages.length,
|
|
39
|
-
});
|
|
40
|
-
return this.match(`Thanks! I've noted your email (${email[0]}). Our team will reach out shortly.`, 0.95);
|
|
41
|
-
}
|
|
42
|
-
return this.noMatch();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export const SALES_ASSISTANT_SYSTEM_PROMPT = `You are a professional sales assistant. Your goals:
|
|
47
|
-
1. Answer product questions accurately and enthusiastically
|
|
48
|
-
2. Capture leads by collecting name, email, and company info
|
|
49
|
-
3. Book appointments when prospects are ready
|
|
50
|
-
Be friendly, persuasive but not pushy. Always provide value first.`;
|
|
51
|
-
|
|
52
|
-
export function createSalesAssistantConfig() {
|
|
53
|
-
return {
|
|
54
|
-
apiVersion: 'opc/v1' as const,
|
|
55
|
-
kind: 'Agent' as const,
|
|
56
|
-
metadata: {
|
|
57
|
-
name: 'sales-assistant',
|
|
58
|
-
version: '1.0.0',
|
|
59
|
-
description: 'AI sales assistant with product Q&A, lead capture, and appointment booking',
|
|
60
|
-
author: 'OPC Agent',
|
|
61
|
-
license: 'Apache-2.0',
|
|
62
|
-
},
|
|
63
|
-
spec: {
|
|
64
|
-
provider: { default: 'deepseek', allowed: ['openai', 'deepseek', 'qwen'] },
|
|
65
|
-
model: 'deepseek-chat',
|
|
66
|
-
systemPrompt: SALES_ASSISTANT_SYSTEM_PROMPT,
|
|
67
|
-
skills: [
|
|
68
|
-
{ name: 'product-qa', description: 'Answer product questions' },
|
|
69
|
-
{ name: 'lead-capture', description: 'Capture prospect info' },
|
|
70
|
-
],
|
|
71
|
-
channels: [{ type: 'web' as const, port: 3000 }],
|
|
72
|
-
memory: { shortTerm: true, longTerm: false },
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
package/src/templates/teacher.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BaseSkill } from '../skills/base';
|
|
2
|
-
import type { AgentContext, Message, SkillResult } from '../core/types';
|
|
3
|
-
|
|
4
|
-
export class LessonPlanSkill extends BaseSkill {
|
|
5
|
-
name = 'lesson-plan';
|
|
6
|
-
description = 'Create and manage lesson plans';
|
|
7
|
-
|
|
8
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
9
|
-
const lower = message.content.toLowerCase();
|
|
10
|
-
if (lower.includes('lesson') || lower.includes('plan') || lower.includes('curriculum') || lower.includes('syllabus')) {
|
|
11
|
-
return this.match('I can help create a lesson plan. What subject, grade level, and learning objectives should I focus on?', 0.85);
|
|
12
|
-
}
|
|
13
|
-
return this.noMatch();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class QuizSkill extends BaseSkill {
|
|
18
|
-
name = 'quiz-generator';
|
|
19
|
-
description = 'Generate quizzes and assessments';
|
|
20
|
-
|
|
21
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
22
|
-
const lower = message.content.toLowerCase();
|
|
23
|
-
if (lower.includes('quiz') || lower.includes('test') || lower.includes('assessment') || lower.includes('exam') || lower.includes('question')) {
|
|
24
|
-
return this.match('I\'ll create a quiz for you. What topic, difficulty level, and number of questions would you like?', 0.85);
|
|
25
|
-
}
|
|
26
|
-
return this.noMatch();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export class ExplainSkill extends BaseSkill {
|
|
31
|
-
name = 'concept-explainer';
|
|
32
|
-
description = 'Explain concepts at appropriate level';
|
|
33
|
-
|
|
34
|
-
async execute(_context: AgentContext, message: Message): Promise<SkillResult> {
|
|
35
|
-
const lower = message.content.toLowerCase();
|
|
36
|
-
if (lower.includes('explain') || lower.includes('what is') || lower.includes('how does') || lower.includes('why')) {
|
|
37
|
-
return this.match('Let me explain that concept. What\'s your current level of understanding so I can tailor my explanation?', 0.75);
|
|
38
|
-
}
|
|
39
|
-
return this.noMatch();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export const TEACHER_SYSTEM_PROMPT = `You are a patient and encouraging teacher assistant. Your goals:
|
|
44
|
-
1. Create engaging lesson plans tailored to student level
|
|
45
|
-
2. Generate quizzes and assessments with answer keys
|
|
46
|
-
3. Explain complex concepts using analogies and examples
|
|
47
|
-
4. Provide constructive feedback and encouragement
|
|
48
|
-
5. Adapt teaching style to different learning preferences
|
|
49
|
-
Be patient, use clear language, and always check for understanding. Use the Socratic method when appropriate.`;
|
|
50
|
-
|
|
51
|
-
export function createTeacherConfig() {
|
|
52
|
-
return {
|
|
53
|
-
apiVersion: 'opc/v1' as const,
|
|
54
|
-
kind: 'Agent' as const,
|
|
55
|
-
metadata: {
|
|
56
|
-
name: 'teacher',
|
|
57
|
-
version: '1.0.0',
|
|
58
|
-
description: 'AI teacher assistant with lesson planning, quiz generation, and concept explanation',
|
|
59
|
-
author: 'OPC Agent',
|
|
60
|
-
license: 'Apache-2.0',
|
|
61
|
-
},
|
|
62
|
-
spec: {
|
|
63
|
-
provider: { default: 'openai', allowed: ['openai', 'deepseek', 'qwen'] },
|
|
64
|
-
model: 'gpt-4o-mini',
|
|
65
|
-
systemPrompt: TEACHER_SYSTEM_PROMPT,
|
|
66
|
-
skills: [
|
|
67
|
-
{ name: 'lesson-plan', description: 'Create lesson plans' },
|
|
68
|
-
{ name: 'quiz-generator', description: 'Generate quizzes' },
|
|
69
|
-
{ name: 'concept-explainer', description: 'Explain concepts' },
|
|
70
|
-
],
|
|
71
|
-
channels: [{ type: 'web' as const, port: 3000 }],
|
|
72
|
-
memory: { shortTerm: true, longTerm: true },
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
package/src/testing/index.ts
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent Testing Framework - Define test cases in OAD, run with `opc test`.
|
|
3
|
-
* Supports assertions on response content, tool calls, and latency.
|
|
4
|
-
*/
|
|
5
|
-
import * as fs from 'fs';
|
|
6
|
-
import * as path from 'path';
|
|
7
|
-
import * as yaml from 'js-yaml';
|
|
8
|
-
import { AgentRuntime } from '../core/runtime';
|
|
9
|
-
|
|
10
|
-
export interface TestCase {
|
|
11
|
-
name: string;
|
|
12
|
-
input: string;
|
|
13
|
-
expect?: {
|
|
14
|
-
contains?: string[];
|
|
15
|
-
notContains?: string[];
|
|
16
|
-
toolCalled?: string[];
|
|
17
|
-
maxLatencyMs?: number;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface TestResult {
|
|
22
|
-
name: string;
|
|
23
|
-
passed: boolean;
|
|
24
|
-
durationMs: number;
|
|
25
|
-
response?: string;
|
|
26
|
-
failures: string[];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface TestReport {
|
|
30
|
-
total: number;
|
|
31
|
-
passed: number;
|
|
32
|
-
failed: number;
|
|
33
|
-
duration: number;
|
|
34
|
-
results: TestResult[];
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Load test cases from OAD spec.testing or a separate test file.
|
|
39
|
-
*/
|
|
40
|
-
export function loadTestCases(oadPath: string): TestCase[] {
|
|
41
|
-
const raw = fs.readFileSync(oadPath, 'utf-8');
|
|
42
|
-
const config = yaml.load(raw) as any;
|
|
43
|
-
|
|
44
|
-
// Check spec.testing.cases
|
|
45
|
-
if (config?.spec?.testing?.cases) {
|
|
46
|
-
return config.spec.testing.cases;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Check for companion test file
|
|
50
|
-
const dir = path.dirname(oadPath);
|
|
51
|
-
const testFile = path.join(dir, 'tests.yaml');
|
|
52
|
-
if (fs.existsSync(testFile)) {
|
|
53
|
-
const testRaw = fs.readFileSync(testFile, 'utf-8');
|
|
54
|
-
const testConfig = yaml.load(testRaw) as any;
|
|
55
|
-
return testConfig?.cases ?? testConfig ?? [];
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return [];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Run all test cases against an agent.
|
|
63
|
-
*/
|
|
64
|
-
export async function runTests(oadPath: string): Promise<TestReport> {
|
|
65
|
-
const cases = loadTestCases(oadPath);
|
|
66
|
-
const results: TestResult[] = [];
|
|
67
|
-
const startTime = Date.now();
|
|
68
|
-
|
|
69
|
-
if (cases.length === 0) {
|
|
70
|
-
// Generate default smoke test
|
|
71
|
-
cases.push({
|
|
72
|
-
name: 'smoke-test',
|
|
73
|
-
input: 'Hello! What can you help me with?',
|
|
74
|
-
expect: { maxLatencyMs: 30000 },
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const runtime = new AgentRuntime();
|
|
79
|
-
await runtime.loadConfig(oadPath);
|
|
80
|
-
const agent = await runtime.initialize();
|
|
81
|
-
|
|
82
|
-
for (const tc of cases) {
|
|
83
|
-
const result: TestResult = {
|
|
84
|
-
name: tc.name,
|
|
85
|
-
passed: true,
|
|
86
|
-
durationMs: 0,
|
|
87
|
-
failures: [],
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const t0 = Date.now();
|
|
91
|
-
try {
|
|
92
|
-
const response = await agent.handleMessage({
|
|
93
|
-
id: `test_${Date.now()}`,
|
|
94
|
-
role: 'user',
|
|
95
|
-
content: tc.input,
|
|
96
|
-
timestamp: Date.now(),
|
|
97
|
-
});
|
|
98
|
-
result.durationMs = Date.now() - t0;
|
|
99
|
-
result.response = response.content;
|
|
100
|
-
|
|
101
|
-
if (tc.expect) {
|
|
102
|
-
// Check contains
|
|
103
|
-
if (tc.expect.contains) {
|
|
104
|
-
for (const s of tc.expect.contains) {
|
|
105
|
-
if (!response.content.toLowerCase().includes(s.toLowerCase())) {
|
|
106
|
-
result.failures.push(`Expected response to contain "${s}"`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// Check notContains
|
|
111
|
-
if (tc.expect.notContains) {
|
|
112
|
-
for (const s of tc.expect.notContains) {
|
|
113
|
-
if (response.content.toLowerCase().includes(s.toLowerCase())) {
|
|
114
|
-
result.failures.push(`Expected response NOT to contain "${s}"`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// Check latency
|
|
119
|
-
if (tc.expect.maxLatencyMs && result.durationMs > tc.expect.maxLatencyMs) {
|
|
120
|
-
result.failures.push(`Latency ${result.durationMs}ms exceeded max ${tc.expect.maxLatencyMs}ms`);
|
|
121
|
-
}
|
|
122
|
-
// Check tool calls (from metadata if available)
|
|
123
|
-
if (tc.expect.toolCalled && (response as any).toolsCalled) {
|
|
124
|
-
for (const tool of tc.expect.toolCalled) {
|
|
125
|
-
if (!(response as any).toolsCalled.includes(tool)) {
|
|
126
|
-
result.failures.push(`Expected tool "${tool}" to be called`);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
result.passed = result.failures.length === 0;
|
|
133
|
-
} catch (err) {
|
|
134
|
-
result.durationMs = Date.now() - t0;
|
|
135
|
-
result.passed = false;
|
|
136
|
-
result.failures.push(`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
results.push(result);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
const totalDuration = Date.now() - startTime;
|
|
143
|
-
const passed = results.filter(r => r.passed).length;
|
|
144
|
-
|
|
145
|
-
return {
|
|
146
|
-
total: results.length,
|
|
147
|
-
passed,
|
|
148
|
-
failed: results.length - passed,
|
|
149
|
-
duration: totalDuration,
|
|
150
|
-
results,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Format test report for console output.
|
|
156
|
-
*/
|
|
157
|
-
export function formatReport(report: TestReport): string {
|
|
158
|
-
const lines: string[] = [];
|
|
159
|
-
lines.push('');
|
|
160
|
-
lines.push('═══════════════════════════════════════════');
|
|
161
|
-
lines.push(' OPC Agent Test Report');
|
|
162
|
-
lines.push('═══════════════════════════════════════════');
|
|
163
|
-
lines.push('');
|
|
164
|
-
|
|
165
|
-
for (const r of report.results) {
|
|
166
|
-
const icon = r.passed ? '✔' : '✘';
|
|
167
|
-
const status = r.passed ? 'PASS' : 'FAIL';
|
|
168
|
-
lines.push(` ${icon} [${status}] ${r.name} (${r.durationMs}ms)`);
|
|
169
|
-
for (const f of r.failures) {
|
|
170
|
-
lines.push(` → ${f}`);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
lines.push('');
|
|
175
|
-
lines.push('───────────────────────────────────────────');
|
|
176
|
-
lines.push(` Total: ${report.total} Passed: ${report.passed} Failed: ${report.failed} Duration: ${report.duration}ms`);
|
|
177
|
-
lines.push('───────────────────────────────────────────');
|
|
178
|
-
lines.push('');
|
|
179
|
-
|
|
180
|
-
return lines.join('\n');
|
|
181
|
-
}
|