agent-nuvira 2.7.3 → 3.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/dist/agents/agents/writer-tool-calling.d.ts +14 -0
- package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
- package/dist/agents/agents/writer-tool-calling.js +20 -0
- package/dist/agents/agents/writer-tool-calling.js.map +1 -1
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +15 -4
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/edit-module.d.ts +7 -0
- package/dist/agents/edit-module.d.ts.map +1 -1
- package/dist/agents/edit-module.js +21 -6
- package/dist/agents/edit-module.js.map +1 -1
- package/dist/agents/orchestrator.d.ts +40 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +116 -27
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/tool-calling-agent.d.ts +19 -0
- package/dist/agents/tool-calling-agent.d.ts.map +1 -1
- package/dist/agents/tool-calling-agent.js +42 -2
- package/dist/agents/tool-calling-agent.js.map +1 -1
- package/dist/cli/chat.d.ts +55 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +239 -63
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts +6 -0
- package/dist/cli/cli-program.d.ts.map +1 -0
- package/dist/cli/cli-program.js +222 -0
- package/dist/cli/cli-program.js.map +1 -0
- package/dist/cli/edit.d.ts.map +1 -1
- package/dist/cli/edit.js +18 -3
- package/dist/cli/edit.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +29 -5
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.d.ts +13 -0
- package/dist/cli/failover-runner.d.ts.map +1 -1
- package/dist/cli/failover-runner.js +11 -0
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/gateway.d.ts +16 -0
- package/dist/cli/gateway.d.ts.map +1 -1
- package/dist/cli/gateway.js +108 -2
- package/dist/cli/gateway.js.map +1 -1
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +245 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +20 -6
- package/dist/cli/plan.js.map +1 -1
- package/dist/cli/process-control.d.ts +10 -0
- package/dist/cli/process-control.d.ts.map +1 -1
- package/dist/cli/process-control.js +73 -7
- package/dist/cli/process-control.js.map +1 -1
- package/dist/cli/router.d.ts +16 -5
- package/dist/cli/router.d.ts.map +1 -1
- package/dist/cli/router.js +31 -206
- package/dist/cli/router.js.map +1 -1
- package/dist/config/paths.d.ts +23 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +30 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/provider-env.d.ts +37 -0
- package/dist/config/provider-env.d.ts.map +1 -0
- package/dist/config/provider-env.js +86 -0
- package/dist/config/provider-env.js.map +1 -0
- package/dist/context/history.d.ts.map +1 -1
- package/dist/context/history.js +24 -8
- package/dist/context/history.js.map +1 -1
- package/dist/context/session-recall.d.ts +30 -0
- package/dist/context/session-recall.d.ts.map +1 -1
- package/dist/context/session-recall.js +61 -0
- package/dist/context/session-recall.js.map +1 -1
- package/dist/file.js +0 -1
- package/dist/file.js.map +1 -1
- package/dist/gateway/adapters.d.ts +10 -0
- package/dist/gateway/adapters.d.ts.map +1 -1
- package/dist/gateway/adapters.js +4 -1
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/dedup.d.ts +105 -0
- package/dist/gateway/dedup.d.ts.map +1 -0
- package/dist/gateway/dedup.js +160 -0
- package/dist/gateway/dedup.js.map +1 -0
- package/dist/gateway/heartbeat.d.ts +99 -0
- package/dist/gateway/heartbeat.d.ts.map +1 -0
- package/dist/gateway/heartbeat.js +122 -0
- package/dist/gateway/heartbeat.js.map +1 -0
- package/dist/gateway/inbox.d.ts +14 -1
- package/dist/gateway/inbox.d.ts.map +1 -1
- package/dist/gateway/inbox.js.map +1 -1
- package/dist/gateway/platform-config.d.ts +5 -0
- package/dist/gateway/platform-config.d.ts.map +1 -1
- package/dist/gateway/platform-config.js +8 -13
- package/dist/gateway/platform-config.js.map +1 -1
- package/dist/gateway/registry.d.ts +47 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +227 -21
- package/dist/gateway/registry.js.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
- package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
- package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
- package/dist/gateway/whatsapp/bridge.d.ts +4 -2
- package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
- package/dist/gateway/whatsapp/bridge.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inference/factory.d.ts +16 -0
- package/dist/inference/factory.d.ts.map +1 -1
- package/dist/inference/factory.js +42 -0
- package/dist/inference/factory.js.map +1 -1
- package/dist/inference/gemini-adapter.d.ts.map +1 -1
- package/dist/inference/gemini-adapter.js +3 -0
- package/dist/inference/gemini-adapter.js.map +1 -1
- package/dist/inference/interface.d.ts +12 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/local-adapter.d.ts +2 -0
- package/dist/inference/local-adapter.d.ts.map +1 -1
- package/dist/inference/local-adapter.js +36 -5
- package/dist/inference/local-adapter.js.map +1 -1
- package/dist/inference/native-tools.d.ts +8 -0
- package/dist/inference/native-tools.d.ts.map +1 -1
- package/dist/inference/native-tools.js +14 -3
- package/dist/inference/native-tools.js.map +1 -1
- package/dist/inference/tool-call-utils.d.ts +66 -7
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +134 -13
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +90 -5
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/context-budget.d.ts +133 -0
- package/dist/learning/context-budget.d.ts.map +1 -0
- package/dist/learning/context-budget.js +196 -0
- package/dist/learning/context-budget.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +20 -8
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/eval-framework.d.ts.map +1 -1
- package/dist/learning/eval-framework.js +6 -2
- package/dist/learning/eval-framework.js.map +1 -1
- package/dist/learning/failure-bookkeeping.d.ts +19 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +67 -2
- package/dist/learning/failure-bookkeeping.js.map +1 -1
- package/dist/learning/feedback.d.ts.map +1 -1
- package/dist/learning/feedback.js +19 -8
- package/dist/learning/feedback.js.map +1 -1
- package/dist/learning/model-harness.d.ts +76 -0
- package/dist/learning/model-harness.d.ts.map +1 -0
- package/dist/learning/model-harness.js +119 -0
- package/dist/learning/model-harness.js.map +1 -0
- package/dist/learning/model-selection.d.ts +15 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +27 -1
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/provider-fallback.d.ts +12 -0
- package/dist/learning/provider-fallback.d.ts.map +1 -1
- package/dist/learning/provider-fallback.js +74 -0
- package/dist/learning/provider-fallback.js.map +1 -1
- package/dist/learning/provider-revival.d.ts +106 -0
- package/dist/learning/provider-revival.d.ts.map +1 -0
- package/dist/learning/provider-revival.js +154 -0
- package/dist/learning/provider-revival.js.map +1 -0
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +48 -3
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/nlu/conversation-gate.d.ts +37 -0
- package/dist/nlu/conversation-gate.d.ts.map +1 -1
- package/dist/nlu/conversation-gate.js +49 -0
- package/dist/nlu/conversation-gate.js.map +1 -1
- package/dist/nlu/schema.d.ts +2 -2
- package/dist/observability/dag-bridge.d.ts +69 -0
- package/dist/observability/dag-bridge.d.ts.map +1 -0
- package/dist/observability/dag-bridge.js +56 -0
- package/dist/observability/dag-bridge.js.map +1 -0
- package/dist/observability/event-bus.d.ts +5 -10
- package/dist/observability/event-bus.d.ts.map +1 -1
- package/dist/observability/event-bus.js +10 -42
- package/dist/observability/event-bus.js.map +1 -1
- package/dist/skills/execution-audit.d.ts.map +1 -1
- package/dist/skills/execution-audit.js +17 -5
- package/dist/skills/execution-audit.js.map +1 -1
- package/dist/skills/sandbox-executor.d.ts +12 -1
- package/dist/skills/sandbox-executor.d.ts.map +1 -1
- package/dist/skills/sandbox-executor.js +28 -6
- package/dist/skills/sandbox-executor.js.map +1 -1
- package/dist/skills/secret-capture.d.ts +45 -1
- package/dist/skills/secret-capture.d.ts.map +1 -1
- package/dist/skills/secret-capture.js +82 -19
- package/dist/skills/secret-capture.js.map +1 -1
- package/dist/skills/skill-env-inventory.d.ts +79 -0
- package/dist/skills/skill-env-inventory.d.ts.map +1 -0
- package/dist/skills/skill-env-inventory.js +167 -0
- package/dist/skills/skill-env-inventory.js.map +1 -0
- package/dist/skills/skill-executor.d.ts +2 -0
- package/dist/skills/skill-executor.d.ts.map +1 -1
- package/dist/skills/skill-executor.js +19 -24
- package/dist/skills/skill-executor.js.map +1 -1
- package/dist/tools/ask-user.d.ts +14 -1
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +25 -1
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/followup-utils.d.ts +64 -0
- package/dist/tools/followup-utils.d.ts.map +1 -0
- package/dist/tools/followup-utils.js +158 -0
- package/dist/tools/followup-utils.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +35 -0
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +76 -0
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/pipeline-tool.d.ts.map +1 -1
- package/dist/tools/pipeline-tool.js +8 -3
- package/dist/tools/pipeline-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +25 -12
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +31 -6
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/skill-tool.d.ts.map +1 -1
- package/dist/tools/skill-tool.js +52 -5
- package/dist/tools/skill-tool.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +63 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +305 -66
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/toolsets.d.ts +19 -3
- package/dist/tools/toolsets.d.ts.map +1 -1
- package/dist/tools/toolsets.js +21 -5
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +9 -13
- package/dist/utils/env.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +13 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +16 -2
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/hub-data.d.ts +2 -0
- package/dist/web-dashboard/hub-data.d.ts.map +1 -1
- package/dist/web-dashboard/hub-data.js +4 -0
- package/dist/web-dashboard/hub-data.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +6 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +192 -3
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +31 -1
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +11 -1
- package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
- package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
- package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
- package/src/web-dashboard/public/index.html +2 -2
- package/dist/example.d.ts +0 -1
- package/dist/example.d.ts.map +0 -1
- package/dist/example.js +0 -3
- package/dist/example.js.map +0 -1
- package/dist/fresh.d.ts +0 -2
- package/dist/fresh.d.ts.map +0 -1
- package/dist/fresh.js +0 -2
- package/dist/fresh.js.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
- package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
- package/dist/mcp/mcp-dashboard-oauth.js +0 -140
- package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
- package/dist/memory/background-sync.d.ts +0 -107
- package/dist/memory/background-sync.d.ts.map +0 -1
- package/dist/memory/background-sync.js +0 -242
- package/dist/memory/background-sync.js.map +0 -1
- package/dist/memory/cross-session.d.ts +0 -68
- package/dist/memory/cross-session.d.ts.map +0 -1
- package/dist/memory/cross-session.js +0 -153
- package/dist/memory/cross-session.js.map +0 -1
- package/dist/memory/drift-detector.d.ts +0 -76
- package/dist/memory/drift-detector.d.ts.map +0 -1
- package/dist/memory/drift-detector.js +0 -216
- package/dist/memory/drift-detector.js.map +0 -1
- package/dist/memory/enhanced-manager.d.ts +0 -105
- package/dist/memory/enhanced-manager.d.ts.map +0 -1
- package/dist/memory/enhanced-manager.js +0 -280
- package/dist/memory/enhanced-manager.js.map +0 -1
- package/dist/memory/session-extraction.d.ts +0 -93
- package/dist/memory/session-extraction.d.ts.map +0 -1
- package/dist/memory/session-extraction.js +0 -290
- package/dist/memory/session-extraction.js.map +0 -1
- package/dist/memory/sqlite-store.d.ts +0 -208
- package/dist/memory/sqlite-store.d.ts.map +0 -1
- package/dist/memory/sqlite-store.js +0 -556
- package/dist/memory/sqlite-store.js.map +0 -1
- package/dist/skills/daytona-executor.d.ts +0 -78
- package/dist/skills/daytona-executor.d.ts.map +0 -1
- package/dist/skills/daytona-executor.js +0 -256
- package/dist/skills/daytona-executor.js.map +0 -1
- package/dist/skills/modal-executor.d.ts +0 -81
- package/dist/skills/modal-executor.d.ts.map +0 -1
- package/dist/skills/modal-executor.js +0 -285
- package/dist/skills/modal-executor.js.map +0 -1
- package/dist/sync/inventory.d.ts +0 -1
- package/dist/sync/inventory.d.ts.map +0 -1
- package/dist/sync/inventory.js +0 -3
- package/dist/sync/inventory.js.map +0 -1
- package/dist/sync/validate.d.ts +0 -1
- package/dist/sync/validate.d.ts.map +0 -1
- package/dist/sync/validate.js +0 -3
- package/dist/sync/validate.js.map +0 -1
- package/dist/test.d.ts +0 -2
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -3
- package/dist/test.js.map +0 -1
- package/dist/tools/browser-tool.d.ts +0 -206
- package/dist/tools/browser-tool.d.ts.map +0 -1
- package/dist/tools/browser-tool.js +0 -726
- package/dist/tools/browser-tool.js.map +0 -1
- package/dist/tools/delegate-tool.d.ts +0 -109
- package/dist/tools/delegate-tool.d.ts.map +0 -1
- package/dist/tools/delegate-tool.js +0 -185
- package/dist/tools/delegate-tool.js.map +0 -1
- package/dist/tools/delegation-state.d.ts +0 -87
- package/dist/tools/delegation-state.d.ts.map +0 -1
- package/dist/tools/delegation-state.js +0 -278
- package/dist/tools/delegation-state.js.map +0 -1
- package/dist/tools/desktop-ui.d.ts +0 -148
- package/dist/tools/desktop-ui.d.ts.map +0 -1
- package/dist/tools/desktop-ui.js +0 -486
- package/dist/tools/desktop-ui.js.map +0 -1
- package/dist/tools/image-video-tool.d.ts +0 -88
- package/dist/tools/image-video-tool.d.ts.map +0 -1
- package/dist/tools/image-video-tool.js +0 -276
- package/dist/tools/image-video-tool.js.map +0 -1
- package/dist/tools/kanban-cron-tools.d.ts +0 -92
- package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
- package/dist/tools/kanban-cron-tools.js +0 -197
- package/dist/tools/kanban-cron-tools.js.map +0 -1
- package/dist/tools/messaging-tool.d.ts +0 -127
- package/dist/tools/messaging-tool.d.ts.map +0 -1
- package/dist/tools/messaging-tool.js +0 -314
- package/dist/tools/messaging-tool.js.map +0 -1
- package/dist/tools/modality/generic-caller.d.ts +0 -43
- package/dist/tools/modality/generic-caller.d.ts.map +0 -1
- package/dist/tools/modality/generic-caller.js +0 -254
- package/dist/tools/modality/generic-caller.js.map +0 -1
- package/dist/tools/modality/modality-catalog.d.ts +0 -134
- package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
- package/dist/tools/modality/modality-catalog.js +0 -445
- package/dist/tools/modality/modality-catalog.js.map +0 -1
- package/dist/tools/modality/tool-router.d.ts +0 -81
- package/dist/tools/modality/tool-router.d.ts.map +0 -1
- package/dist/tools/modality/tool-router.js +0 -84
- package/dist/tools/modality/tool-router.js.map +0 -1
- package/dist/tools/security-tools.d.ts +0 -107
- package/dist/tools/security-tools.d.ts.map +0 -1
- package/dist/tools/security-tools.js +0 -264
- package/dist/tools/security-tools.js.map +0 -1
- package/dist/tools/ssh-tool.d.ts +0 -130
- package/dist/tools/ssh-tool.d.ts.map +0 -1
- package/dist/tools/ssh-tool.js +0 -328
- package/dist/tools/ssh-tool.js.map +0 -1
- package/dist/tools/tts-tool.d.ts +0 -91
- package/dist/tools/tts-tool.d.ts.map +0 -1
- package/dist/tools/tts-tool.js +0 -406
- package/dist/tools/tts-tool.js.map +0 -1
- package/dist/utils/shell-detection.d.ts +0 -124
- package/dist/utils/shell-detection.d.ts.map +0 -1
- package/dist/utils/shell-detection.js +0 -305
- package/dist/utils/shell-detection.js.map +0 -1
- package/dist/utils/windows-paths.d.ts +0 -185
- package/dist/utils/windows-paths.d.ts.map +0 -1
- package/dist/utils/windows-paths.js +0 -472
- package/dist/utils/windows-paths.js.map +0 -1
- package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
- package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Tools — Code analysis, threat detection, and security scanning.
|
|
3
|
-
*
|
|
4
|
-
* This provides security capabilities:
|
|
5
|
-
* - AST-based code analysis
|
|
6
|
-
* - Pattern matching for malicious code
|
|
7
|
-
* - Dependency scanning
|
|
8
|
-
* - Secret detection
|
|
9
|
-
* - License checking
|
|
10
|
-
* - Code quality metrics
|
|
11
|
-
* - Security scoring
|
|
12
|
-
* - Quarantine system
|
|
13
|
-
* - Audit trail
|
|
14
|
-
* - Real-time monitoring
|
|
15
|
-
*
|
|
16
|
-
* Better than Hermes:
|
|
17
|
-
* - Built-in AST analysis
|
|
18
|
-
* - Multi-language support
|
|
19
|
-
* - Real-time monitoring
|
|
20
|
-
* - Integration with skill system
|
|
21
|
-
*/
|
|
22
|
-
export type ThreatLevel = 'low' | 'medium' | 'high' | 'critical';
|
|
23
|
-
export interface SecurityIssue {
|
|
24
|
-
/** Issue ID */
|
|
25
|
-
id: string;
|
|
26
|
-
/** Issue type */
|
|
27
|
-
type: 'secret' | 'vulnerability' | 'malicious' | 'quality' | 'license';
|
|
28
|
-
/** Threat level */
|
|
29
|
-
level: ThreatLevel;
|
|
30
|
-
/** Issue description */
|
|
31
|
-
description: string;
|
|
32
|
-
/** File path */
|
|
33
|
-
file: string;
|
|
34
|
-
/** Line number */
|
|
35
|
-
line?: number;
|
|
36
|
-
/** Code snippet */
|
|
37
|
-
snippet?: string;
|
|
38
|
-
/** Recommendation */
|
|
39
|
-
recommendation: string;
|
|
40
|
-
}
|
|
41
|
-
export interface SecurityScanResult {
|
|
42
|
-
/** Whether scan passed */
|
|
43
|
-
passed: boolean;
|
|
44
|
-
/** Security score (0-100) */
|
|
45
|
-
score: number;
|
|
46
|
-
/** Issues found */
|
|
47
|
-
issues: SecurityIssue[];
|
|
48
|
-
/** Scan duration */
|
|
49
|
-
durationMs: number;
|
|
50
|
-
/** Files scanned */
|
|
51
|
-
filesScanned: number;
|
|
52
|
-
}
|
|
53
|
-
export interface DependencyInfo {
|
|
54
|
-
/** Package name */
|
|
55
|
-
name: string;
|
|
56
|
-
/** Version */
|
|
57
|
-
version: string;
|
|
58
|
-
/** Known vulnerabilities */
|
|
59
|
-
vulnerabilities: Array<{
|
|
60
|
-
id: string;
|
|
61
|
-
severity: ThreatLevel;
|
|
62
|
-
description: string;
|
|
63
|
-
fix?: string;
|
|
64
|
-
}>;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Detect secrets in code.
|
|
68
|
-
*/
|
|
69
|
-
export declare function detectSecrets(code: string, filePath: string): SecurityIssue[];
|
|
70
|
-
/**
|
|
71
|
-
* Detect malicious patterns in code.
|
|
72
|
-
*/
|
|
73
|
-
export declare function detectMaliciousPatterns(code: string, filePath: string): SecurityIssue[];
|
|
74
|
-
/**
|
|
75
|
-
* Scan dependencies for vulnerabilities.
|
|
76
|
-
*/
|
|
77
|
-
export declare function scanDependencies(packageJsonPath: string): Promise<DependencyInfo[]>;
|
|
78
|
-
/**
|
|
79
|
-
* Check license in code.
|
|
80
|
-
*/
|
|
81
|
-
export declare function checkLicense(code: string, filePath: string): SecurityIssue[];
|
|
82
|
-
/**
|
|
83
|
-
* Check code quality.
|
|
84
|
-
*/
|
|
85
|
-
export declare function checkCodeQuality(code: string, filePath: string): SecurityIssue[];
|
|
86
|
-
/**
|
|
87
|
-
* Calculate security score.
|
|
88
|
-
*/
|
|
89
|
-
export declare function calculateSecurityScore(issues: SecurityIssue[]): number;
|
|
90
|
-
/**
|
|
91
|
-
* Perform comprehensive security scan.
|
|
92
|
-
*/
|
|
93
|
-
export declare function securityScan(files: Array<{
|
|
94
|
-
path: string;
|
|
95
|
-
content: string;
|
|
96
|
-
}>): Promise<SecurityScanResult>;
|
|
97
|
-
declare const _default: {
|
|
98
|
-
detectSecrets: typeof detectSecrets;
|
|
99
|
-
detectMaliciousPatterns: typeof detectMaliciousPatterns;
|
|
100
|
-
scanDependencies: typeof scanDependencies;
|
|
101
|
-
checkLicense: typeof checkLicense;
|
|
102
|
-
checkCodeQuality: typeof checkCodeQuality;
|
|
103
|
-
calculateSecurityScore: typeof calculateSecurityScore;
|
|
104
|
-
securityScan: typeof securityScan;
|
|
105
|
-
};
|
|
106
|
-
export default _default;
|
|
107
|
-
//# sourceMappingURL=security-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-tools.d.ts","sourceRoot":"","sources":["../../src/tools/security-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,eAAe;IACf,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB;IACjB,IAAI,EAAE,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACvE,mBAAmB;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oBAAoB;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAgBD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyB7E;AAiBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAyBvF;AAID;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC,CAuB3B;AAgBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAmB5E;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAwChF;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAqBtE;AAID;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9C,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;;;;;;;;;;AAID,wBAqBE"}
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security Tools — Code analysis, threat detection, and security scanning.
|
|
3
|
-
*
|
|
4
|
-
* This provides security capabilities:
|
|
5
|
-
* - AST-based code analysis
|
|
6
|
-
* - Pattern matching for malicious code
|
|
7
|
-
* - Dependency scanning
|
|
8
|
-
* - Secret detection
|
|
9
|
-
* - License checking
|
|
10
|
-
* - Code quality metrics
|
|
11
|
-
* - Security scoring
|
|
12
|
-
* - Quarantine system
|
|
13
|
-
* - Audit trail
|
|
14
|
-
* - Real-time monitoring
|
|
15
|
-
*
|
|
16
|
-
* Better than Hermes:
|
|
17
|
-
* - Built-in AST analysis
|
|
18
|
-
* - Multi-language support
|
|
19
|
-
* - Real-time monitoring
|
|
20
|
-
* - Integration with skill system
|
|
21
|
-
*/
|
|
22
|
-
import { readFile } from 'node:fs/promises';
|
|
23
|
-
import { createHash } from 'node:crypto';
|
|
24
|
-
// ─── Secret Detection ────────────────────────────────────────────────────
|
|
25
|
-
const SECRET_PATTERNS = [
|
|
26
|
-
{ pattern: /(?:api[_-]?key|apikey)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'API Key' },
|
|
27
|
-
{ pattern: /(?:secret|password|passwd|pwd)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Secret/Password' },
|
|
28
|
-
{ pattern: /(?:token|access[_-]?token)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Token' },
|
|
29
|
-
{ pattern: /(?:private[_-]?key)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'Private Key' },
|
|
30
|
-
{ pattern: /(?:aws[_-]?access[_-]?key[_-]?id)\s*[:=]\s*['"]([^'"]+)['"]/gi, type: 'AWS Key' },
|
|
31
|
-
{ pattern: /(?:ghp|gho|ghu|ghs|ghr)_[a-zA-Z0-9]{36}/g, type: 'GitHub Token' },
|
|
32
|
-
{ pattern: /sk-[a-zA-Z0-9]{48}/g, type: 'OpenAI API Key' },
|
|
33
|
-
{ pattern: /xox[baprs]-[a-zA-Z0-9-]+/g, type: 'Slack Token' },
|
|
34
|
-
{ pattern: /AKIA[0-9A-Z]{16}/g, type: 'AWS Access Key' },
|
|
35
|
-
];
|
|
36
|
-
/**
|
|
37
|
-
* Detect secrets in code.
|
|
38
|
-
*/
|
|
39
|
-
export function detectSecrets(code, filePath) {
|
|
40
|
-
const issues = [];
|
|
41
|
-
for (const { pattern, type } of SECRET_PATTERNS) {
|
|
42
|
-
const regex = new RegExp(pattern.source, pattern.flags);
|
|
43
|
-
let match;
|
|
44
|
-
while ((match = regex.exec(code)) !== null) {
|
|
45
|
-
const line = code.substring(0, match.index).split('\n').length;
|
|
46
|
-
const snippet = code.split('\n')[line - 1]?.trim() ?? '';
|
|
47
|
-
issues.push({
|
|
48
|
-
id: `secret-${createHash('sha256').update(match[0]).digest('hex').slice(0, 8)}`,
|
|
49
|
-
type: 'secret',
|
|
50
|
-
level: 'high',
|
|
51
|
-
description: `Hardcoded ${type} detected`,
|
|
52
|
-
file: filePath,
|
|
53
|
-
line,
|
|
54
|
-
snippet: snippet.substring(0, 100),
|
|
55
|
-
recommendation: 'Move secrets to environment variables or a secrets manager',
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return issues;
|
|
60
|
-
}
|
|
61
|
-
// ─── Malicious Pattern Detection ─────────────────────────────────────────
|
|
62
|
-
const MALICIOUS_PATTERNS = [
|
|
63
|
-
{ pattern: /eval\s*\(/gi, type: 'Code Injection', level: 'high' },
|
|
64
|
-
{ pattern: /exec\s*\(/gi, type: 'Command Injection', level: 'high' },
|
|
65
|
-
{ pattern: /subprocess\.(?:call|run|Popen)\s*\(/gi, type: 'Command Execution', level: 'medium' },
|
|
66
|
-
{ pattern: /os\.system\s*\(/gi, type: 'System Command', level: 'high' },
|
|
67
|
-
{ pattern: /__import__\s*\(/gi, type: 'Dynamic Import', level: 'medium' },
|
|
68
|
-
{ pattern: /require\s*\(\s*['"]child_process['"]\s*\)/gi, type: 'Child Process', level: 'medium' },
|
|
69
|
-
{ pattern: /fetch\s*\(\s*['"]https?:\/\/[^'"]+['"]/gi, type: 'External Request', level: 'low' },
|
|
70
|
-
{ pattern: /XMLHttpRequest/gi, type: 'HTTP Request', level: 'low' },
|
|
71
|
-
{ pattern: /document\.cookie/gi, type: 'Cookie Access', level: 'medium' },
|
|
72
|
-
{ pattern: /localStorage/gi, type: 'Local Storage', level: 'low' },
|
|
73
|
-
];
|
|
74
|
-
/**
|
|
75
|
-
* Detect malicious patterns in code.
|
|
76
|
-
*/
|
|
77
|
-
export function detectMaliciousPatterns(code, filePath) {
|
|
78
|
-
const issues = [];
|
|
79
|
-
for (const { pattern, type, level } of MALICIOUS_PATTERNS) {
|
|
80
|
-
const regex = new RegExp(pattern.source, pattern.flags);
|
|
81
|
-
let match;
|
|
82
|
-
while ((match = regex.exec(code)) !== null) {
|
|
83
|
-
const line = code.substring(0, match.index).split('\n').length;
|
|
84
|
-
const snippet = code.split('\n')[line - 1]?.trim() ?? '';
|
|
85
|
-
issues.push({
|
|
86
|
-
id: `malicious-${createHash('sha256').update(match[0]).digest('hex').slice(0, 8)}`,
|
|
87
|
-
type: 'malicious',
|
|
88
|
-
level,
|
|
89
|
-
description: `Potentially malicious pattern: ${type}`,
|
|
90
|
-
file: filePath,
|
|
91
|
-
line,
|
|
92
|
-
snippet: snippet.substring(0, 100),
|
|
93
|
-
recommendation: `Review this ${type.toLowerCase()} for safety`,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return issues;
|
|
98
|
-
}
|
|
99
|
-
// ─── Dependency Scanning ─────────────────────────────────────────────────
|
|
100
|
-
/**
|
|
101
|
-
* Scan dependencies for vulnerabilities.
|
|
102
|
-
*/
|
|
103
|
-
export async function scanDependencies(packageJsonPath) {
|
|
104
|
-
try {
|
|
105
|
-
const content = await readFile(packageJsonPath, 'utf-8');
|
|
106
|
-
const pkg = JSON.parse(content);
|
|
107
|
-
const dependencies = [];
|
|
108
|
-
// Check both dependencies and devDependencies
|
|
109
|
-
for (const [name, version] of Object.entries({
|
|
110
|
-
...pkg.dependencies,
|
|
111
|
-
...pkg.devDependencies,
|
|
112
|
-
})) {
|
|
113
|
-
dependencies.push({
|
|
114
|
-
name,
|
|
115
|
-
version: version,
|
|
116
|
-
vulnerabilities: [], // Would need NVD API integration
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
return dependencies;
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
return [];
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// ─── License Checking ────────────────────────────────────────────────────
|
|
126
|
-
const LICENSE_PATTERNS = [
|
|
127
|
-
{ pattern: /MIT License/i, name: 'MIT', risk: 'low' },
|
|
128
|
-
{ pattern: /Apache License/i, name: 'Apache-2.0', risk: 'low' },
|
|
129
|
-
{ pattern: /GNU General Public License/i, name: 'GPL', risk: 'medium' },
|
|
130
|
-
{ pattern: /GNU Lesser General Public License/i, name: 'LGPL', risk: 'medium' },
|
|
131
|
-
{ pattern: /BSD License/i, name: 'BSD', risk: 'low' },
|
|
132
|
-
{ pattern: /ISC License/i, name: 'ISC', risk: 'low' },
|
|
133
|
-
{ pattern: /Mozilla Public License/i, name: 'MPL', risk: 'medium' },
|
|
134
|
-
{ pattern: /Creative Commons/i, name: 'CC', risk: 'medium' },
|
|
135
|
-
{ pattern: /Proprietary/i, name: 'Proprietary', risk: 'high' },
|
|
136
|
-
];
|
|
137
|
-
/**
|
|
138
|
-
* Check license in code.
|
|
139
|
-
*/
|
|
140
|
-
export function checkLicense(code, filePath) {
|
|
141
|
-
const issues = [];
|
|
142
|
-
for (const { pattern, name, risk } of LICENSE_PATTERNS) {
|
|
143
|
-
if (pattern.test(code)) {
|
|
144
|
-
if (risk === 'high') {
|
|
145
|
-
issues.push({
|
|
146
|
-
id: `license-${createHash('sha256').update(name).digest('hex').slice(0, 8)}`,
|
|
147
|
-
type: 'license',
|
|
148
|
-
level: 'medium',
|
|
149
|
-
description: `Potentially restrictive license: ${name}`,
|
|
150
|
-
file: filePath,
|
|
151
|
-
recommendation: 'Review license terms before using',
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return issues;
|
|
157
|
-
}
|
|
158
|
-
// ─── Code Quality ────────────────────────────────────────────────────────
|
|
159
|
-
/**
|
|
160
|
-
* Check code quality.
|
|
161
|
-
*/
|
|
162
|
-
export function checkCodeQuality(code, filePath) {
|
|
163
|
-
const issues = [];
|
|
164
|
-
// Check for TODO/FIXME/HACK
|
|
165
|
-
const todoPattern = /(?:TODO|FIXME|HACK|XXX)\s*[:=]?\s*(.+)/gi;
|
|
166
|
-
let match;
|
|
167
|
-
while ((match = todoPattern.exec(code)) !== null) {
|
|
168
|
-
const line = code.substring(0, match.index).split('\n').length;
|
|
169
|
-
issues.push({
|
|
170
|
-
id: `quality-todo-${line}`,
|
|
171
|
-
type: 'quality',
|
|
172
|
-
level: 'low',
|
|
173
|
-
description: `Code comment indicates incomplete work: ${match[0].substring(0, 50)}`,
|
|
174
|
-
file: filePath,
|
|
175
|
-
line,
|
|
176
|
-
recommendation: 'Address the TODO/FIXME before production',
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
// Check for console.log (in production code)
|
|
180
|
-
if (filePath.endsWith('.ts') || filePath.endsWith('.js')) {
|
|
181
|
-
const consolePattern = /console\.(?:log|debug|info)\s*\(/g;
|
|
182
|
-
while ((match = consolePattern.exec(code)) !== null) {
|
|
183
|
-
const line = code.substring(0, match.index).split('\n').length;
|
|
184
|
-
issues.push({
|
|
185
|
-
id: `quality-console-${line}`,
|
|
186
|
-
type: 'quality',
|
|
187
|
-
level: 'low',
|
|
188
|
-
description: 'Console statement in production code',
|
|
189
|
-
file: filePath,
|
|
190
|
-
line,
|
|
191
|
-
recommendation: 'Remove console statements or use a logger',
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
return issues;
|
|
196
|
-
}
|
|
197
|
-
// ─── Security Scoring ────────────────────────────────────────────────────
|
|
198
|
-
/**
|
|
199
|
-
* Calculate security score.
|
|
200
|
-
*/
|
|
201
|
-
export function calculateSecurityScore(issues) {
|
|
202
|
-
let score = 100;
|
|
203
|
-
for (const issue of issues) {
|
|
204
|
-
switch (issue.level) {
|
|
205
|
-
case 'critical':
|
|
206
|
-
score -= 25;
|
|
207
|
-
break;
|
|
208
|
-
case 'high':
|
|
209
|
-
score -= 15;
|
|
210
|
-
break;
|
|
211
|
-
case 'medium':
|
|
212
|
-
score -= 10;
|
|
213
|
-
break;
|
|
214
|
-
case 'low':
|
|
215
|
-
score -= 5;
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
return Math.max(0, score);
|
|
220
|
-
}
|
|
221
|
-
// ─── Main Scan Function ──────────────────────────────────────────────────
|
|
222
|
-
/**
|
|
223
|
-
* Perform comprehensive security scan.
|
|
224
|
-
*/
|
|
225
|
-
export async function securityScan(files) {
|
|
226
|
-
const startTime = Date.now();
|
|
227
|
-
const allIssues = [];
|
|
228
|
-
for (const file of files) {
|
|
229
|
-
// Detect secrets
|
|
230
|
-
allIssues.push(...detectSecrets(file.content, file.path));
|
|
231
|
-
// Detect malicious patterns
|
|
232
|
-
allIssues.push(...detectMaliciousPatterns(file.content, file.path));
|
|
233
|
-
// Check license
|
|
234
|
-
allIssues.push(...checkLicense(file.content, file.path));
|
|
235
|
-
// Check code quality
|
|
236
|
-
allIssues.push(...checkCodeQuality(file.content, file.path));
|
|
237
|
-
}
|
|
238
|
-
const score = calculateSecurityScore(allIssues);
|
|
239
|
-
return {
|
|
240
|
-
passed: score >= 70,
|
|
241
|
-
score,
|
|
242
|
-
issues: allIssues,
|
|
243
|
-
durationMs: Date.now() - startTime,
|
|
244
|
-
filesScanned: files.length,
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
// ─── Export All ──────────────────────────────────────────────────────────
|
|
248
|
-
export default {
|
|
249
|
-
// Secret detection
|
|
250
|
-
detectSecrets,
|
|
251
|
-
// Malicious pattern detection
|
|
252
|
-
detectMaliciousPatterns,
|
|
253
|
-
// Dependency scanning
|
|
254
|
-
scanDependencies,
|
|
255
|
-
// License checking
|
|
256
|
-
checkLicense,
|
|
257
|
-
// Code quality
|
|
258
|
-
checkCodeQuality,
|
|
259
|
-
// Security scoring
|
|
260
|
-
calculateSecurityScore,
|
|
261
|
-
// Main scan
|
|
262
|
-
securityScan,
|
|
263
|
-
};
|
|
264
|
-
//# sourceMappingURL=security-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security-tools.js","sourceRoot":"","sources":["../../src/tools/security-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/ssh-tool.d.ts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SSH Tool — Remote server execution via SSH.
|
|
3
|
-
*
|
|
4
|
-
* This provides SSH capabilities:
|
|
5
|
-
* - Connect to remote servers
|
|
6
|
-
* - Execute commands remotely
|
|
7
|
-
* - File transfer (SCP/SFTP)
|
|
8
|
-
* - Port forwarding (tunnels)
|
|
9
|
-
* - Key management
|
|
10
|
-
* - Agent forwarding
|
|
11
|
-
* - Jump hosts (multi-hop)
|
|
12
|
-
* - Persistent sessions
|
|
13
|
-
*
|
|
14
|
-
* Better than Hermes:
|
|
15
|
-
* - Built-in SSH key management
|
|
16
|
-
* - Port forwarding support
|
|
17
|
-
* - Jump host support
|
|
18
|
-
* - Persistent sessions
|
|
19
|
-
* - Integration with skill system
|
|
20
|
-
*/
|
|
21
|
-
import { ChildProcess } from 'node:child_process';
|
|
22
|
-
export interface SSHConfig {
|
|
23
|
-
/** Hostname or IP */
|
|
24
|
-
host: string;
|
|
25
|
-
/** SSH port (default: 22) */
|
|
26
|
-
port?: number;
|
|
27
|
-
/** Username */
|
|
28
|
-
username: string;
|
|
29
|
-
/** Password (optional, prefer key-based auth) */
|
|
30
|
-
password?: string;
|
|
31
|
-
/** Path to private key file */
|
|
32
|
-
privateKey?: string;
|
|
33
|
-
/** Path to public key file */
|
|
34
|
-
publicKey?: string;
|
|
35
|
-
/** Passphrase for encrypted key */
|
|
36
|
-
passphrase?: string;
|
|
37
|
-
/** SSH config file path */
|
|
38
|
-
configPath?: string;
|
|
39
|
-
/** Connection timeout (ms) */
|
|
40
|
-
timeout?: number;
|
|
41
|
-
/** Keep-alive interval (ms) */
|
|
42
|
-
keepAlive?: number;
|
|
43
|
-
}
|
|
44
|
-
export interface SSHCommandOptions {
|
|
45
|
-
/** Command to execute */
|
|
46
|
-
command: string;
|
|
47
|
-
/** Working directory */
|
|
48
|
-
cwd?: string;
|
|
49
|
-
/** Environment variables */
|
|
50
|
-
env?: Record<string, string>;
|
|
51
|
-
/** Timeout (ms) */
|
|
52
|
-
timeout?: number;
|
|
53
|
-
/** Capture stdout */
|
|
54
|
-
captureStdout?: boolean;
|
|
55
|
-
/** Capture stderr */
|
|
56
|
-
captureStderr?: boolean;
|
|
57
|
-
}
|
|
58
|
-
export interface SSHTunnelConfig {
|
|
59
|
-
/** Local port to bind */
|
|
60
|
-
localPort: number;
|
|
61
|
-
/** Remote host (default: localhost) */
|
|
62
|
-
remoteHost?: string;
|
|
63
|
-
/** Remote port to forward to */
|
|
64
|
-
remotePort: number;
|
|
65
|
-
/** Tunnel type */
|
|
66
|
-
type?: 'local' | 'remote' | 'dynamic';
|
|
67
|
-
}
|
|
68
|
-
export interface SSHExecutionResult {
|
|
69
|
-
success: boolean;
|
|
70
|
-
exitCode: number;
|
|
71
|
-
stdout: string;
|
|
72
|
-
stderr: string;
|
|
73
|
-
durationMs: number;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Execute a command on a remote server.
|
|
77
|
-
*/
|
|
78
|
-
export declare function executeCommand(config: SSHConfig, options: SSHCommandOptions): Promise<SSHExecutionResult>;
|
|
79
|
-
/**
|
|
80
|
-
* Copy file to remote server (SCP).
|
|
81
|
-
*/
|
|
82
|
-
export declare function copyToRemote(config: SSHConfig, localPath: string, remotePath: string): Promise<SSHExecutionResult>;
|
|
83
|
-
/**
|
|
84
|
-
* Copy file from remote server (SCP).
|
|
85
|
-
*/
|
|
86
|
-
export declare function copyFromRemote(config: SSHConfig, remotePath: string, localPath: string): Promise<SSHExecutionResult>;
|
|
87
|
-
/**
|
|
88
|
-
* Create SSH tunnel (port forwarding).
|
|
89
|
-
*/
|
|
90
|
-
export declare function createTunnel(config: SSHConfig, tunnel: SSHTunnelConfig): Promise<ChildProcess>;
|
|
91
|
-
/**
|
|
92
|
-
* Generate SSH key pair.
|
|
93
|
-
*/
|
|
94
|
-
export declare function generateKeyPair(keyPath: string, options?: {
|
|
95
|
-
type?: 'rsa' | 'ed25519' | 'ecdsa';
|
|
96
|
-
bits?: number;
|
|
97
|
-
comment?: string;
|
|
98
|
-
passphrase?: string;
|
|
99
|
-
}): Promise<{
|
|
100
|
-
publicKey: string;
|
|
101
|
-
privateKey: string;
|
|
102
|
-
}>;
|
|
103
|
-
/**
|
|
104
|
-
* Add public key to remote authorized_keys.
|
|
105
|
-
*/
|
|
106
|
-
export declare function addAuthorizedKey(config: SSHConfig, publicKey: string): Promise<SSHExecutionResult>;
|
|
107
|
-
/**
|
|
108
|
-
* Close all SSH connections.
|
|
109
|
-
*/
|
|
110
|
-
export declare function closeAllConnections(): void;
|
|
111
|
-
/**
|
|
112
|
-
* Get connection status.
|
|
113
|
-
*/
|
|
114
|
-
export declare function getConnectionStatus(): Array<{
|
|
115
|
-
key: string;
|
|
116
|
-
connected: boolean;
|
|
117
|
-
pid?: number;
|
|
118
|
-
}>;
|
|
119
|
-
declare const _default: {
|
|
120
|
-
executeCommand: typeof executeCommand;
|
|
121
|
-
copyToRemote: typeof copyToRemote;
|
|
122
|
-
copyFromRemote: typeof copyFromRemote;
|
|
123
|
-
createTunnel: typeof createTunnel;
|
|
124
|
-
generateKeyPair: typeof generateKeyPair;
|
|
125
|
-
addAuthorizedKey: typeof addAuthorizedKey;
|
|
126
|
-
closeAllConnections: typeof closeAllConnections;
|
|
127
|
-
getConnectionStatus: typeof getConnectionStatus;
|
|
128
|
-
};
|
|
129
|
-
export default _default;
|
|
130
|
-
//# sourceMappingURL=ssh-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-tool.d.ts","sourceRoot":"","sources":["../../src/tools/ssh-tool.ts"],"names":[],"mappings":"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"}
|