synapsexcoder 6.0.0
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/.opencode/opencode.jsonc +102 -0
- package/README.md +353 -0
- package/dist/agents/agent-config-manager.d.ts +58 -0
- package/dist/agents/agent-config-manager.d.ts.map +1 -0
- package/dist/agents/agent-config-manager.js +313 -0
- package/dist/agents/agent-config-manager.js.map +1 -0
- package/dist/agents/base-agents.d.ts +352 -0
- package/dist/agents/base-agents.d.ts.map +1 -0
- package/dist/agents/base-agents.js +3961 -0
- package/dist/agents/base-agents.js.map +1 -0
- package/dist/agents/gated-subagent.d.ts +126 -0
- package/dist/agents/gated-subagent.d.ts.map +1 -0
- package/dist/agents/gated-subagent.js +591 -0
- package/dist/agents/gated-subagent.js.map +1 -0
- package/dist/agents/gated-subagents.d.ts +130 -0
- package/dist/agents/gated-subagents.d.ts.map +1 -0
- package/dist/agents/gated-subagents.js +2014 -0
- package/dist/agents/gated-subagents.js.map +1 -0
- package/dist/agents/internal-gatekeeper.d.ts +167 -0
- package/dist/agents/internal-gatekeeper.d.ts.map +1 -0
- package/dist/agents/internal-gatekeeper.js +1130 -0
- package/dist/agents/internal-gatekeeper.js.map +1 -0
- package/dist/agents/verification-agent.d.ts +86 -0
- package/dist/agents/verification-agent.d.ts.map +1 -0
- package/dist/agents/verification-agent.js +211 -0
- package/dist/agents/verification-agent.js.map +1 -0
- package/dist/analytics/analytics-types.d.ts +113 -0
- package/dist/analytics/analytics-types.d.ts.map +1 -0
- package/dist/analytics/analytics-types.js +8 -0
- package/dist/analytics/analytics-types.js.map +1 -0
- package/dist/analytics/dashboard-generator.d.ts +35 -0
- package/dist/analytics/dashboard-generator.d.ts.map +1 -0
- package/dist/analytics/dashboard-generator.js +365 -0
- package/dist/analytics/dashboard-generator.js.map +1 -0
- package/dist/analytics/index.d.ts +12 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +12 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/metrics-aggregator.d.ts +88 -0
- package/dist/analytics/metrics-aggregator.d.ts.map +1 -0
- package/dist/analytics/metrics-aggregator.js +280 -0
- package/dist/analytics/metrics-aggregator.js.map +1 -0
- package/dist/cli/index.d.ts +36 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2677 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/normalize_patch.d.ts +3 -0
- package/dist/cli/normalize_patch.d.ts.map +1 -0
- package/dist/cli/normalize_patch.js +34 -0
- package/dist/cli/normalize_patch.js.map +1 -0
- package/dist/commands/command-processor.d.ts +58 -0
- package/dist/commands/command-processor.d.ts.map +1 -0
- package/dist/commands/command-processor.js +796 -0
- package/dist/commands/command-processor.js.map +1 -0
- package/dist/config/compliance-checker.d.ts +93 -0
- package/dist/config/compliance-checker.d.ts.map +1 -0
- package/dist/config/compliance-checker.js +424 -0
- package/dist/config/compliance-checker.js.map +1 -0
- package/dist/config/enterprise-config.d.ts +173 -0
- package/dist/config/enterprise-config.d.ts.map +1 -0
- package/dist/config/enterprise-config.js +190 -0
- package/dist/config/enterprise-config.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/context/context-system.d.ts +97 -0
- package/dist/context/context-system.d.ts.map +1 -0
- package/dist/context/context-system.js +880 -0
- package/dist/context/context-system.js.map +1 -0
- package/dist/context/store.d.ts +123 -0
- package/dist/context/store.d.ts.map +1 -0
- package/dist/context/store.js +281 -0
- package/dist/context/store.js.map +1 -0
- package/dist/dasp/dasp-controller.d.ts +83 -0
- package/dist/dasp/dasp-controller.d.ts.map +1 -0
- package/dist/dasp/dasp-controller.js +190 -0
- package/dist/dasp/dasp-controller.js.map +1 -0
- package/dist/dasp/feedback-adapter.d.ts +56 -0
- package/dist/dasp/feedback-adapter.d.ts.map +1 -0
- package/dist/dasp/feedback-adapter.js +158 -0
- package/dist/dasp/feedback-adapter.js.map +1 -0
- package/dist/dasp/index.d.ts +14 -0
- package/dist/dasp/index.d.ts.map +1 -0
- package/dist/dasp/index.js +10 -0
- package/dist/dasp/index.js.map +1 -0
- package/dist/dasp/prompt-templates.d.ts +38 -0
- package/dist/dasp/prompt-templates.d.ts.map +1 -0
- package/dist/dasp/prompt-templates.js +406 -0
- package/dist/dasp/prompt-templates.js.map +1 -0
- package/dist/dasp/vault-rag-provider.d.ts +51 -0
- package/dist/dasp/vault-rag-provider.d.ts.map +1 -0
- package/dist/dasp/vault-rag-provider.js +125 -0
- package/dist/dasp/vault-rag-provider.js.map +1 -0
- package/dist/distribution/cli-distribution.d.ts +68 -0
- package/dist/distribution/cli-distribution.d.ts.map +1 -0
- package/dist/distribution/cli-distribution.js +941 -0
- package/dist/distribution/cli-distribution.js.map +1 -0
- package/dist/docs/doc-generator.d.ts +78 -0
- package/dist/docs/doc-generator.d.ts.map +1 -0
- package/dist/docs/doc-generator.js +297 -0
- package/dist/docs/doc-generator.js.map +1 -0
- package/dist/docs/index.d.ts +13 -0
- package/dist/docs/index.d.ts.map +1 -0
- package/dist/docs/index.js +11 -0
- package/dist/docs/index.js.map +1 -0
- package/dist/docs/site-builder.d.ts +58 -0
- package/dist/docs/site-builder.d.ts.map +1 -0
- package/dist/docs/site-builder.js +229 -0
- package/dist/docs/site-builder.js.map +1 -0
- package/dist/ecosystem/adapters/claude-adapter.d.ts +29 -0
- package/dist/ecosystem/adapters/claude-adapter.d.ts.map +1 -0
- package/dist/ecosystem/adapters/claude-adapter.js +116 -0
- package/dist/ecosystem/adapters/claude-adapter.js.map +1 -0
- package/dist/ecosystem/adapters/cursor-adapter.d.ts +27 -0
- package/dist/ecosystem/adapters/cursor-adapter.d.ts.map +1 -0
- package/dist/ecosystem/adapters/cursor-adapter.js +93 -0
- package/dist/ecosystem/adapters/cursor-adapter.js.map +1 -0
- package/dist/ecosystem/adapters/v0-adapter.d.ts +30 -0
- package/dist/ecosystem/adapters/v0-adapter.d.ts.map +1 -0
- package/dist/ecosystem/adapters/v0-adapter.js +112 -0
- package/dist/ecosystem/adapters/v0-adapter.js.map +1 -0
- package/dist/ecosystem/ecosystem-router.d.ts +80 -0
- package/dist/ecosystem/ecosystem-router.d.ts.map +1 -0
- package/dist/ecosystem/ecosystem-router.js +241 -0
- package/dist/ecosystem/ecosystem-router.js.map +1 -0
- package/dist/ecosystem/ecosystem-types.d.ts +94 -0
- package/dist/ecosystem/ecosystem-types.d.ts.map +1 -0
- package/dist/ecosystem/ecosystem-types.js +27 -0
- package/dist/ecosystem/ecosystem-types.js.map +1 -0
- package/dist/ecosystem/index.d.ts +10 -0
- package/dist/ecosystem/index.d.ts.map +1 -0
- package/dist/ecosystem/index.js +9 -0
- package/dist/ecosystem/index.js.map +1 -0
- package/dist/integration/agentic-integration.d.ts +73 -0
- package/dist/integration/agentic-integration.d.ts.map +1 -0
- package/dist/integration/agentic-integration.js +253 -0
- package/dist/integration/agentic-integration.js.map +1 -0
- package/dist/integration/background-agents-integration.d.ts +54 -0
- package/dist/integration/background-agents-integration.d.ts.map +1 -0
- package/dist/integration/background-agents-integration.js +225 -0
- package/dist/integration/background-agents-integration.js.map +1 -0
- package/dist/integration/dcp-integration.d.ts +81 -0
- package/dist/integration/dcp-integration.d.ts.map +1 -0
- package/dist/integration/dcp-integration.js +189 -0
- package/dist/integration/dcp-integration.js.map +1 -0
- package/dist/integration/firecrawl-integration.d.ts +61 -0
- package/dist/integration/firecrawl-integration.d.ts.map +1 -0
- package/dist/integration/firecrawl-integration.js +246 -0
- package/dist/integration/firecrawl-integration.js.map +1 -0
- package/dist/integration/index.d.ts +40 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +43 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/integration-hub.d.ts +43 -0
- package/dist/integration/integration-hub.d.ts.map +1 -0
- package/dist/integration/integration-hub.js +507 -0
- package/dist/integration/integration-hub.js.map +1 -0
- package/dist/integration/integration-loader.d.ts +42 -0
- package/dist/integration/integration-loader.d.ts.map +1 -0
- package/dist/integration/integration-loader.js +240 -0
- package/dist/integration/integration-loader.js.map +1 -0
- package/dist/integration/md-table-formatter-integration.d.ts +41 -0
- package/dist/integration/md-table-formatter-integration.d.ts.map +1 -0
- package/dist/integration/md-table-formatter-integration.js +183 -0
- package/dist/integration/md-table-formatter-integration.js.map +1 -0
- package/dist/integration/native/agentic/agentic-engine.d.ts +52 -0
- package/dist/integration/native/agentic/agentic-engine.d.ts.map +1 -0
- package/dist/integration/native/agentic/agentic-engine.js +267 -0
- package/dist/integration/native/agentic/agentic-engine.js.map +1 -0
- package/dist/integration/native/background/background-engine.d.ts +62 -0
- package/dist/integration/native/background/background-engine.d.ts.map +1 -0
- package/dist/integration/native/background/background-engine.js +167 -0
- package/dist/integration/native/background/background-engine.js.map +1 -0
- package/dist/integration/native/dcp/dcp-engine.d.ts +55 -0
- package/dist/integration/native/dcp/dcp-engine.d.ts.map +1 -0
- package/dist/integration/native/dcp/dcp-engine.js +168 -0
- package/dist/integration/native/dcp/dcp-engine.js.map +1 -0
- package/dist/integration/native/firecrawl/firecrawl-engine.d.ts +66 -0
- package/dist/integration/native/firecrawl/firecrawl-engine.d.ts.map +1 -0
- package/dist/integration/native/firecrawl/firecrawl-engine.js +221 -0
- package/dist/integration/native/firecrawl/firecrawl-engine.js.map +1 -0
- package/dist/integration/native/formatter/formatter-engine.d.ts +47 -0
- package/dist/integration/native/formatter/formatter-engine.d.ts.map +1 -0
- package/dist/integration/native/formatter/formatter-engine.js +130 -0
- package/dist/integration/native/formatter/formatter-engine.js.map +1 -0
- package/dist/integration/native/index.d.ts +41 -0
- package/dist/integration/native/index.d.ts.map +1 -0
- package/dist/integration/native/index.js +80 -0
- package/dist/integration/native/index.js.map +1 -0
- package/dist/integration/native/orchestration/orchestration-engine.d.ts +62 -0
- package/dist/integration/native/orchestration/orchestration-engine.d.ts.map +1 -0
- package/dist/integration/native/orchestration/orchestration-engine.js +177 -0
- package/dist/integration/native/orchestration/orchestration-engine.js.map +1 -0
- package/dist/integration/native/pty/pty-engine.d.ts +45 -0
- package/dist/integration/native/pty/pty-engine.d.ts.map +1 -0
- package/dist/integration/native/pty/pty-engine.js +103 -0
- package/dist/integration/native/pty/pty-engine.js.map +1 -0
- package/dist/integration/native/shell-strategy.d.ts +60 -0
- package/dist/integration/native/shell-strategy.d.ts.map +1 -0
- package/dist/integration/native/shell-strategy.js +131 -0
- package/dist/integration/native/shell-strategy.js.map +1 -0
- package/dist/integration/native/skillful/skillful-engine.d.ts +53 -0
- package/dist/integration/native/skillful/skillful-engine.d.ts.map +1 -0
- package/dist/integration/native/skillful/skillful-engine.js +127 -0
- package/dist/integration/native/skillful/skillful-engine.js.map +1 -0
- package/dist/integration/native/subtask2/subtask2-engine.d.ts +50 -0
- package/dist/integration/native/subtask2/subtask2-engine.d.ts.map +1 -0
- package/dist/integration/native/subtask2/subtask2-engine.js +158 -0
- package/dist/integration/native/subtask2/subtask2-engine.js.map +1 -0
- package/dist/integration/native/supermemory/supermemory-engine.d.ts +63 -0
- package/dist/integration/native/supermemory/supermemory-engine.d.ts.map +1 -0
- package/dist/integration/native/supermemory/supermemory-engine.js +127 -0
- package/dist/integration/native/supermemory/supermemory-engine.js.map +1 -0
- package/dist/integration/native/workspace/workspace-engine.d.ts +75 -0
- package/dist/integration/native/workspace/workspace-engine.d.ts.map +1 -0
- package/dist/integration/native/workspace/workspace-engine.js +216 -0
- package/dist/integration/native/workspace/workspace-engine.js.map +1 -0
- package/dist/integration/oh-my-opencode-integration.d.ts +59 -0
- package/dist/integration/oh-my-opencode-integration.d.ts.map +1 -0
- package/dist/integration/oh-my-opencode-integration.js +180 -0
- package/dist/integration/oh-my-opencode-integration.js.map +1 -0
- package/dist/integration/openagents-control-integration.d.ts +81 -0
- package/dist/integration/openagents-control-integration.d.ts.map +1 -0
- package/dist/integration/openagents-control-integration.js +273 -0
- package/dist/integration/openagents-control-integration.js.map +1 -0
- package/dist/integration/pty-integration.d.ts +64 -0
- package/dist/integration/pty-integration.d.ts.map +1 -0
- package/dist/integration/pty-integration.js +180 -0
- package/dist/integration/pty-integration.js.map +1 -0
- package/dist/integration/shell-strategy-integration.d.ts +26 -0
- package/dist/integration/shell-strategy-integration.d.ts.map +1 -0
- package/dist/integration/shell-strategy-integration.js +110 -0
- package/dist/integration/shell-strategy-integration.js.map +1 -0
- package/dist/integration/skillful-integration.d.ts +74 -0
- package/dist/integration/skillful-integration.d.ts.map +1 -0
- package/dist/integration/skillful-integration.js +317 -0
- package/dist/integration/skillful-integration.js.map +1 -0
- package/dist/integration/subtask2-integration.d.ts +71 -0
- package/dist/integration/subtask2-integration.d.ts.map +1 -0
- package/dist/integration/subtask2-integration.js +240 -0
- package/dist/integration/subtask2-integration.js.map +1 -0
- package/dist/integration/supermemory-integration.d.ts +82 -0
- package/dist/integration/supermemory-integration.d.ts.map +1 -0
- package/dist/integration/supermemory-integration.js +252 -0
- package/dist/integration/supermemory-integration.js.map +1 -0
- package/dist/integration/types.d.ts +218 -0
- package/dist/integration/types.d.ts.map +1 -0
- package/dist/integration/types.js +5 -0
- package/dist/integration/types.js.map +1 -0
- package/dist/integration/workspace-integration.d.ts +46 -0
- package/dist/integration/workspace-integration.d.ts.map +1 -0
- package/dist/integration/workspace-integration.js +181 -0
- package/dist/integration/workspace-integration.js.map +1 -0
- package/dist/knowledge-vault/deepwiki-sync.d.ts +99 -0
- package/dist/knowledge-vault/deepwiki-sync.d.ts.map +1 -0
- package/dist/knowledge-vault/deepwiki-sync.js +381 -0
- package/dist/knowledge-vault/deepwiki-sync.js.map +1 -0
- package/dist/knowledge-vault/index.d.ts +11 -0
- package/dist/knowledge-vault/index.d.ts.map +1 -0
- package/dist/knowledge-vault/index.js +8 -0
- package/dist/knowledge-vault/index.js.map +1 -0
- package/dist/knowledge-vault/knowledge-vault.d.ts +38 -0
- package/dist/knowledge-vault/knowledge-vault.d.ts.map +1 -0
- package/dist/knowledge-vault/knowledge-vault.js +284 -0
- package/dist/knowledge-vault/knowledge-vault.js.map +1 -0
- package/dist/knowledge-vault/opencode-doc-ingest.d.ts +23 -0
- package/dist/knowledge-vault/opencode-doc-ingest.d.ts.map +1 -0
- package/dist/knowledge-vault/opencode-doc-ingest.js +48 -0
- package/dist/knowledge-vault/opencode-doc-ingest.js.map +1 -0
- package/dist/knowledge-vault/types.d.ts +61 -0
- package/dist/knowledge-vault/types.d.ts.map +1 -0
- package/dist/knowledge-vault/types.js +5 -0
- package/dist/knowledge-vault/types.js.map +1 -0
- package/dist/knowledge-vault/vault-config.d.ts +12 -0
- package/dist/knowledge-vault/vault-config.d.ts.map +1 -0
- package/dist/knowledge-vault/vault-config.js +24 -0
- package/dist/knowledge-vault/vault-config.js.map +1 -0
- package/dist/mcp/index.d.ts +28 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +29 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp-manager.d.ts +181 -0
- package/dist/mcp/mcp-manager.d.ts.map +1 -0
- package/dist/mcp/mcp-manager.js +621 -0
- package/dist/mcp/mcp-manager.js.map +1 -0
- package/dist/mcp/mcp-types.d.ts +199 -0
- package/dist/mcp/mcp-types.d.ts.map +1 -0
- package/dist/mcp/mcp-types.js +152 -0
- package/dist/mcp/mcp-types.js.map +1 -0
- package/dist/mcp/servers/mcp-server-bridge.d.ts +64 -0
- package/dist/mcp/servers/mcp-server-bridge.d.ts.map +1 -0
- package/dist/mcp/servers/mcp-server-bridge.js +189 -0
- package/dist/mcp/servers/mcp-server-bridge.js.map +1 -0
- package/dist/messages/message-bus.d.ts +148 -0
- package/dist/messages/message-bus.d.ts.map +1 -0
- package/dist/messages/message-bus.js +432 -0
- package/dist/messages/message-bus.js.map +1 -0
- package/dist/modes/custom-mode-registry.d.ts +121 -0
- package/dist/modes/custom-mode-registry.d.ts.map +1 -0
- package/dist/modes/custom-mode-registry.js +306 -0
- package/dist/modes/custom-mode-registry.js.map +1 -0
- package/dist/modes/index.d.ts +10 -0
- package/dist/modes/index.d.ts.map +1 -0
- package/dist/modes/index.js +8 -0
- package/dist/modes/index.js.map +1 -0
- package/dist/modes/mode-designer.d.ts +89 -0
- package/dist/modes/mode-designer.d.ts.map +1 -0
- package/dist/modes/mode-designer.js +485 -0
- package/dist/modes/mode-designer.js.map +1 -0
- package/dist/modes/mode-manager.d.ts +27 -0
- package/dist/modes/mode-manager.d.ts.map +1 -0
- package/dist/modes/mode-manager.js +68 -0
- package/dist/modes/mode-manager.js.map +1 -0
- package/dist/modes/synapse-modes.d.ts +26 -0
- package/dist/modes/synapse-modes.d.ts.map +1 -0
- package/dist/modes/synapse-modes.js +69 -0
- package/dist/modes/synapse-modes.js.map +1 -0
- package/dist/opencode/agent-delegate.d.ts +3 -0
- package/dist/opencode/agent-delegate.d.ts.map +1 -0
- package/dist/opencode/agent-delegate.js +3 -0
- package/dist/opencode/agent-delegate.js.map +1 -0
- package/dist/opencode/tool-bridge.d.ts +3 -0
- package/dist/opencode/tool-bridge.d.ts.map +1 -0
- package/dist/opencode/tool-bridge.js +3 -0
- package/dist/opencode/tool-bridge.js.map +1 -0
- package/dist/optimization/token-optimizer-v2.d.ts +18 -0
- package/dist/optimization/token-optimizer-v2.d.ts.map +1 -0
- package/dist/optimization/token-optimizer-v2.js +23 -0
- package/dist/optimization/token-optimizer-v2.js.map +1 -0
- package/dist/optimization/token-optimizer.d.ts +90 -0
- package/dist/optimization/token-optimizer.d.ts.map +1 -0
- package/dist/optimization/token-optimizer.js +399 -0
- package/dist/optimization/token-optimizer.js.map +1 -0
- package/dist/parallel/agent-farm.d.ts +123 -0
- package/dist/parallel/agent-farm.d.ts.map +1 -0
- package/dist/parallel/agent-farm.js +501 -0
- package/dist/parallel/agent-farm.js.map +1 -0
- package/dist/parallel/farm-scheduler.d.ts +115 -0
- package/dist/parallel/farm-scheduler.d.ts.map +1 -0
- package/dist/parallel/farm-scheduler.js +356 -0
- package/dist/parallel/farm-scheduler.js.map +1 -0
- package/dist/parallel/farm-types.d.ts +104 -0
- package/dist/parallel/farm-types.d.ts.map +1 -0
- package/dist/parallel/farm-types.js +9 -0
- package/dist/parallel/farm-types.js.map +1 -0
- package/dist/parallel/farm-worker.d.ts +62 -0
- package/dist/parallel/farm-worker.d.ts.map +1 -0
- package/dist/parallel/farm-worker.js +268 -0
- package/dist/parallel/farm-worker.js.map +1 -0
- package/dist/parallel/index.d.ts +14 -0
- package/dist/parallel/index.d.ts.map +1 -0
- package/dist/parallel/index.js +14 -0
- package/dist/parallel/index.js.map +1 -0
- package/dist/plugin/native-tools.d.ts +8 -0
- package/dist/plugin/native-tools.d.ts.map +1 -0
- package/dist/plugin/native-tools.js +147 -0
- package/dist/plugin/native-tools.js.map +1 -0
- package/dist/plugin/opencode-plugin.d.ts +32 -0
- package/dist/plugin/opencode-plugin.d.ts.map +1 -0
- package/dist/plugin/opencode-plugin.js +119 -0
- package/dist/plugin/opencode-plugin.js.map +1 -0
- package/dist/plugins/plugin-system.d.ts +108 -0
- package/dist/plugins/plugin-system.d.ts.map +1 -0
- package/dist/plugins/plugin-system.js +707 -0
- package/dist/plugins/plugin-system.js.map +1 -0
- package/dist/profiler/cpu-profiler.d.ts +53 -0
- package/dist/profiler/cpu-profiler.d.ts.map +1 -0
- package/dist/profiler/cpu-profiler.js +233 -0
- package/dist/profiler/cpu-profiler.js.map +1 -0
- package/dist/profiler/index.d.ts +36 -0
- package/dist/profiler/index.d.ts.map +1 -0
- package/dist/profiler/index.js +122 -0
- package/dist/profiler/index.js.map +1 -0
- package/dist/profiler/memory-profiler.d.ts +45 -0
- package/dist/profiler/memory-profiler.d.ts.map +1 -0
- package/dist/profiler/memory-profiler.js +211 -0
- package/dist/profiler/memory-profiler.js.map +1 -0
- package/dist/profiler/profiler-types.d.ts +234 -0
- package/dist/profiler/profiler-types.d.ts.map +1 -0
- package/dist/profiler/profiler-types.js +89 -0
- package/dist/profiler/profiler-types.js.map +1 -0
- package/dist/profiler/query-profiler.d.ts +48 -0
- package/dist/profiler/query-profiler.d.ts.map +1 -0
- package/dist/profiler/query-profiler.js +210 -0
- package/dist/profiler/query-profiler.js.map +1 -0
- package/dist/profiler/report-generator.d.ts +17 -0
- package/dist/profiler/report-generator.d.ts.map +1 -0
- package/dist/profiler/report-generator.js +329 -0
- package/dist/profiler/report-generator.js.map +1 -0
- package/dist/sdk/api.d.ts +85 -0
- package/dist/sdk/api.d.ts.map +1 -0
- package/dist/sdk/api.js +155 -0
- package/dist/sdk/api.js.map +1 -0
- package/dist/sdk/hooks.d.ts +58 -0
- package/dist/sdk/hooks.d.ts.map +1 -0
- package/dist/sdk/hooks.js +115 -0
- package/dist/sdk/hooks.js.map +1 -0
- package/dist/sdk/index.d.ts +17 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +14 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/plugin-base.d.ts +198 -0
- package/dist/sdk/plugin-base.d.ts.map +1 -0
- package/dist/sdk/plugin-base.js +227 -0
- package/dist/sdk/plugin-base.js.map +1 -0
- package/dist/security/audit-rules.d.ts +12 -0
- package/dist/security/audit-rules.d.ts.map +1 -0
- package/dist/security/audit-rules.js +214 -0
- package/dist/security/audit-rules.js.map +1 -0
- package/dist/security/index.d.ts +13 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +13 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/sarif-exporter.d.ts +36 -0
- package/dist/security/sarif-exporter.d.ts.map +1 -0
- package/dist/security/sarif-exporter.js +216 -0
- package/dist/security/sarif-exporter.js.map +1 -0
- package/dist/security/security-auditor.d.ts +30 -0
- package/dist/security/security-auditor.d.ts.map +1 -0
- package/dist/security/security-auditor.js +295 -0
- package/dist/security/security-auditor.js.map +1 -0
- package/dist/security/security-types.d.ts +132 -0
- package/dist/security/security-types.d.ts.map +1 -0
- package/dist/security/security-types.js +7 -0
- package/dist/security/security-types.js.map +1 -0
- package/dist/synapsexcoder/agent-delegate.d.ts +128 -0
- package/dist/synapsexcoder/agent-delegate.d.ts.map +1 -0
- package/dist/synapsexcoder/agent-delegate.js +837 -0
- package/dist/synapsexcoder/agent-delegate.js.map +1 -0
- package/dist/synapsexcoder/agent-mailbox.d.ts +26 -0
- package/dist/synapsexcoder/agent-mailbox.d.ts.map +1 -0
- package/dist/synapsexcoder/agent-mailbox.js +64 -0
- package/dist/synapsexcoder/agent-mailbox.js.map +1 -0
- package/dist/synapsexcoder/ast-grep/ast-grep-api.d.ts +62 -0
- package/dist/synapsexcoder/ast-grep/ast-grep-api.d.ts.map +1 -0
- package/dist/synapsexcoder/ast-grep/ast-grep-api.js +223 -0
- package/dist/synapsexcoder/ast-grep/ast-grep-api.js.map +1 -0
- package/dist/synapsexcoder/cited-search.d.ts +32 -0
- package/dist/synapsexcoder/cited-search.d.ts.map +1 -0
- package/dist/synapsexcoder/cited-search.js +141 -0
- package/dist/synapsexcoder/cited-search.js.map +1 -0
- package/dist/synapsexcoder/credential-store.d.ts +42 -0
- package/dist/synapsexcoder/credential-store.d.ts.map +1 -0
- package/dist/synapsexcoder/credential-store.js +165 -0
- package/dist/synapsexcoder/credential-store.js.map +1 -0
- package/dist/synapsexcoder/devcontainer-awareness.d.ts +35 -0
- package/dist/synapsexcoder/devcontainer-awareness.d.ts.map +1 -0
- package/dist/synapsexcoder/devcontainer-awareness.js +133 -0
- package/dist/synapsexcoder/devcontainer-awareness.js.map +1 -0
- package/dist/synapsexcoder/execution-loops/helix-loop.d.ts +31 -0
- package/dist/synapsexcoder/execution-loops/helix-loop.d.ts.map +1 -0
- package/dist/synapsexcoder/execution-loops/helix-loop.js +93 -0
- package/dist/synapsexcoder/execution-loops/helix-loop.js.map +1 -0
- package/dist/synapsexcoder/execution-loops/ralp-loop.d.ts +28 -0
- package/dist/synapsexcoder/execution-loops/ralp-loop.d.ts.map +1 -0
- package/dist/synapsexcoder/execution-loops/ralp-loop.js +77 -0
- package/dist/synapsexcoder/execution-loops/ralp-loop.js.map +1 -0
- package/dist/synapsexcoder/feature-names.d.ts +27 -0
- package/dist/synapsexcoder/feature-names.d.ts.map +1 -0
- package/dist/synapsexcoder/feature-names.js +40 -0
- package/dist/synapsexcoder/feature-names.js.map +1 -0
- package/dist/synapsexcoder/index.d.ts +39 -0
- package/dist/synapsexcoder/index.d.ts.map +1 -0
- package/dist/synapsexcoder/index.js +23 -0
- package/dist/synapsexcoder/index.js.map +1 -0
- package/dist/synapsexcoder/knowledge-provider.d.ts +44 -0
- package/dist/synapsexcoder/knowledge-provider.d.ts.map +1 -0
- package/dist/synapsexcoder/knowledge-provider.js +107 -0
- package/dist/synapsexcoder/knowledge-provider.js.map +1 -0
- package/dist/synapsexcoder/lsp/lsp-layer.d.ts +51 -0
- package/dist/synapsexcoder/lsp/lsp-layer.d.ts.map +1 -0
- package/dist/synapsexcoder/lsp/lsp-layer.js +302 -0
- package/dist/synapsexcoder/lsp/lsp-layer.js.map +1 -0
- package/dist/synapsexcoder/migration/opencode-config-migrator.d.ts +37 -0
- package/dist/synapsexcoder/migration/opencode-config-migrator.d.ts.map +1 -0
- package/dist/synapsexcoder/migration/opencode-config-migrator.js +100 -0
- package/dist/synapsexcoder/migration/opencode-config-migrator.js.map +1 -0
- package/dist/synapsexcoder/runtime-environment.d.ts +35 -0
- package/dist/synapsexcoder/runtime-environment.d.ts.map +1 -0
- package/dist/synapsexcoder/runtime-environment.js +108 -0
- package/dist/synapsexcoder/runtime-environment.js.map +1 -0
- package/dist/synapsexcoder/secret-guard.d.ts +18 -0
- package/dist/synapsexcoder/secret-guard.d.ts.map +1 -0
- package/dist/synapsexcoder/secret-guard.js +69 -0
- package/dist/synapsexcoder/secret-guard.js.map +1 -0
- package/dist/synapsexcoder/self-prompt-engine.d.ts +15 -0
- package/dist/synapsexcoder/self-prompt-engine.d.ts.map +1 -0
- package/dist/synapsexcoder/self-prompt-engine.js +11 -0
- package/dist/synapsexcoder/self-prompt-engine.js.map +1 -0
- package/dist/synapsexcoder/session-observability.d.ts +44 -0
- package/dist/synapsexcoder/session-observability.d.ts.map +1 -0
- package/dist/synapsexcoder/session-observability.js +115 -0
- package/dist/synapsexcoder/session-observability.js.map +1 -0
- package/dist/synapsexcoder/specialist-agents.d.ts +38 -0
- package/dist/synapsexcoder/specialist-agents.d.ts.map +1 -0
- package/dist/synapsexcoder/specialist-agents.js +192 -0
- package/dist/synapsexcoder/specialist-agents.js.map +1 -0
- package/dist/synapsexcoder/swarm/kanban-board.d.ts +34 -0
- package/dist/synapsexcoder/swarm/kanban-board.d.ts.map +1 -0
- package/dist/synapsexcoder/swarm/kanban-board.js +85 -0
- package/dist/synapsexcoder/swarm/kanban-board.js.map +1 -0
- package/dist/synapsexcoder/swarm/swarm-mailbox.d.ts +38 -0
- package/dist/synapsexcoder/swarm/swarm-mailbox.d.ts.map +1 -0
- package/dist/synapsexcoder/swarm/swarm-mailbox.js +93 -0
- package/dist/synapsexcoder/swarm/swarm-mailbox.js.map +1 -0
- package/dist/synapsexcoder/tool-bridge.d.ts +277 -0
- package/dist/synapsexcoder/tool-bridge.d.ts.map +1 -0
- package/dist/synapsexcoder/tool-bridge.js +1356 -0
- package/dist/synapsexcoder/tool-bridge.js.map +1 -0
- package/dist/synapsexcoder/tool-routing.d.ts +28 -0
- package/dist/synapsexcoder/tool-routing.d.ts.map +1 -0
- package/dist/synapsexcoder/tool-routing.js +79 -0
- package/dist/synapsexcoder/tool-routing.js.map +1 -0
- package/dist/synapsexcoder/type-injector.d.ts +26 -0
- package/dist/synapsexcoder/type-injector.d.ts.map +1 -0
- package/dist/synapsexcoder/type-injector.js +124 -0
- package/dist/synapsexcoder/type-injector.js.map +1 -0
- package/dist/synapsexcoder/utils/fuzzy-match.d.ts +25 -0
- package/dist/synapsexcoder/utils/fuzzy-match.d.ts.map +1 -0
- package/dist/synapsexcoder/utils/fuzzy-match.js +83 -0
- package/dist/synapsexcoder/utils/fuzzy-match.js.map +1 -0
- package/dist/synapsexcoder/vault-crawl.d.ts +29 -0
- package/dist/synapsexcoder/vault-crawl.d.ts.map +1 -0
- package/dist/synapsexcoder/vault-crawl.js +103 -0
- package/dist/synapsexcoder/vault-crawl.js.map +1 -0
- package/dist/synapsexcoder/verified-apply.d.ts +39 -0
- package/dist/synapsexcoder/verified-apply.d.ts.map +1 -0
- package/dist/synapsexcoder/verified-apply.js +81 -0
- package/dist/synapsexcoder/verified-apply.js.map +1 -0
- package/dist/synapsexcoder/verified-context-editing.d.ts +34 -0
- package/dist/synapsexcoder/verified-context-editing.d.ts.map +1 -0
- package/dist/synapsexcoder/verified-context-editing.js +80 -0
- package/dist/synapsexcoder/verified-context-editing.js.map +1 -0
- package/dist/synapsexcoder/worker-pool.d.ts +47 -0
- package/dist/synapsexcoder/worker-pool.d.ts.map +1 -0
- package/dist/synapsexcoder/worker-pool.js +120 -0
- package/dist/synapsexcoder/worker-pool.js.map +1 -0
- package/dist/synapsexcoder/workspace-intelligence.d.ts +35 -0
- package/dist/synapsexcoder/workspace-intelligence.d.ts.map +1 -0
- package/dist/synapsexcoder/workspace-intelligence.js +126 -0
- package/dist/synapsexcoder/workspace-intelligence.js.map +1 -0
- package/dist/synapsexcoder/worktree-manager.d.ts +31 -0
- package/dist/synapsexcoder/worktree-manager.d.ts.map +1 -0
- package/dist/synapsexcoder/worktree-manager.js +100 -0
- package/dist/synapsexcoder/worktree-manager.js.map +1 -0
- package/dist/team/index.d.ts +17 -0
- package/dist/team/index.d.ts.map +1 -0
- package/dist/team/index.js +13 -0
- package/dist/team/index.js.map +1 -0
- package/dist/team/team-audit.d.ts +120 -0
- package/dist/team/team-audit.d.ts.map +1 -0
- package/dist/team/team-audit.js +357 -0
- package/dist/team/team-audit.js.map +1 -0
- package/dist/team/team-collaboration.d.ts +150 -0
- package/dist/team/team-collaboration.d.ts.map +1 -0
- package/dist/team/team-collaboration.js +495 -0
- package/dist/team/team-collaboration.js.map +1 -0
- package/dist/team/team-rbac.d.ts +84 -0
- package/dist/team/team-rbac.d.ts.map +1 -0
- package/dist/team/team-rbac.js +259 -0
- package/dist/team/team-rbac.js.map +1 -0
- package/dist/team/team-session-manager.d.ts +100 -0
- package/dist/team/team-session-manager.d.ts.map +1 -0
- package/dist/team/team-session-manager.js +255 -0
- package/dist/team/team-session-manager.js.map +1 -0
- package/dist/thoughts/thoughts-manager.d.ts +52 -0
- package/dist/thoughts/thoughts-manager.d.ts.map +1 -0
- package/dist/thoughts/thoughts-manager.js +271 -0
- package/dist/thoughts/thoughts-manager.js.map +1 -0
- package/dist/tools/api-validator/index.d.ts +97 -0
- package/dist/tools/api-validator/index.d.ts.map +1 -0
- package/dist/tools/api-validator/index.js +312 -0
- package/dist/tools/api-validator/index.js.map +1 -0
- package/dist/tools/code-archaeology/index.d.ts +193 -0
- package/dist/tools/code-archaeology/index.d.ts.map +1 -0
- package/dist/tools/code-archaeology/index.js +468 -0
- package/dist/tools/code-archaeology/index.js.map +1 -0
- package/dist/tools/codebase-search/index.d.ts +126 -0
- package/dist/tools/codebase-search/index.d.ts.map +1 -0
- package/dist/tools/codebase-search/index.js +437 -0
- package/dist/tools/codebase-search/index.js.map +1 -0
- package/dist/tools/context/index.d.ts +162 -0
- package/dist/tools/context/index.d.ts.map +1 -0
- package/dist/tools/context/index.js +332 -0
- package/dist/tools/context/index.js.map +1 -0
- package/dist/tools/deepwiki/analyzer.d.ts +167 -0
- package/dist/tools/deepwiki/analyzer.d.ts.map +1 -0
- package/dist/tools/deepwiki/analyzer.js +925 -0
- package/dist/tools/deepwiki/analyzer.js.map +1 -0
- package/dist/tools/deepwiki/extractor.d.ts +151 -0
- package/dist/tools/deepwiki/extractor.d.ts.map +1 -0
- package/dist/tools/deepwiki/extractor.js +923 -0
- package/dist/tools/deepwiki/extractor.js.map +1 -0
- package/dist/tools/deepwiki/generator.d.ts +89 -0
- package/dist/tools/deepwiki/generator.d.ts.map +1 -0
- package/dist/tools/deepwiki/generator.js +638 -0
- package/dist/tools/deepwiki/generator.js.map +1 -0
- package/dist/tools/deepwiki/index.d.ts +96 -0
- package/dist/tools/deepwiki/index.d.ts.map +1 -0
- package/dist/tools/deepwiki/index.js +282 -0
- package/dist/tools/deepwiki/index.js.map +1 -0
- package/dist/tools/deepwiki/types.d.ts +370 -0
- package/dist/tools/deepwiki/types.d.ts.map +1 -0
- package/dist/tools/deepwiki/types.js +21 -0
- package/dist/tools/deepwiki/types.js.map +1 -0
- package/dist/tools/dependency-mapper/index.d.ts +212 -0
- package/dist/tools/dependency-mapper/index.d.ts.map +1 -0
- package/dist/tools/dependency-mapper/index.js +592 -0
- package/dist/tools/dependency-mapper/index.js.map +1 -0
- package/dist/tools/memory/index.d.ts +120 -0
- package/dist/tools/memory/index.d.ts.map +1 -0
- package/dist/tools/memory/index.js +275 -0
- package/dist/tools/memory/index.js.map +1 -0
- package/dist/tools/normalize_patch.d.ts +3 -0
- package/dist/tools/normalize_patch.d.ts.map +1 -0
- package/dist/tools/normalize_patch.js +22 -0
- package/dist/tools/normalize_patch.js.map +1 -0
- package/dist/tools/pattern-detector/index.d.ts +105 -0
- package/dist/tools/pattern-detector/index.d.ts.map +1 -0
- package/dist/tools/pattern-detector/index.js +526 -0
- package/dist/tools/pattern-detector/index.js.map +1 -0
- package/dist/tools/performance-profiler/index.d.ts +50 -0
- package/dist/tools/performance-profiler/index.d.ts.map +1 -0
- package/dist/tools/performance-profiler/index.js +164 -0
- package/dist/tools/performance-profiler/index.js.map +1 -0
- package/dist/tools/refactoring-engine/index.d.ts +63 -0
- package/dist/tools/refactoring-engine/index.d.ts.map +1 -0
- package/dist/tools/refactoring-engine/index.js +270 -0
- package/dist/tools/refactoring-engine/index.js.map +1 -0
- package/dist/tools/registry.d.ts +36 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +499 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/test-generator/index.d.ts +152 -0
- package/dist/tools/test-generator/index.d.ts.map +1 -0
- package/dist/tools/test-generator/index.js +448 -0
- package/dist/tools/test-generator/index.js.map +1 -0
- package/dist/types/index.d.ts +565 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/path-validator.d.ts +94 -0
- package/dist/utils/path-validator.d.ts.map +1 -0
- package/dist/utils/path-validator.js +192 -0
- package/dist/utils/path-validator.js.map +1 -0
- package/dist/utils/secure-exec.d.ts +92 -0
- package/dist/utils/secure-exec.d.ts.map +1 -0
- package/dist/utils/secure-exec.js +230 -0
- package/dist/utils/secure-exec.js.map +1 -0
- package/dist/verification/claim-parser.d.ts +37 -0
- package/dist/verification/claim-parser.d.ts.map +1 -0
- package/dist/verification/claim-parser.js +231 -0
- package/dist/verification/claim-parser.js.map +1 -0
- package/dist/verification/cross-reference-engine.d.ts +55 -0
- package/dist/verification/cross-reference-engine.d.ts.map +1 -0
- package/dist/verification/cross-reference-engine.js +149 -0
- package/dist/verification/cross-reference-engine.js.map +1 -0
- package/dist/verification/discrepancy-tracker.d.ts +73 -0
- package/dist/verification/discrepancy-tracker.d.ts.map +1 -0
- package/dist/verification/discrepancy-tracker.js +196 -0
- package/dist/verification/discrepancy-tracker.js.map +1 -0
- package/dist/verification/feature-reconciler.d.ts +90 -0
- package/dist/verification/feature-reconciler.d.ts.map +1 -0
- package/dist/verification/feature-reconciler.js +264 -0
- package/dist/verification/feature-reconciler.js.map +1 -0
- package/dist/verification/index.d.ts +16 -0
- package/dist/verification/index.d.ts.map +1 -0
- package/dist/verification/index.js +19 -0
- package/dist/verification/index.js.map +1 -0
- package/dist/verification/integration-verifier.d.ts +66 -0
- package/dist/verification/integration-verifier.d.ts.map +1 -0
- package/dist/verification/integration-verifier.js +210 -0
- package/dist/verification/integration-verifier.js.map +1 -0
- package/dist/verification/recursive-audit-loop.d.ts +56 -0
- package/dist/verification/recursive-audit-loop.d.ts.map +1 -0
- package/dist/verification/recursive-audit-loop.js +136 -0
- package/dist/verification/recursive-audit-loop.js.map +1 -0
- package/dist/verification/runtime-verifier.d.ts +37 -0
- package/dist/verification/runtime-verifier.d.ts.map +1 -0
- package/dist/verification/runtime-verifier.js +221 -0
- package/dist/verification/runtime-verifier.js.map +1 -0
- package/dist/verification/types.d.ts +88 -0
- package/dist/verification/types.d.ts.map +1 -0
- package/dist/verification/types.js +5 -0
- package/dist/verification/types.js.map +1 -0
- package/dist/verification/verification-engine.d.ts +48 -0
- package/dist/verification/verification-engine.d.ts.map +1 -0
- package/dist/verification/verification-engine.js +203 -0
- package/dist/verification/verification-engine.js.map +1 -0
- package/opencode-agents/synapse-analyzer.md +64 -0
- package/opencode-agents/synapse-debugger.md +43 -0
- package/opencode-agents/synapse-diff-validator.md +42 -0
- package/opencode-agents/synapse-gatekeeper.md +273 -0
- package/opencode-agents/synapse-master.md +167 -0
- package/opencode-agents/synapse-planner.md +55 -0
- package/opencode-agents/synapse-researcher.md +61 -0
- package/opencode-agents/synapse-reviewer.md +64 -0
- package/opencode-agents/synapse-rewriter.md +62 -0
- package/opencode-agents/synapse-strategist.md +50 -0
- package/opencode-agents/synapse-test-runner.md +43 -0
- package/opencode-agents/synapse-ui-designer.md +61 -0
- package/opencode-agents/synapse-verifier.md +544 -0
- package/package.json +108 -0
- package/src/plugin/opencode-plugin.ts +141 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Integration — Dynamic Context Pruning
|
|
3
|
+
*
|
|
4
|
+
* Hard-wired adaptation of @tarquinen/opencode-dcp v3.1.12
|
|
5
|
+
* Source: https://github.com/Opencode-DCP/opencode-dynamic-context-pruning
|
|
6
|
+
*
|
|
7
|
+
* Automatically reduces token usage by managing conversation context through:
|
|
8
|
+
* - AI-driven compression of stale conversation spans
|
|
9
|
+
* - Automatic deduplication of repeated tool outputs
|
|
10
|
+
* - Superseding writes that are later read
|
|
11
|
+
* - Purging failed tool inputs after N turns
|
|
12
|
+
*/
|
|
13
|
+
import type { PluginModule } from "../plugins/plugin-system.js";
|
|
14
|
+
import type { CompressionResult, DcpStrategyResult, DcpConfig } from "./types.js";
|
|
15
|
+
export declare class DcpEngine {
|
|
16
|
+
private config;
|
|
17
|
+
private totalTokensSaved;
|
|
18
|
+
private compressCount;
|
|
19
|
+
constructor(config?: DcpConfig);
|
|
20
|
+
/**
|
|
21
|
+
* Compress a range of conversation messages into a summary.
|
|
22
|
+
* Preserves protected tool outputs and file patterns in the summary.
|
|
23
|
+
*/
|
|
24
|
+
compress(messages: Array<{
|
|
25
|
+
role: string;
|
|
26
|
+
content: string;
|
|
27
|
+
tool?: string;
|
|
28
|
+
}>, range: {
|
|
29
|
+
start: number;
|
|
30
|
+
end: number;
|
|
31
|
+
}): CompressionResult;
|
|
32
|
+
/**
|
|
33
|
+
* Run automatic deduplication — keep only the latest output for
|
|
34
|
+
* repeated tool calls (e.g., repeated file reads).
|
|
35
|
+
*/
|
|
36
|
+
deduplicate(messages: Array<{
|
|
37
|
+
role: string;
|
|
38
|
+
content: string;
|
|
39
|
+
tool?: string;
|
|
40
|
+
id?: string;
|
|
41
|
+
}>): DcpStrategyResult;
|
|
42
|
+
/**
|
|
43
|
+
* Supersede writes — if a file was written and then later read,
|
|
44
|
+
* prune the write output since the read provides the current state.
|
|
45
|
+
*/
|
|
46
|
+
supersedeWrites(messages: Array<{
|
|
47
|
+
role: string;
|
|
48
|
+
content: string;
|
|
49
|
+
tool?: string;
|
|
50
|
+
file?: string;
|
|
51
|
+
}>): DcpStrategyResult;
|
|
52
|
+
/**
|
|
53
|
+
* Purge errors — remove inputs of tools that have consistently failed
|
|
54
|
+
* after maxErrorTurns.
|
|
55
|
+
*/
|
|
56
|
+
purgeErrors(messages: Array<{
|
|
57
|
+
role: string;
|
|
58
|
+
content: string;
|
|
59
|
+
tool?: string;
|
|
60
|
+
error?: boolean;
|
|
61
|
+
}>): DcpStrategyResult;
|
|
62
|
+
/** Run all automatic strategies */
|
|
63
|
+
runAutoStrategies(messages: Array<{
|
|
64
|
+
role: string;
|
|
65
|
+
content: string;
|
|
66
|
+
tool?: string;
|
|
67
|
+
id?: string;
|
|
68
|
+
file?: string;
|
|
69
|
+
error?: boolean;
|
|
70
|
+
}>): DcpStrategyResult[];
|
|
71
|
+
/** Get total tokens saved since engine start */
|
|
72
|
+
getTotalTokensSaved(): number;
|
|
73
|
+
/** Get compression run count */
|
|
74
|
+
getCompressCount(): number;
|
|
75
|
+
/** Estimate tokens from text content (simple heuristic: ~4 chars per token) */
|
|
76
|
+
private estimateTokens;
|
|
77
|
+
}
|
|
78
|
+
/** Plugin module adapter */
|
|
79
|
+
export declare const dcpPlugin: PluginModule;
|
|
80
|
+
export default dcpPlugin;
|
|
81
|
+
//# sourceMappingURL=dcp-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcp-integration.d.ts","sourceRoot":"","sources":["../../src/integration/dcp-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,GAAE,SAAc;IAclC;;;OAGG;IACH,QAAQ,CACN,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACjE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GACpC,iBAAiB;IAiDpB;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAC7E,iBAAiB;IAgCpB;;;OAGG;IACH,eAAe,CACb,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAC/E,iBAAiB;IAgCpB;;;OAGG;IACH,WAAW,CACT,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GACjF,iBAAiB;IAkCpB,mCAAmC;IACnC,iBAAiB,CACf,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,GAC7G,iBAAiB,EAAE;IAQtB,gDAAgD;IAChD,mBAAmB,IAAI,MAAM;IAI7B,gCAAgC;IAChC,gBAAgB,IAAI,MAAM;IAI1B,+EAA+E;IAC/E,OAAO,CAAC,cAAc;CAMvB;AAED,4BAA4B;AAC5B,eAAO,MAAM,SAAS,EAAE,YAOvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Integration — Dynamic Context Pruning
|
|
3
|
+
*
|
|
4
|
+
* Hard-wired adaptation of @tarquinen/opencode-dcp v3.1.12
|
|
5
|
+
* Source: https://github.com/Opencode-DCP/opencode-dynamic-context-pruning
|
|
6
|
+
*
|
|
7
|
+
* Automatically reduces token usage by managing conversation context through:
|
|
8
|
+
* - AI-driven compression of stale conversation spans
|
|
9
|
+
* - Automatic deduplication of repeated tool outputs
|
|
10
|
+
* - Superseding writes that are later read
|
|
11
|
+
* - Purging failed tool inputs after N turns
|
|
12
|
+
*/
|
|
13
|
+
export class DcpEngine {
|
|
14
|
+
config;
|
|
15
|
+
totalTokensSaved = 0;
|
|
16
|
+
compressCount = 0;
|
|
17
|
+
constructor(config = {}) {
|
|
18
|
+
this.config = {
|
|
19
|
+
enabled: true,
|
|
20
|
+
compressionMode: "range",
|
|
21
|
+
deduplication: true,
|
|
22
|
+
supersedeWrites: true,
|
|
23
|
+
purgeErrors: true,
|
|
24
|
+
maxErrorTurns: 3,
|
|
25
|
+
protectedTools: ["subagent", "skill"],
|
|
26
|
+
protectedFilePatterns: ["*.md", "*.json", "*.yaml", "*.ts", "*.py"],
|
|
27
|
+
...config,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Compress a range of conversation messages into a summary.
|
|
32
|
+
* Preserves protected tool outputs and file patterns in the summary.
|
|
33
|
+
*/
|
|
34
|
+
compress(messages, range) {
|
|
35
|
+
const subset = messages.slice(range.start, range.end + 1);
|
|
36
|
+
const originalTokens = this.estimateTokens(subset);
|
|
37
|
+
// Identify protected content
|
|
38
|
+
const protectedContent = subset.filter((m) => m.tool &&
|
|
39
|
+
(this.config.protectedTools?.includes(m.tool) ||
|
|
40
|
+
this.config.protectedFilePatterns?.some((p) => m.content.includes(p.replace("*", "")))));
|
|
41
|
+
// Build summary
|
|
42
|
+
const summaryParts = [];
|
|
43
|
+
for (const msg of subset) {
|
|
44
|
+
if (protectedContent.includes(msg)) {
|
|
45
|
+
summaryParts.push(`[PROTECTED ${msg.tool}]: ${msg.content.slice(0, 200)}`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const lines = msg.content.split("\n").filter((l) => l.trim());
|
|
49
|
+
const condensed = lines
|
|
50
|
+
.map((l) => l.length > 100 ? l.slice(0, 100) + "..." : l)
|
|
51
|
+
.join("; ");
|
|
52
|
+
summaryParts.push(`[${msg.role}]: ${condensed}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const summary = summaryParts.join("\n");
|
|
56
|
+
const compressedTokens = this.estimateTokens([{ role: "system", content: summary }]);
|
|
57
|
+
const compressionRatio = originalTokens > 0
|
|
58
|
+
? Math.round((1 - compressedTokens / originalTokens) * 100)
|
|
59
|
+
: 0;
|
|
60
|
+
this.totalTokensSaved += originalTokens - compressedTokens;
|
|
61
|
+
this.compressCount++;
|
|
62
|
+
return {
|
|
63
|
+
originalTokens,
|
|
64
|
+
compressedTokens,
|
|
65
|
+
compressionRatio,
|
|
66
|
+
summary,
|
|
67
|
+
compressedRanges: [range],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Run automatic deduplication — keep only the latest output for
|
|
72
|
+
* repeated tool calls (e.g., repeated file reads).
|
|
73
|
+
*/
|
|
74
|
+
deduplicate(messages) {
|
|
75
|
+
if (!this.config.deduplication) {
|
|
76
|
+
return { strategy: "deduplication", tokensSaved: 0, details: "Disabled" };
|
|
77
|
+
}
|
|
78
|
+
const seen = new Map();
|
|
79
|
+
const toRemove = [];
|
|
80
|
+
for (let i = 0; i < messages.length; i++) {
|
|
81
|
+
const msg = messages[i];
|
|
82
|
+
if (msg.tool && msg.id) {
|
|
83
|
+
const key = `${msg.tool}:${msg.id}`;
|
|
84
|
+
if (seen.has(key)) {
|
|
85
|
+
toRemove.push(seen.get(key));
|
|
86
|
+
}
|
|
87
|
+
seen.set(key, i);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const tokensSaved = toRemove.reduce((sum, idx) => sum + this.estimateTokens([messages[idx]]), 0);
|
|
91
|
+
this.totalTokensSaved += tokensSaved;
|
|
92
|
+
return {
|
|
93
|
+
strategy: "deduplication",
|
|
94
|
+
tokensSaved,
|
|
95
|
+
details: `Removed ${toRemove.length} duplicate tool outputs`,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Supersede writes — if a file was written and then later read,
|
|
100
|
+
* prune the write output since the read provides the current state.
|
|
101
|
+
*/
|
|
102
|
+
supersedeWrites(messages) {
|
|
103
|
+
if (!this.config.supersedeWrites) {
|
|
104
|
+
return { strategy: "supersedeWrites", tokensSaved: 0, details: "Disabled" };
|
|
105
|
+
}
|
|
106
|
+
const readFiles = new Set();
|
|
107
|
+
const writeIndices = [];
|
|
108
|
+
// Scan backwards — find reads first, then matching writes
|
|
109
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
110
|
+
const msg = messages[i];
|
|
111
|
+
if (msg.tool === "read" && msg.file) {
|
|
112
|
+
readFiles.add(msg.file);
|
|
113
|
+
}
|
|
114
|
+
else if (msg.tool === "write" && msg.file && readFiles.has(msg.file)) {
|
|
115
|
+
writeIndices.push(i);
|
|
116
|
+
readFiles.delete(msg.file); // Only supersede the most recent write before read
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const tokensSaved = writeIndices.reduce((sum, idx) => sum + this.estimateTokens([messages[idx]]), 0);
|
|
120
|
+
this.totalTokensSaved += tokensSaved;
|
|
121
|
+
return {
|
|
122
|
+
strategy: "supersedeWrites",
|
|
123
|
+
tokensSaved,
|
|
124
|
+
details: `Superseded ${writeIndices.length} write operations`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Purge errors — remove inputs of tools that have consistently failed
|
|
129
|
+
* after maxErrorTurns.
|
|
130
|
+
*/
|
|
131
|
+
purgeErrors(messages) {
|
|
132
|
+
if (!this.config.purgeErrors) {
|
|
133
|
+
return { strategy: "purgeErrors", tokensSaved: 0, details: "Disabled" };
|
|
134
|
+
}
|
|
135
|
+
const failCount = new Map();
|
|
136
|
+
const toRemove = [];
|
|
137
|
+
for (let i = 0; i < messages.length; i++) {
|
|
138
|
+
const msg = messages[i];
|
|
139
|
+
if (msg.error && msg.tool) {
|
|
140
|
+
const count = (failCount.get(msg.tool) || 0) + 1;
|
|
141
|
+
failCount.set(msg.tool, count);
|
|
142
|
+
if (count >= (this.config.maxErrorTurns || 3)) {
|
|
143
|
+
// Remove the input that led to this failure
|
|
144
|
+
if (i > 0)
|
|
145
|
+
toRemove.push(i - 1);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const tokensSaved = toRemove.reduce((sum, idx) => sum + this.estimateTokens([messages[idx]]), 0);
|
|
150
|
+
this.totalTokensSaved += tokensSaved;
|
|
151
|
+
return {
|
|
152
|
+
strategy: "purgeErrors",
|
|
153
|
+
tokensSaved,
|
|
154
|
+
details: `Purged ${toRemove.length} failed tool inputs`,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/** Run all automatic strategies */
|
|
158
|
+
runAutoStrategies(messages) {
|
|
159
|
+
return [
|
|
160
|
+
this.deduplicate(messages),
|
|
161
|
+
this.supersedeWrites(messages),
|
|
162
|
+
this.purgeErrors(messages),
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
/** Get total tokens saved since engine start */
|
|
166
|
+
getTotalTokensSaved() {
|
|
167
|
+
return this.totalTokensSaved;
|
|
168
|
+
}
|
|
169
|
+
/** Get compression run count */
|
|
170
|
+
getCompressCount() {
|
|
171
|
+
return this.compressCount;
|
|
172
|
+
}
|
|
173
|
+
/** Estimate tokens from text content (simple heuristic: ~4 chars per token) */
|
|
174
|
+
estimateTokens(messages) {
|
|
175
|
+
const totalChars = messages.reduce((sum, m) => sum + m.content.length, 0);
|
|
176
|
+
return Math.ceil(totalChars / 4);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/** Plugin module adapter */
|
|
180
|
+
export const dcpPlugin = {
|
|
181
|
+
activate(context) {
|
|
182
|
+
context.logger("[dcp-integration] Dynamic Context Pruning activated");
|
|
183
|
+
},
|
|
184
|
+
deactivate() {
|
|
185
|
+
// Cleanup
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
export default dcpPlugin;
|
|
189
|
+
//# sourceMappingURL=dcp-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dcp-integration.js","sourceRoot":"","sources":["../../src/integration/dcp-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Firecrawl Integration — Web Scraping & Crawling
|
|
3
|
+
*
|
|
4
|
+
* Hard-wired adaptation of firecrawl/opencode-firecrawl
|
|
5
|
+
* Source: https://github.com/firecrawl/opencode-firecrawl
|
|
6
|
+
*
|
|
7
|
+
* Provides reliable web scraping, crawling, and search capabilities:
|
|
8
|
+
* - Search the web with optional result scraping
|
|
9
|
+
* - Scrape any webpage to clean markdown/HTML
|
|
10
|
+
* - Map all URLs on a website
|
|
11
|
+
* - Crawl entire websites recursively
|
|
12
|
+
* - AI-powered autonomous data extraction
|
|
13
|
+
* - All output isolated to .firecrawl/ directory
|
|
14
|
+
*/
|
|
15
|
+
import type { PluginModule } from "../plugins/plugin-system.js";
|
|
16
|
+
import type { FirecrawlConfig } from "./types.js";
|
|
17
|
+
export interface FirecrawlResult {
|
|
18
|
+
url: string;
|
|
19
|
+
content: string;
|
|
20
|
+
format: "markdown" | "html" | "text";
|
|
21
|
+
metadata: {
|
|
22
|
+
title?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
language?: string;
|
|
25
|
+
sourceURL?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare class FirecrawlClient {
|
|
29
|
+
private config;
|
|
30
|
+
private outputDir;
|
|
31
|
+
constructor(config?: FirecrawlConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Scrape a single URL and return clean content.
|
|
34
|
+
*/
|
|
35
|
+
scrape(url: string): Promise<FirecrawlResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Search the web using the configured search provider.
|
|
38
|
+
*/
|
|
39
|
+
search(query: string, maxResults?: number): Promise<FirecrawlResult[]>;
|
|
40
|
+
/**
|
|
41
|
+
* Map all URLs on a website (up to a depth).
|
|
42
|
+
*/
|
|
43
|
+
map(url: string, _maxDepth?: number): Promise<string[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Crawl a website recursively.
|
|
46
|
+
*/
|
|
47
|
+
crawl(startUrl: string, maxPages?: number): Promise<FirecrawlResult[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Basic HTML to Markdown conversion.
|
|
50
|
+
*/
|
|
51
|
+
private htmlToMarkdown;
|
|
52
|
+
/**
|
|
53
|
+
* Save scraped content to disk.
|
|
54
|
+
*/
|
|
55
|
+
private saveToDisk;
|
|
56
|
+
}
|
|
57
|
+
export declare function getFirecrawlClient(config?: FirecrawlConfig): FirecrawlClient;
|
|
58
|
+
/** Plugin module adapter */
|
|
59
|
+
export declare const firecrawlPlugin: PluginModule;
|
|
60
|
+
export default firecrawlPlugin;
|
|
61
|
+
//# sourceMappingURL=firecrawl-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firecrawl-integration.d.ts","sourceRoot":"","sources":["../../src/integration/firecrawl-integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACrC,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,eAAoB;IAiBxC;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAsCnD;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC;IAwC7B;;OAEG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC;IAsCpB;;OAEG;IACG,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC;IA6B7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyDtB;;OAEG;IACH,OAAO,CAAC,UAAU;CAiBnB;AAKD,wBAAgB,kBAAkB,CAChC,MAAM,CAAC,EAAE,eAAe,GACvB,eAAe,CAKjB;AAED,4BAA4B;AAC5B,eAAO,MAAM,eAAe,EAAE,YAS7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Firecrawl Integration — Web Scraping & Crawling
|
|
3
|
+
*
|
|
4
|
+
* Hard-wired adaptation of firecrawl/opencode-firecrawl
|
|
5
|
+
* Source: https://github.com/firecrawl/opencode-firecrawl
|
|
6
|
+
*
|
|
7
|
+
* Provides reliable web scraping, crawling, and search capabilities:
|
|
8
|
+
* - Search the web with optional result scraping
|
|
9
|
+
* - Scrape any webpage to clean markdown/HTML
|
|
10
|
+
* - Map all URLs on a website
|
|
11
|
+
* - Crawl entire websites recursively
|
|
12
|
+
* - AI-powered autonomous data extraction
|
|
13
|
+
* - All output isolated to .firecrawl/ directory
|
|
14
|
+
*/
|
|
15
|
+
import { writeFileSync, existsSync, mkdirSync } from "fs";
|
|
16
|
+
import { join, resolve } from "path";
|
|
17
|
+
export class FirecrawlClient {
|
|
18
|
+
config;
|
|
19
|
+
outputDir;
|
|
20
|
+
constructor(config = {}) {
|
|
21
|
+
this.config = {
|
|
22
|
+
enabled: true,
|
|
23
|
+
outputDir: ".firecrawl",
|
|
24
|
+
...config,
|
|
25
|
+
};
|
|
26
|
+
this.outputDir = resolve(process.cwd(), this.config.outputDir || ".firecrawl");
|
|
27
|
+
if (!existsSync(this.outputDir)) {
|
|
28
|
+
mkdirSync(this.outputDir, { recursive: true });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Scrape a single URL and return clean content.
|
|
33
|
+
*/
|
|
34
|
+
async scrape(url) {
|
|
35
|
+
try {
|
|
36
|
+
const response = await fetch(url);
|
|
37
|
+
const html = await response.text();
|
|
38
|
+
// Extract title
|
|
39
|
+
const titleMatch = html.match(/<title>([^<]*)<\/title>/);
|
|
40
|
+
const title = titleMatch ? titleMatch[1] : undefined;
|
|
41
|
+
// Extract meta description
|
|
42
|
+
const descMatch = html.match(/<meta\s+name="description"\s+content="([^"]*)"/);
|
|
43
|
+
const description = descMatch ? descMatch[1] : undefined;
|
|
44
|
+
// Basic HTML-to-markdown conversion
|
|
45
|
+
const content = this.htmlToMarkdown(html);
|
|
46
|
+
const result = {
|
|
47
|
+
url,
|
|
48
|
+
content,
|
|
49
|
+
format: "markdown",
|
|
50
|
+
metadata: { title, description, sourceURL: url },
|
|
51
|
+
};
|
|
52
|
+
// Persist to disk
|
|
53
|
+
this.saveToDisk(url, content);
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
return {
|
|
58
|
+
url,
|
|
59
|
+
content: `Error scraping ${url}: ${error instanceof Error ? error.message : String(error)}`,
|
|
60
|
+
format: "text",
|
|
61
|
+
metadata: { sourceURL: url },
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Search the web using the configured search provider.
|
|
67
|
+
*/
|
|
68
|
+
async search(query, maxResults = 5) {
|
|
69
|
+
// Use a search API proxy (in production, this would use Firecrawl CLI)
|
|
70
|
+
const results = [];
|
|
71
|
+
try {
|
|
72
|
+
const searchUrl = `https://html.duckduckgo.com/html/?q=${encodeURIComponent(query)}`;
|
|
73
|
+
const response = await fetch(searchUrl);
|
|
74
|
+
const html = await response.text();
|
|
75
|
+
// Extract search result links
|
|
76
|
+
const linkPattern = /<a[^>]*class="result__a"[^>]*href="([^"]*)"[^>]*>([^<]*)<\/a>/g;
|
|
77
|
+
let match;
|
|
78
|
+
let count = 0;
|
|
79
|
+
while ((match = linkPattern.exec(html)) !== null && count < maxResults) {
|
|
80
|
+
const url = match[1];
|
|
81
|
+
const title = match[2].replace(/<[^>]*>/g, "").trim();
|
|
82
|
+
results.push({
|
|
83
|
+
url,
|
|
84
|
+
content: title,
|
|
85
|
+
format: "text",
|
|
86
|
+
metadata: { title, sourceURL: url },
|
|
87
|
+
});
|
|
88
|
+
count++;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// Fallback: return query as result
|
|
93
|
+
results.push({
|
|
94
|
+
url: "",
|
|
95
|
+
content: `Search results for: ${query}`,
|
|
96
|
+
format: "text",
|
|
97
|
+
metadata: { sourceURL: "" },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return results;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Map all URLs on a website (up to a depth).
|
|
104
|
+
*/
|
|
105
|
+
async map(url, _maxDepth = 2) {
|
|
106
|
+
const urls = [url];
|
|
107
|
+
try {
|
|
108
|
+
const response = await fetch(url);
|
|
109
|
+
const html = await response.text();
|
|
110
|
+
// Extract all links
|
|
111
|
+
const linkPattern = /<a[^>]*href="([^"]*)"[^>]*>/g;
|
|
112
|
+
let match;
|
|
113
|
+
while ((match = linkPattern.exec(html)) !== null) {
|
|
114
|
+
let linkUrl = match[1];
|
|
115
|
+
// Resolve relative URLs
|
|
116
|
+
if (linkUrl.startsWith("/")) {
|
|
117
|
+
const base = new URL(url);
|
|
118
|
+
linkUrl = `${base.protocol}//${base.host}${linkUrl}`;
|
|
119
|
+
}
|
|
120
|
+
else if (linkUrl.startsWith("#") || linkUrl.startsWith("javascript:")) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
else if (!linkUrl.startsWith("http")) {
|
|
124
|
+
linkUrl = new URL(linkUrl, url).href;
|
|
125
|
+
}
|
|
126
|
+
// Only include URLs from the same domain
|
|
127
|
+
const parsedUrl = new URL(linkUrl);
|
|
128
|
+
const parsedBase = new URL(url);
|
|
129
|
+
if (parsedUrl.host === parsedBase.host && !urls.includes(linkUrl)) {
|
|
130
|
+
urls.push(linkUrl);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// Return at least the original URL
|
|
136
|
+
}
|
|
137
|
+
return urls.slice(0, 50); // Safety limit
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Crawl a website recursively.
|
|
141
|
+
*/
|
|
142
|
+
async crawl(startUrl, maxPages = 10) {
|
|
143
|
+
const visited = new Set();
|
|
144
|
+
const results = [];
|
|
145
|
+
const queue = [startUrl];
|
|
146
|
+
while (queue.length > 0 && visited.size < maxPages) {
|
|
147
|
+
const url = queue.shift();
|
|
148
|
+
if (visited.has(url))
|
|
149
|
+
continue;
|
|
150
|
+
visited.add(url);
|
|
151
|
+
try {
|
|
152
|
+
const result = await this.scrape(url);
|
|
153
|
+
results.push(result);
|
|
154
|
+
// Find more links to crawl
|
|
155
|
+
const links = await this.map(url);
|
|
156
|
+
for (const link of links) {
|
|
157
|
+
if (!visited.has(link) && queue.length + visited.size < maxPages) {
|
|
158
|
+
queue.push(link);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Skip failed pages
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return results;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Basic HTML to Markdown conversion.
|
|
170
|
+
*/
|
|
171
|
+
htmlToMarkdown(html) {
|
|
172
|
+
let md = html;
|
|
173
|
+
// Remove scripts and styles
|
|
174
|
+
md = md.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "");
|
|
175
|
+
md = md.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "");
|
|
176
|
+
// Convert headings
|
|
177
|
+
md = md.replace(/<h1[^>]*>(.*?)<\/h1>/gi, "# $1\n\n");
|
|
178
|
+
md = md.replace(/<h2[^>]*>(.*?)<\/h2>/gi, "## $1\n\n");
|
|
179
|
+
md = md.replace(/<h3[^>]*>(.*?)<\/h3>/gi, "### $1\n\n");
|
|
180
|
+
md = md.replace(/<h4[^>]*>(.*?)<\/h4>/gi, "#### $1\n\n");
|
|
181
|
+
// Convert links
|
|
182
|
+
md = md.replace(/<a[^>]*href="([^"]*)"[^>]*>(.*?)<\/a>/gi, "[$2]($1)");
|
|
183
|
+
// Convert images
|
|
184
|
+
md = md.replace(/<img[^>]*src="([^"]*)"[^>]*alt="([^"]*)"[^>]*>/gi, "");
|
|
185
|
+
// Convert code blocks
|
|
186
|
+
md = md.replace(/<pre><code>([\s\S]*?)<\/code><\/pre>/gi, "```\n$1\n```\n");
|
|
187
|
+
md = md.replace(/<code>(.*?)<\/code>/gi, "`$1`");
|
|
188
|
+
// Convert lists
|
|
189
|
+
md = md.replace(/<li>(.*?)<\/li>/gi, "- $1\n");
|
|
190
|
+
md = md.replace(/<ul>([\s\S]*?)<\/ul>/gi, "$1\n");
|
|
191
|
+
// Convert paragraphs
|
|
192
|
+
md = md.replace(/<p[^>]*>(.*?)<\/p>/gi, "$1\n\n");
|
|
193
|
+
// Convert line breaks
|
|
194
|
+
md = md.replace(/<br\s*\/?>/gi, "\n");
|
|
195
|
+
// Remove remaining HTML tags
|
|
196
|
+
md = md.replace(/<[^>]*>/g, "");
|
|
197
|
+
// Decode HTML entities
|
|
198
|
+
md = md.replace(/&/g, "&");
|
|
199
|
+
md = md.replace(/</g, "<");
|
|
200
|
+
md = md.replace(/>/g, ">");
|
|
201
|
+
md = md.replace(/"/g, '"');
|
|
202
|
+
md = md.replace(/'/g, "'");
|
|
203
|
+
md = md.replace(/ /g, " ");
|
|
204
|
+
// Cleanup excessive whitespace
|
|
205
|
+
md = md.replace(/\n{3,}/g, "\n\n");
|
|
206
|
+
md = md.trim();
|
|
207
|
+
return md;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Save scraped content to disk.
|
|
211
|
+
*/
|
|
212
|
+
saveToDisk(url, content) {
|
|
213
|
+
const sanitizedUrl = url
|
|
214
|
+
.replace(/https?:\/\//, "")
|
|
215
|
+
.replace(/[^a-zA-Z0-9]/g, "_")
|
|
216
|
+
.slice(0, 100);
|
|
217
|
+
const filePath = join(this.outputDir, `${sanitizedUrl}.md`);
|
|
218
|
+
try {
|
|
219
|
+
writeFileSync(filePath, `# ${url}\n\n${content}`, "utf-8");
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
// Silently handle write failures
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
/** Global singleton */
|
|
227
|
+
let globalFirecrawl = null;
|
|
228
|
+
export function getFirecrawlClient(config) {
|
|
229
|
+
if (!globalFirecrawl) {
|
|
230
|
+
globalFirecrawl = new FirecrawlClient(config);
|
|
231
|
+
}
|
|
232
|
+
return globalFirecrawl;
|
|
233
|
+
}
|
|
234
|
+
/** Plugin module adapter */
|
|
235
|
+
export const firecrawlPlugin = {
|
|
236
|
+
activate(context) {
|
|
237
|
+
const config = (context.config?.firecrawl || {});
|
|
238
|
+
getFirecrawlClient(config);
|
|
239
|
+
context.logger("[firecrawl-integration] Firecrawl client activated");
|
|
240
|
+
},
|
|
241
|
+
deactivate() {
|
|
242
|
+
globalFirecrawl = null;
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
export default firecrawlPlugin;
|
|
246
|
+
//# sourceMappingURL=firecrawl-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firecrawl-integration.js","sourceRoot":"","sources":["../../src/integration/firecrawl-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SynapseXcoder V2 — External Repo Integration Hub
|
|
3
|
+
*
|
|
4
|
+
* Hard-wires the following 13 external opencode ecosystems into SynapseXcoder:
|
|
5
|
+
*
|
|
6
|
+
* 1. @tarquinen/opencode-dcp — Dynamic Context Pruning
|
|
7
|
+
* 2. code-yeongyu/oh-my-opencode — Background agents, LSP/AST, multi-model
|
|
8
|
+
* 3. @franlol/opencode-md-table-formatter — Markdown table formatting
|
|
9
|
+
* 4. shekohex/opencode-pty — Pseudo-terminal management
|
|
10
|
+
* 5. JRedeker/opencode-shell-strategy — Non-interactive shell instruction set
|
|
11
|
+
* 6. @zenobius/opencode-skillful — Lazy-loaded skill discovery/injection
|
|
12
|
+
* 7. supermemoryai/opencode-supermemory — Persistent cross-session memory
|
|
13
|
+
* 8. spoons-and-mirrors/subtask2 — Enhanced command handler (chain/loop/parallel)
|
|
14
|
+
* 9. kdcokenny/opencode-background-agents — Async background delegation
|
|
15
|
+
* 10. kdcokenny/opencode-workspace — Multi-agent orchestration harness
|
|
16
|
+
* 11. firecrawl/opencode-firecrawl — Web scraping and crawling
|
|
17
|
+
* 12. Cluster444/agentic — Context engineering workflow
|
|
18
|
+
* 13. darrenhinde/opencode-agents (OpenAgentsControl) — Pattern-controlled agents
|
|
19
|
+
*
|
|
20
|
+
* Each external feature is adapted into a SynapseXcoder PluginModule and registered
|
|
21
|
+
* with the central PluginManager. The IntegrationHub acts as the orchestration
|
|
22
|
+
* coordinator, providing unified lifecycle, configuration, and capability exposure.
|
|
23
|
+
*/
|
|
24
|
+
export * from "./dcp-integration";
|
|
25
|
+
export * from "./oh-my-opencode-integration";
|
|
26
|
+
export * from "./md-table-formatter-integration";
|
|
27
|
+
export * from "./pty-integration";
|
|
28
|
+
export * from "./shell-strategy-integration";
|
|
29
|
+
export * from "./skillful-integration";
|
|
30
|
+
export * from "./supermemory-integration";
|
|
31
|
+
export * from "./subtask2-integration";
|
|
32
|
+
export * from "./background-agents-integration";
|
|
33
|
+
export * from "./workspace-integration";
|
|
34
|
+
export * from "./firecrawl-integration";
|
|
35
|
+
export * from "./agentic-integration";
|
|
36
|
+
export * from "./openagents-control-integration";
|
|
37
|
+
export * from "./native/index.js";
|
|
38
|
+
export * from "./integration-hub";
|
|
39
|
+
export * from "./types";
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integration/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
|