agent-nuvira 2.7.2 → 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/auth-api.d.ts +2 -0
- package/dist/auth-api.d.ts.map +1 -0
- package/dist/auth-api.js +61 -0
- package/dist/auth-api.js.map +1 -0
- package/dist/auth.test.d.ts +1 -0
- package/dist/auth.test.d.ts.map +1 -0
- package/dist/auth.test.js +3 -0
- package/dist/auth.test.js.map +1 -0
- package/dist/cli/chat.d.ts +66 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +323 -77
- 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 +296 -20
- 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 +65 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +307 -32
- 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/model-catalog.d.ts +8 -0
- package/dist/inference/model-catalog.d.ts.map +1 -1
- package/dist/inference/model-catalog.js +40 -0
- package/dist/inference/model-catalog.js.map +1 -1
- package/dist/inference/model-probe.d.ts +7 -0
- package/dist/inference/model-probe.d.ts.map +1 -1
- package/dist/inference/model-probe.js +25 -7
- package/dist/inference/model-probe.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 +21 -0
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +282 -21
- 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 +41 -0
- package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
- package/dist/learning/failure-bookkeeping.js +122 -4
- 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-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +5 -11
- package/dist/learning/model-first-router.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-registry.d.ts +29 -0
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +129 -3
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-scoring.d.ts.map +1 -1
- package/dist/learning/model-scoring.js +6 -1
- package/dist/learning/model-scoring.js.map +1 -1
- 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 +40 -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 +84 -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/quota-ledger.d.ts +64 -3
- package/dist/learning/quota-ledger.d.ts.map +1 -1
- package/dist/learning/quota-ledger.js +122 -9
- package/dist/learning/quota-ledger.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +98 -0
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +252 -46
- 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 +4 -4
- 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/routes/auth.d.ts +3 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +41 -36
- package/dist/routes/auth.js.map +1 -0
- 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 +196 -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,305 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shell Detection — Detect and use correct shell for platform.
|
|
3
|
-
*
|
|
4
|
-
* This provides shell detection and execution:
|
|
5
|
-
* - Auto-detect available shells
|
|
6
|
-
* - PowerShell 7+ support
|
|
7
|
-
* - CMD support
|
|
8
|
-
* - Bash/Zsh support
|
|
9
|
-
* - Shell-specific command formatting
|
|
10
|
-
* - Error stream handling
|
|
11
|
-
* - Output encoding
|
|
12
|
-
*
|
|
13
|
-
* Better than Hermes:
|
|
14
|
-
* - Automatic shell detection
|
|
15
|
-
* - Shell-specific error handling
|
|
16
|
-
* - Output encoding support
|
|
17
|
-
* - Integration with skill system
|
|
18
|
-
*/
|
|
19
|
-
import { platform } from 'node:os';
|
|
20
|
-
import { spawn } from 'node:child_process';
|
|
21
|
-
// ─── Shell Detection ─────────────────────────────────────────────────────
|
|
22
|
-
/**
|
|
23
|
-
* Detect available shells on the system.
|
|
24
|
-
*/
|
|
25
|
-
export async function detectShells() {
|
|
26
|
-
const shells = [];
|
|
27
|
-
// PowerShell 7+ (pwsh)
|
|
28
|
-
const pwsh = await detectShell('pwsh', ['pwsh', '--version']);
|
|
29
|
-
if (pwsh)
|
|
30
|
-
shells.push(pwsh);
|
|
31
|
-
// Windows PowerShell
|
|
32
|
-
const powershell = await detectShell('powershell', ['powershell', '-Command', '$PSVersionTable.PSVersion.ToString()']);
|
|
33
|
-
if (powershell)
|
|
34
|
-
shells.push(powershell);
|
|
35
|
-
// CMD
|
|
36
|
-
const cmd = await detectShell('cmd', ['cmd', '/c', 'ver']);
|
|
37
|
-
if (cmd)
|
|
38
|
-
shells.push(cmd);
|
|
39
|
-
// Bash
|
|
40
|
-
const bash = await detectShell('bash', ['bash', '--version']);
|
|
41
|
-
if (bash)
|
|
42
|
-
shells.push(bash);
|
|
43
|
-
// Zsh
|
|
44
|
-
const zsh = await detectShell('zsh', ['zsh', '--version']);
|
|
45
|
-
if (zsh)
|
|
46
|
-
shells.push(zsh);
|
|
47
|
-
// Fish
|
|
48
|
-
const fish = await detectShell('fish', ['fish', '--version']);
|
|
49
|
-
if (fish)
|
|
50
|
-
shells.push(fish);
|
|
51
|
-
return shells;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Detect a specific shell.
|
|
55
|
-
*/
|
|
56
|
-
async function detectShell(type, command) {
|
|
57
|
-
try {
|
|
58
|
-
const result = await executeShellCommand(command[0], command.slice(1), {
|
|
59
|
-
timeout: 5000,
|
|
60
|
-
});
|
|
61
|
-
if (result.exitCode === 0) {
|
|
62
|
-
return {
|
|
63
|
-
type,
|
|
64
|
-
path: command[0],
|
|
65
|
-
version: result.stdout.trim().split('\n')[0],
|
|
66
|
-
available: true,
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
// Shell not available
|
|
72
|
-
}
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get the default shell for the current platform.
|
|
77
|
-
*/
|
|
78
|
-
export function getDefaultShell() {
|
|
79
|
-
const p = platform();
|
|
80
|
-
switch (p) {
|
|
81
|
-
case 'win32':
|
|
82
|
-
return 'powershell';
|
|
83
|
-
case 'darwin':
|
|
84
|
-
return 'zsh';
|
|
85
|
-
case 'linux':
|
|
86
|
-
return 'bash';
|
|
87
|
-
default:
|
|
88
|
-
return 'bash';
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Get the best available shell.
|
|
93
|
-
*/
|
|
94
|
-
export async function getBestShell() {
|
|
95
|
-
const shells = await detectShells();
|
|
96
|
-
const available = shells.filter((s) => s.available);
|
|
97
|
-
if (available.length === 0) {
|
|
98
|
-
throw new Error('No shells available');
|
|
99
|
-
}
|
|
100
|
-
// Prefer PowerShell 7+ on Windows
|
|
101
|
-
if (platform() === 'win32') {
|
|
102
|
-
const pwsh = available.find((s) => s.type === 'pwsh');
|
|
103
|
-
if (pwsh)
|
|
104
|
-
return pwsh;
|
|
105
|
-
const powershell = available.find((s) => s.type === 'powershell');
|
|
106
|
-
if (powershell)
|
|
107
|
-
return powershell;
|
|
108
|
-
}
|
|
109
|
-
// Prefer zsh on macOS
|
|
110
|
-
if (platform() === 'darwin') {
|
|
111
|
-
const zsh = available.find((s) => s.type === 'zsh');
|
|
112
|
-
if (zsh)
|
|
113
|
-
return zsh;
|
|
114
|
-
}
|
|
115
|
-
// Default to bash
|
|
116
|
-
const bash = available.find((s) => s.type === 'bash');
|
|
117
|
-
if (bash)
|
|
118
|
-
return bash;
|
|
119
|
-
// Return first available
|
|
120
|
-
return available[0];
|
|
121
|
-
}
|
|
122
|
-
// ─── Shell Execution ─────────────────────────────────────────────────────
|
|
123
|
-
/**
|
|
124
|
-
* Execute a command in a shell.
|
|
125
|
-
*/
|
|
126
|
-
export async function executeShellCommand(command, args = [], options = {}) {
|
|
127
|
-
const startTime = Date.now();
|
|
128
|
-
const shell = options.shell ?? getDefaultShell();
|
|
129
|
-
// Build command based on shell
|
|
130
|
-
const { execCommand, execArgs } = buildShellCommand(shell, command, args);
|
|
131
|
-
return new Promise((resolve) => {
|
|
132
|
-
const child = spawn(execCommand, execArgs, {
|
|
133
|
-
cwd: options.cwd,
|
|
134
|
-
env: { ...process.env, ...options.env },
|
|
135
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
136
|
-
shell: shell === 'bash' || shell === 'zsh' || shell === 'fish',
|
|
137
|
-
});
|
|
138
|
-
let stdout = '';
|
|
139
|
-
let stderr = '';
|
|
140
|
-
let killed = false;
|
|
141
|
-
// Capture stdout
|
|
142
|
-
child.stdout?.on('data', (data) => {
|
|
143
|
-
stdout += data.toString();
|
|
144
|
-
});
|
|
145
|
-
// Capture stderr
|
|
146
|
-
child.stderr?.on('data', (data) => {
|
|
147
|
-
stderr += data.toString();
|
|
148
|
-
});
|
|
149
|
-
// Set timeout
|
|
150
|
-
const timer = setTimeout(() => {
|
|
151
|
-
killed = true;
|
|
152
|
-
child.kill('SIGTERM');
|
|
153
|
-
setTimeout(() => {
|
|
154
|
-
if (!child.killed) {
|
|
155
|
-
child.kill('SIGKILL');
|
|
156
|
-
}
|
|
157
|
-
}, 5000);
|
|
158
|
-
}, options.timeout ?? 30000);
|
|
159
|
-
// Handle completion
|
|
160
|
-
child.on('close', (code) => {
|
|
161
|
-
clearTimeout(timer);
|
|
162
|
-
resolve({
|
|
163
|
-
exitCode: code ?? (killed ? 124 : 1),
|
|
164
|
-
stdout,
|
|
165
|
-
stderr,
|
|
166
|
-
durationMs: Date.now() - startTime,
|
|
167
|
-
shell,
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
// Handle errors
|
|
171
|
-
child.on('error', () => {
|
|
172
|
-
clearTimeout(timer);
|
|
173
|
-
resolve({
|
|
174
|
-
exitCode: 1,
|
|
175
|
-
stdout,
|
|
176
|
-
stderr: stderr + '\nFailed to execute command',
|
|
177
|
-
durationMs: Date.now() - startTime,
|
|
178
|
-
shell,
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Build shell-specific command.
|
|
185
|
-
*/
|
|
186
|
-
function buildShellCommand(shell, command, args) {
|
|
187
|
-
switch (shell) {
|
|
188
|
-
case 'powershell':
|
|
189
|
-
return {
|
|
190
|
-
execCommand: 'powershell',
|
|
191
|
-
execArgs: ['-Command', `${command} ${args.join(' ')}`],
|
|
192
|
-
};
|
|
193
|
-
case 'pwsh':
|
|
194
|
-
return {
|
|
195
|
-
execCommand: 'pwsh',
|
|
196
|
-
execArgs: ['-Command', `${command} ${args.join(' ')}`],
|
|
197
|
-
};
|
|
198
|
-
case 'cmd':
|
|
199
|
-
return {
|
|
200
|
-
execCommand: 'cmd',
|
|
201
|
-
execArgs: ['/c', command, ...args],
|
|
202
|
-
};
|
|
203
|
-
case 'bash':
|
|
204
|
-
case 'zsh':
|
|
205
|
-
case 'fish':
|
|
206
|
-
return {
|
|
207
|
-
execCommand: command,
|
|
208
|
-
execArgs: args,
|
|
209
|
-
};
|
|
210
|
-
default:
|
|
211
|
-
return {
|
|
212
|
-
execCommand: command,
|
|
213
|
-
execArgs: args,
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
// ─── PowerShell Helpers ──────────────────────────────────────────────────
|
|
218
|
-
/**
|
|
219
|
-
* Execute a PowerShell script block.
|
|
220
|
-
*/
|
|
221
|
-
export async function executePowerShellScript(script, options = {}) {
|
|
222
|
-
const pwsh = await getBestShell();
|
|
223
|
-
if (pwsh.type !== 'powershell' && pwsh.type !== 'pwsh') {
|
|
224
|
-
throw new Error('PowerShell not available');
|
|
225
|
-
}
|
|
226
|
-
// Set execution policy if specified
|
|
227
|
-
const policyFlag = options.executionPolicy
|
|
228
|
-
? `-ExecutionPolicy ${options.executionPolicy}`
|
|
229
|
-
: '';
|
|
230
|
-
return executeShellCommand(pwsh.path, [policyFlag, '-Command', script], {
|
|
231
|
-
cwd: options.cwd,
|
|
232
|
-
env: options.env,
|
|
233
|
-
timeout: options.timeout,
|
|
234
|
-
shell: pwsh.type,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Execute a PowerShell script file.
|
|
239
|
-
*/
|
|
240
|
-
export async function executePowerShellFile(filePath, args = [], options = {}) {
|
|
241
|
-
const pwsh = await getBestShell();
|
|
242
|
-
if (pwsh.type !== 'powershell' && pwsh.type !== 'pwsh') {
|
|
243
|
-
throw new Error('PowerShell not available');
|
|
244
|
-
}
|
|
245
|
-
return executeShellCommand(pwsh.path, ['-File', filePath, ...args], {
|
|
246
|
-
cwd: options.cwd,
|
|
247
|
-
env: options.env,
|
|
248
|
-
timeout: options.timeout,
|
|
249
|
-
shell: pwsh.type,
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
// ─── CMD Helpers ─────────────────────────────────────────────────────────
|
|
253
|
-
/**
|
|
254
|
-
* Execute a CMD command.
|
|
255
|
-
*/
|
|
256
|
-
export async function executeCMDCommand(command, args = [], options = {}) {
|
|
257
|
-
return executeShellCommand('cmd', ['/c', command, ...args], {
|
|
258
|
-
cwd: options.cwd,
|
|
259
|
-
env: options.env,
|
|
260
|
-
timeout: options.timeout,
|
|
261
|
-
shell: 'cmd',
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
// ─── Bash Helpers ────────────────────────────────────────────────────────
|
|
265
|
-
/**
|
|
266
|
-
* Execute a Bash script.
|
|
267
|
-
*/
|
|
268
|
-
export async function executeBashScript(script, options = {}) {
|
|
269
|
-
return executeShellCommand('bash', ['-c', script], {
|
|
270
|
-
cwd: options.cwd,
|
|
271
|
-
env: options.env,
|
|
272
|
-
timeout: options.timeout,
|
|
273
|
-
shell: 'bash',
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Execute a Bash script file.
|
|
278
|
-
*/
|
|
279
|
-
export async function executeBashFile(filePath, args = [], options = {}) {
|
|
280
|
-
return executeShellCommand('bash', [filePath, ...args], {
|
|
281
|
-
cwd: options.cwd,
|
|
282
|
-
env: options.env,
|
|
283
|
-
timeout: options.timeout,
|
|
284
|
-
shell: 'bash',
|
|
285
|
-
});
|
|
286
|
-
}
|
|
287
|
-
// ─── Export All ──────────────────────────────────────────────────────────
|
|
288
|
-
export default {
|
|
289
|
-
// Shell detection
|
|
290
|
-
detectShells,
|
|
291
|
-
getDefaultShell,
|
|
292
|
-
getBestShell,
|
|
293
|
-
// Shell execution
|
|
294
|
-
executeShellCommand,
|
|
295
|
-
buildShellCommand,
|
|
296
|
-
// PowerShell helpers
|
|
297
|
-
executePowerShellScript,
|
|
298
|
-
executePowerShellFile,
|
|
299
|
-
// CMD helpers
|
|
300
|
-
executeCMDCommand,
|
|
301
|
-
// Bash helpers
|
|
302
|
-
executeBashScript,
|
|
303
|
-
executeBashFile,
|
|
304
|
-
};
|
|
305
|
-
//# sourceMappingURL=shell-detection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell-detection.js","sourceRoot":"","sources":["../../src/utils/shell-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Windows Path Handling — Cross-platform path conversion and validation.
|
|
3
|
-
*
|
|
4
|
-
* This provides Windows-specific path handling:
|
|
5
|
-
* - MSYS/Git Bash path conversion
|
|
6
|
-
* - Cygwin path conversion
|
|
7
|
-
* - WSL path conversion
|
|
8
|
-
* - UNC path support
|
|
9
|
-
* - Long path support (>260 chars)
|
|
10
|
-
* - Drive letter detection
|
|
11
|
-
* - Path normalization
|
|
12
|
-
* - Path validation
|
|
13
|
-
* - Permission checking
|
|
14
|
-
* - Symbolic link resolution
|
|
15
|
-
*
|
|
16
|
-
* Better than Hermes:
|
|
17
|
-
* - Support for all Windows path formats
|
|
18
|
-
* - Automatic platform detection
|
|
19
|
-
* - Path validation with detailed errors
|
|
20
|
-
* - Permission checking
|
|
21
|
-
* - Integration with file operations
|
|
22
|
-
*/
|
|
23
|
-
export interface PathConversionResult {
|
|
24
|
-
/** Converted path */
|
|
25
|
-
path: string;
|
|
26
|
-
/** Original path */
|
|
27
|
-
original: string;
|
|
28
|
-
/** Conversion type */
|
|
29
|
-
type: 'msys' | 'cygwin' | 'wsl' | 'unc' | 'native' | 'none';
|
|
30
|
-
/** Whether conversion was successful */
|
|
31
|
-
success: boolean;
|
|
32
|
-
/** Error message if conversion failed */
|
|
33
|
-
error?: string;
|
|
34
|
-
}
|
|
35
|
-
export interface PathValidationResult {
|
|
36
|
-
/** Whether path is valid */
|
|
37
|
-
valid: boolean;
|
|
38
|
-
/** Path exists */
|
|
39
|
-
exists: boolean;
|
|
40
|
-
/** Is directory */
|
|
41
|
-
isDirectory: boolean;
|
|
42
|
-
/** Is file */
|
|
43
|
-
isFile: boolean;
|
|
44
|
-
/** Is symbolic link */
|
|
45
|
-
isSymlink: boolean;
|
|
46
|
-
/** Is readable */
|
|
47
|
-
isReadable: boolean;
|
|
48
|
-
/** Is writable */
|
|
49
|
-
isWritable: boolean;
|
|
50
|
-
/** Is executable */
|
|
51
|
-
isExecutable: boolean;
|
|
52
|
-
/** Error message if validation failed */
|
|
53
|
-
error?: string;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Detect the current platform.
|
|
57
|
-
*/
|
|
58
|
-
export declare function detectPlatform(): 'windows' | 'macos' | 'linux';
|
|
59
|
-
/**
|
|
60
|
-
* Check if running on Windows.
|
|
61
|
-
*/
|
|
62
|
-
export declare function isWindows(): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Check if running on macOS.
|
|
65
|
-
*/
|
|
66
|
-
export declare function isMacOS(): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Check if running on Linux.
|
|
69
|
-
*/
|
|
70
|
-
export declare function isLinux(): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Convert MSYS/Git Bash path to Windows path.
|
|
73
|
-
* Example: /c/Users/ → C:\Users\
|
|
74
|
-
*/
|
|
75
|
-
export declare function msysToWindows(path: string): PathConversionResult;
|
|
76
|
-
/**
|
|
77
|
-
* Convert Cygwin path to Windows path.
|
|
78
|
-
* Example: /cygdrive/c/Users/ → C:\Users\
|
|
79
|
-
*/
|
|
80
|
-
export declare function cygwinToWindows(path: string): PathConversionResult;
|
|
81
|
-
/**
|
|
82
|
-
* Convert WSL path to Windows path.
|
|
83
|
-
* Example: /mnt/c/Users/ → C:\Users\
|
|
84
|
-
*/
|
|
85
|
-
export declare function wslToWindows(path: string): PathConversionResult;
|
|
86
|
-
/**
|
|
87
|
-
* Convert Windows path to MSYS path.
|
|
88
|
-
* Example: C:\Users\ → /c/Users/
|
|
89
|
-
*/
|
|
90
|
-
export declare function windowsToMsys(path: string): PathConversionResult;
|
|
91
|
-
/**
|
|
92
|
-
* Convert Windows path to Cygwin path.
|
|
93
|
-
* Example: C:\Users\ → /cygdrive/c/Users/
|
|
94
|
-
*/
|
|
95
|
-
export declare function windowsToCygwin(path: string): PathConversionResult;
|
|
96
|
-
/**
|
|
97
|
-
* Convert Windows path to WSL path.
|
|
98
|
-
* Example: C:\Users\ → /mnt/c/Users/
|
|
99
|
-
*/
|
|
100
|
-
export declare function windowsToWsl(path: string): PathConversionResult;
|
|
101
|
-
/**
|
|
102
|
-
* Detect path type and convert to Windows path.
|
|
103
|
-
*/
|
|
104
|
-
export declare function detectAndConvert(path: string): PathConversionResult;
|
|
105
|
-
/**
|
|
106
|
-
* Validate a path with detailed results.
|
|
107
|
-
*/
|
|
108
|
-
export declare function validatePath(path: string): Promise<PathValidationResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Check if path is a long path (>260 chars).
|
|
111
|
-
*/
|
|
112
|
-
export declare function isLongPath(path: string): boolean;
|
|
113
|
-
/**
|
|
114
|
-
* Convert to long path format (Windows).
|
|
115
|
-
*/
|
|
116
|
-
export declare function toLongPath(path: string): string;
|
|
117
|
-
/**
|
|
118
|
-
* Convert from long path format (Windows).
|
|
119
|
-
*/
|
|
120
|
-
export declare function fromLongPath(path: string): string;
|
|
121
|
-
/**
|
|
122
|
-
* Normalize path for current platform.
|
|
123
|
-
*/
|
|
124
|
-
export declare function normalizePath(path: string): string;
|
|
125
|
-
/**
|
|
126
|
-
* Resolve path relative to base.
|
|
127
|
-
*/
|
|
128
|
-
export declare function resolvePath(base: string, relative: string): string;
|
|
129
|
-
/**
|
|
130
|
-
* Get relative path from base to target.
|
|
131
|
-
*/
|
|
132
|
-
export declare function relativePath(base: string, target: string): string;
|
|
133
|
-
/**
|
|
134
|
-
* Get path components.
|
|
135
|
-
*/
|
|
136
|
-
export declare function getPathComponents(path: string): {
|
|
137
|
-
root: string;
|
|
138
|
-
dir: string;
|
|
139
|
-
base: string;
|
|
140
|
-
ext: string;
|
|
141
|
-
name: string;
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* Check if path is absolute.
|
|
145
|
-
*/
|
|
146
|
-
export declare function isPathAbsolute(path: string): boolean;
|
|
147
|
-
/**
|
|
148
|
-
* Join paths safely.
|
|
149
|
-
*/
|
|
150
|
-
export declare function joinPaths(...paths: string[]): string;
|
|
151
|
-
/**
|
|
152
|
-
* Resolve symbolic links in path.
|
|
153
|
-
*/
|
|
154
|
-
export declare function resolveSymlinks(path: string): Promise<string>;
|
|
155
|
-
/**
|
|
156
|
-
* Check if path contains symbolic links.
|
|
157
|
-
*/
|
|
158
|
-
export declare function hasSymlinks(path: string): Promise<boolean>;
|
|
159
|
-
declare const _default: {
|
|
160
|
-
detectPlatform: typeof detectPlatform;
|
|
161
|
-
isWindows: typeof isWindows;
|
|
162
|
-
isMacOS: typeof isMacOS;
|
|
163
|
-
isLinux: typeof isLinux;
|
|
164
|
-
msysToWindows: typeof msysToWindows;
|
|
165
|
-
cygwinToWindows: typeof cygwinToWindows;
|
|
166
|
-
wslToWindows: typeof wslToWindows;
|
|
167
|
-
windowsToMsys: typeof windowsToMsys;
|
|
168
|
-
windowsToCygwin: typeof windowsToCygwin;
|
|
169
|
-
windowsToWsl: typeof windowsToWsl;
|
|
170
|
-
detectAndConvert: typeof detectAndConvert;
|
|
171
|
-
validatePath: typeof validatePath;
|
|
172
|
-
isLongPath: typeof isLongPath;
|
|
173
|
-
toLongPath: typeof toLongPath;
|
|
174
|
-
fromLongPath: typeof fromLongPath;
|
|
175
|
-
normalizePath: typeof normalizePath;
|
|
176
|
-
resolvePath: typeof resolvePath;
|
|
177
|
-
relativePath: typeof relativePath;
|
|
178
|
-
getPathComponents: typeof getPathComponents;
|
|
179
|
-
isPathAbsolute: typeof isPathAbsolute;
|
|
180
|
-
joinPaths: typeof joinPaths;
|
|
181
|
-
resolveSymlinks: typeof resolveSymlinks;
|
|
182
|
-
hasSymlinks: typeof hasSymlinks;
|
|
183
|
-
};
|
|
184
|
-
export default _default;
|
|
185
|
-
//# sourceMappingURL=windows-paths.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"windows-paths.d.ts","sourceRoot":"","sources":["../../src/utils/windows-paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5D,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,uBAAuB;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,wBAAgB,cAAc,IAAI,SAAS,GAAG,OAAO,GAAG,OAAO,CAY9D;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuBhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuB/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuBhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuBlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAuB/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA4CnE;AAID;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgD9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAID;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BjE;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CASA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKpD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEpD;AAID;;GAEG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWnE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOhE;;;;;;;;;;;;;;;;;;;;;;;;;;AAID,wBAmCE"}
|