@defai.digital/ax-cli 4.4.7 → 4.4.11
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/bin/ax-cli +1 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -9
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts +27 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +591 -0
- package/dist/setup.js.map +1 -0
- package/package.json +43 -135
- package/LICENSE +0 -22
- package/README.md +0 -420
- package/config-defaults/messages.yaml +0 -75
- package/config-defaults/models.yaml +0 -57
- package/config-defaults/prompts.yaml +0 -948
- package/config-defaults/settings.yaml +0 -157
- package/dist/agent/agent-executor.d.ts +0 -61
- package/dist/agent/agent-executor.js +0 -194
- package/dist/agent/agent-executor.js.map +0 -1
- package/dist/agent/agent-router.d.ts +0 -68
- package/dist/agent/agent-router.js +0 -242
- package/dist/agent/agent-router.js.map +0 -1
- package/dist/agent/context-manager.d.ts +0 -122
- package/dist/agent/context-manager.js +0 -406
- package/dist/agent/context-manager.js.map +0 -1
- package/dist/agent/core/index.d.ts +0 -8
- package/dist/agent/core/index.js +0 -9
- package/dist/agent/core/index.js.map +0 -1
- package/dist/agent/core/types.d.ts +0 -92
- package/dist/agent/core/types.js +0 -11
- package/dist/agent/core/types.js.map +0 -1
- package/dist/agent/dependency-resolver.d.ts +0 -90
- package/dist/agent/dependency-resolver.js +0 -366
- package/dist/agent/dependency-resolver.js.map +0 -1
- package/dist/agent/execution/index.d.ts +0 -9
- package/dist/agent/execution/index.js +0 -9
- package/dist/agent/execution/index.js.map +0 -1
- package/dist/agent/execution/tool-executor.d.ts +0 -93
- package/dist/agent/execution/tool-executor.js +0 -552
- package/dist/agent/execution/tool-executor.js.map +0 -1
- package/dist/agent/index.d.ts +0 -14
- package/dist/agent/index.js +0 -145
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/llm-agent.d.ts +0 -368
- package/dist/agent/llm-agent.js +0 -1931
- package/dist/agent/llm-agent.js.map +0 -1
- package/dist/agent/loop-detector.d.ts +0 -72
- package/dist/agent/loop-detector.js +0 -335
- package/dist/agent/loop-detector.js.map +0 -1
- package/dist/agent/parallel-tools.d.ts +0 -69
- package/dist/agent/parallel-tools.js +0 -188
- package/dist/agent/parallel-tools.js.map +0 -1
- package/dist/agent/planning/index.d.ts +0 -9
- package/dist/agent/planning/index.js +0 -9
- package/dist/agent/planning/index.js.map +0 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -79
- package/dist/agent/planning/plan-executor.js +0 -240
- package/dist/agent/planning/plan-executor.js.map +0 -1
- package/dist/agent/progress-tracker.d.ts +0 -94
- package/dist/agent/progress-tracker.js +0 -225
- package/dist/agent/progress-tracker.js.map +0 -1
- package/dist/agent/specialized/analysis-agent.d.ts +0 -11
- package/dist/agent/specialized/analysis-agent.js +0 -24
- package/dist/agent/specialized/analysis-agent.js.map +0 -1
- package/dist/agent/specialized/debug-agent.d.ts +0 -11
- package/dist/agent/specialized/debug-agent.js +0 -46
- package/dist/agent/specialized/debug-agent.js.map +0 -1
- package/dist/agent/specialized/documentation-agent.d.ts +0 -11
- package/dist/agent/specialized/documentation-agent.js +0 -24
- package/dist/agent/specialized/documentation-agent.js.map +0 -1
- package/dist/agent/specialized/index.d.ts +0 -11
- package/dist/agent/specialized/index.js +0 -12
- package/dist/agent/specialized/index.js.map +0 -1
- package/dist/agent/specialized/performance-agent.d.ts +0 -11
- package/dist/agent/specialized/performance-agent.js +0 -24
- package/dist/agent/specialized/performance-agent.js.map +0 -1
- package/dist/agent/specialized/refactoring-agent.d.ts +0 -11
- package/dist/agent/specialized/refactoring-agent.js +0 -24
- package/dist/agent/specialized/refactoring-agent.js.map +0 -1
- package/dist/agent/specialized/testing-agent.d.ts +0 -11
- package/dist/agent/specialized/testing-agent.js +0 -24
- package/dist/agent/specialized/testing-agent.js.map +0 -1
- package/dist/agent/status-reporter.d.ts +0 -114
- package/dist/agent/status-reporter.js +0 -335
- package/dist/agent/status-reporter.js.map +0 -1
- package/dist/agent/streaming/index.d.ts +0 -9
- package/dist/agent/streaming/index.js +0 -9
- package/dist/agent/streaming/index.js.map +0 -1
- package/dist/agent/streaming/stream-handler.d.ts +0 -62
- package/dist/agent/streaming/stream-handler.js +0 -217
- package/dist/agent/streaming/stream-handler.js.map +0 -1
- package/dist/agent/subagent-orchestrator.d.ts +0 -166
- package/dist/agent/subagent-orchestrator.js +0 -487
- package/dist/agent/subagent-orchestrator.js.map +0 -1
- package/dist/agent/subagent-types.d.ts +0 -261
- package/dist/agent/subagent-types.js +0 -257
- package/dist/agent/subagent-types.js.map +0 -1
- package/dist/agent/subagent.d.ts +0 -116
- package/dist/agent/subagent.js +0 -507
- package/dist/agent/subagent.js.map +0 -1
- package/dist/checkpoint/index.d.ts +0 -9
- package/dist/checkpoint/index.js +0 -11
- package/dist/checkpoint/index.js.map +0 -1
- package/dist/checkpoint/manager.d.ts +0 -101
- package/dist/checkpoint/manager.js +0 -407
- package/dist/checkpoint/manager.js.map +0 -1
- package/dist/checkpoint/storage.d.ts +0 -39
- package/dist/checkpoint/storage.js +0 -350
- package/dist/checkpoint/storage.js.map +0 -1
- package/dist/checkpoint/types.d.ts +0 -111
- package/dist/checkpoint/types.js +0 -17
- package/dist/checkpoint/types.js.map +0 -1
- package/dist/commands/cache.d.ts +0 -7
- package/dist/commands/cache.js +0 -284
- package/dist/commands/cache.js.map +0 -1
- package/dist/commands/custom-commands.d.ts +0 -77
- package/dist/commands/custom-commands.js +0 -251
- package/dist/commands/custom-commands.js.map +0 -1
- package/dist/commands/design.d.ts +0 -18
- package/dist/commands/design.js +0 -511
- package/dist/commands/design.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -6
- package/dist/commands/doctor.js +0 -773
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/frontend.d.ts +0 -9
- package/dist/commands/frontend.js +0 -645
- package/dist/commands/frontend.js.map +0 -1
- package/dist/commands/init/wizard.d.ts +0 -55
- package/dist/commands/init/wizard.js +0 -189
- package/dist/commands/init/wizard.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.js +0 -195
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-migrate.d.ts +0 -9
- package/dist/commands/mcp-migrate.js +0 -175
- package/dist/commands/mcp-migrate.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -2
- package/dist/commands/mcp.js +0 -1292
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -6
- package/dist/commands/memory.js +0 -555
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/models.d.ts +0 -5
- package/dist/commands/models.js +0 -213
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/plan.d.ts +0 -43
- package/dist/commands/plan.js +0 -362
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/rewind.d.ts +0 -19
- package/dist/commands/rewind.js +0 -221
- package/dist/commands/rewind.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -14
- package/dist/commands/setup.js +0 -733
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/status.d.ts +0 -7
- package/dist/commands/status.js +0 -437
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/templates.d.ts +0 -5
- package/dist/commands/templates.js +0 -245
- package/dist/commands/templates.js.map +0 -1
- package/dist/commands/update.d.ts +0 -49
- package/dist/commands/update.js +0 -366
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -8
- package/dist/commands/usage.js +0 -264
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/vscode.d.ts +0 -7
- package/dist/commands/vscode.js +0 -419
- package/dist/commands/vscode.js.map +0 -1
- package/dist/constants.d.ts +0 -236
- package/dist/constants.js +0 -288
- package/dist/constants.js.map +0 -1
- package/dist/design/figma-alias.d.ts +0 -170
- package/dist/design/figma-alias.js +0 -577
- package/dist/design/figma-alias.js.map +0 -1
- package/dist/design/figma-audit.d.ts +0 -40
- package/dist/design/figma-audit.js +0 -383
- package/dist/design/figma-audit.js.map +0 -1
- package/dist/design/figma-client.d.ts +0 -131
- package/dist/design/figma-client.js +0 -369
- package/dist/design/figma-client.js.map +0 -1
- package/dist/design/figma-map.d.ts +0 -29
- package/dist/design/figma-map.js +0 -346
- package/dist/design/figma-map.js.map +0 -1
- package/dist/design/figma-tokens.d.ts +0 -73
- package/dist/design/figma-tokens.js +0 -448
- package/dist/design/figma-tokens.js.map +0 -1
- package/dist/design/index.d.ts +0 -13
- package/dist/design/index.js +0 -20
- package/dist/design/index.js.map +0 -1
- package/dist/design/types.d.ts +0 -98
- package/dist/design/types.js +0 -9
- package/dist/design/types.js.map +0 -1
- package/dist/hooks/hook-runner.d.ts +0 -142
- package/dist/hooks/hook-runner.js +0 -436
- package/dist/hooks/hook-runner.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.js +0 -10
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/manager.d.ts +0 -84
- package/dist/hooks/manager.js +0 -348
- package/dist/hooks/manager.js.map +0 -1
- package/dist/hooks/types.d.ts +0 -134
- package/dist/hooks/types.js +0 -9
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/ipc/index.d.ts +0 -9
- package/dist/ipc/index.js +0 -10
- package/dist/ipc/index.js.map +0 -1
- package/dist/ipc/vscode-client.d.ts +0 -200
- package/dist/ipc/vscode-client.js +0 -495
- package/dist/ipc/vscode-client.js.map +0 -1
- package/dist/llm/client.d.ts +0 -205
- package/dist/llm/client.js +0 -735
- package/dist/llm/client.js.map +0 -1
- package/dist/llm/tools.d.ts +0 -102
- package/dist/llm/tools.js +0 -275
- package/dist/llm/tools.js.map +0 -1
- package/dist/llm/types.d.ts +0 -428
- package/dist/llm/types.js +0 -194
- package/dist/llm/types.js.map +0 -1
- package/dist/mcp/automatosx-auto-discovery.d.ts +0 -66
- package/dist/mcp/automatosx-auto-discovery.js +0 -169
- package/dist/mcp/automatosx-auto-discovery.js.map +0 -1
- package/dist/mcp/automatosx-loader.d.ts +0 -99
- package/dist/mcp/automatosx-loader.js +0 -250
- package/dist/mcp/automatosx-loader.js.map +0 -1
- package/dist/mcp/cancellation.d.ts +0 -182
- package/dist/mcp/cancellation.js +0 -275
- package/dist/mcp/cancellation.js.map +0 -1
- package/dist/mcp/client-v2.d.ts +0 -500
- package/dist/mcp/client-v2.js +0 -1433
- package/dist/mcp/client-v2.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -170
- package/dist/mcp/client.js +0 -232
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config-detector.d.ts +0 -90
- package/dist/mcp/config-detector.js +0 -250
- package/dist/mcp/config-detector.js.map +0 -1
- package/dist/mcp/config-migrator.d.ts +0 -68
- package/dist/mcp/config-migrator.js +0 -291
- package/dist/mcp/config-migrator.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -24
- package/dist/mcp/config.js +0 -273
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/constants.d.ts +0 -66
- package/dist/mcp/constants.js +0 -85
- package/dist/mcp/constants.js.map +0 -1
- package/dist/mcp/content-length-transport.d.ts +0 -106
- package/dist/mcp/content-length-transport.js +0 -413
- package/dist/mcp/content-length-transport.js.map +0 -1
- package/dist/mcp/debug.d.ts +0 -211
- package/dist/mcp/debug.js +0 -404
- package/dist/mcp/debug.js.map +0 -1
- package/dist/mcp/error-formatter.d.ts +0 -40
- package/dist/mcp/error-formatter.js +0 -207
- package/dist/mcp/error-formatter.js.map +0 -1
- package/dist/mcp/error-remediation.d.ts +0 -45
- package/dist/mcp/error-remediation.js +0 -291
- package/dist/mcp/error-remediation.js.map +0 -1
- package/dist/mcp/health.d.ts +0 -120
- package/dist/mcp/health.js +0 -267
- package/dist/mcp/health.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -56
- package/dist/mcp/index.js +0 -89
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/invariants.d.ts +0 -141
- package/dist/mcp/invariants.js +0 -243
- package/dist/mcp/invariants.js.map +0 -1
- package/dist/mcp/mutex-safe.d.ts +0 -151
- package/dist/mcp/mutex-safe.js +0 -260
- package/dist/mcp/mutex-safe.js.map +0 -1
- package/dist/mcp/progress.d.ts +0 -155
- package/dist/mcp/progress.js +0 -252
- package/dist/mcp/progress.js.map +0 -1
- package/dist/mcp/prompts.d.ts +0 -68
- package/dist/mcp/prompts.js +0 -129
- package/dist/mcp/prompts.js.map +0 -1
- package/dist/mcp/provider-mcp-loader.d.ts +0 -130
- package/dist/mcp/provider-mcp-loader.js +0 -292
- package/dist/mcp/provider-mcp-loader.js.map +0 -1
- package/dist/mcp/reconnection.d.ts +0 -101
- package/dist/mcp/reconnection.js +0 -253
- package/dist/mcp/reconnection.js.map +0 -1
- package/dist/mcp/registry.d.ts +0 -75
- package/dist/mcp/registry.js +0 -276
- package/dist/mcp/registry.js.map +0 -1
- package/dist/mcp/resources.d.ts +0 -58
- package/dist/mcp/resources.js +0 -144
- package/dist/mcp/resources.js.map +0 -1
- package/dist/mcp/schema-validator.d.ts +0 -82
- package/dist/mcp/schema-validator.js +0 -161
- package/dist/mcp/schema-validator.js.map +0 -1
- package/dist/mcp/ssrf-protection.d.ts +0 -86
- package/dist/mcp/ssrf-protection.js +0 -311
- package/dist/mcp/ssrf-protection.js.map +0 -1
- package/dist/mcp/subscriptions.d.ts +0 -168
- package/dist/mcp/subscriptions.js +0 -248
- package/dist/mcp/subscriptions.js.map +0 -1
- package/dist/mcp/templates.d.ts +0 -52
- package/dist/mcp/templates.js +0 -627
- package/dist/mcp/templates.js.map +0 -1
- package/dist/mcp/transports.d.ts +0 -80
- package/dist/mcp/transports.js +0 -237
- package/dist/mcp/transports.js.map +0 -1
- package/dist/mcp/type-safety.d.ts +0 -225
- package/dist/mcp/type-safety.js +0 -237
- package/dist/mcp/type-safety.js.map +0 -1
- package/dist/mcp/validation.d.ts +0 -29
- package/dist/mcp/validation.js +0 -339
- package/dist/mcp/validation.js.map +0 -1
- package/dist/mcp/zai-detector.d.ts +0 -63
- package/dist/mcp/zai-detector.js +0 -193
- package/dist/mcp/zai-detector.js.map +0 -1
- package/dist/mcp/zai-templates.d.ts +0 -90
- package/dist/mcp/zai-templates.js +0 -157
- package/dist/mcp/zai-templates.js.map +0 -1
- package/dist/memory/context-generator.d.ts +0 -84
- package/dist/memory/context-generator.js +0 -546
- package/dist/memory/context-generator.js.map +0 -1
- package/dist/memory/context-injector.d.ts +0 -97
- package/dist/memory/context-injector.js +0 -159
- package/dist/memory/context-injector.js.map +0 -1
- package/dist/memory/context-store.d.ts +0 -103
- package/dist/memory/context-store.js +0 -264
- package/dist/memory/context-store.js.map +0 -1
- package/dist/memory/index.d.ts +0 -43
- package/dist/memory/index.js +0 -49
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/provider-context-store.d.ts +0 -127
- package/dist/memory/provider-context-store.js +0 -385
- package/dist/memory/provider-context-store.js.map +0 -1
- package/dist/memory/schemas.d.ts +0 -118
- package/dist/memory/schemas.js +0 -106
- package/dist/memory/schemas.js.map +0 -1
- package/dist/memory/stats-collector.d.ts +0 -73
- package/dist/memory/stats-collector.js +0 -170
- package/dist/memory/stats-collector.js.map +0 -1
- package/dist/memory/types.d.ts +0 -177
- package/dist/memory/types.js +0 -73
- package/dist/memory/types.js.map +0 -1
- package/dist/permissions/index.d.ts +0 -6
- package/dist/permissions/index.js +0 -7
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-manager.d.ts +0 -149
- package/dist/permissions/permission-manager.js +0 -410
- package/dist/permissions/permission-manager.js.map +0 -1
- package/dist/planner/dependency-resolver.d.ts +0 -72
- package/dist/planner/dependency-resolver.js +0 -272
- package/dist/planner/dependency-resolver.js.map +0 -1
- package/dist/planner/index.d.ts +0 -12
- package/dist/planner/index.js +0 -28
- package/dist/planner/index.js.map +0 -1
- package/dist/planner/plan-generator.d.ts +0 -74
- package/dist/planner/plan-generator.js +0 -244
- package/dist/planner/plan-generator.js.map +0 -1
- package/dist/planner/plan-storage.d.ts +0 -113
- package/dist/planner/plan-storage.js +0 -398
- package/dist/planner/plan-storage.js.map +0 -1
- package/dist/planner/prompts/planning-prompt.d.ts +0 -62
- package/dist/planner/prompts/planning-prompt.js +0 -414
- package/dist/planner/prompts/planning-prompt.js.map +0 -1
- package/dist/planner/task-planner.d.ts +0 -139
- package/dist/planner/task-planner.js +0 -532
- package/dist/planner/task-planner.js.map +0 -1
- package/dist/planner/token-estimator.d.ts +0 -63
- package/dist/planner/token-estimator.js +0 -295
- package/dist/planner/token-estimator.js.map +0 -1
- package/dist/planner/types.d.ts +0 -425
- package/dist/planner/types.js +0 -213
- package/dist/planner/types.js.map +0 -1
- package/dist/provider/config.d.ts +0 -227
- package/dist/provider/config.js +0 -430
- package/dist/provider/config.js.map +0 -1
- package/dist/schemas/api-schemas.d.ts +0 -45
- package/dist/schemas/api-schemas.js +0 -129
- package/dist/schemas/api-schemas.js.map +0 -1
- package/dist/schemas/confirmation-schemas.d.ts +0 -39
- package/dist/schemas/confirmation-schemas.js +0 -48
- package/dist/schemas/confirmation-schemas.js.map +0 -1
- package/dist/schemas/index-unified.d.ts +0 -12
- package/dist/schemas/index-unified.js +0 -17
- package/dist/schemas/index-unified.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -83
- package/dist/schemas/index.js +0 -139
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/settings-schemas.d.ts +0 -186
- package/dist/schemas/settings-schemas.js +0 -324
- package/dist/schemas/settings-schemas.js.map +0 -1
- package/dist/schemas/tool-schemas.d.ts +0 -127
- package/dist/schemas/tool-schemas.js +0 -84
- package/dist/schemas/tool-schemas.js.map +0 -1
- package/dist/schemas/yaml-schemas.d.ts +0 -231
- package/dist/schemas/yaml-schemas.js +0 -199
- package/dist/schemas/yaml-schemas.js.map +0 -1
- package/dist/sdk/errors.d.ts +0 -100
- package/dist/sdk/errors.js +0 -138
- package/dist/sdk/errors.js.map +0 -1
- package/dist/sdk/index.d.ts +0 -901
- package/dist/sdk/index.js +0 -1272
- package/dist/sdk/index.js.map +0 -1
- package/dist/sdk/progress-reporter.d.ts +0 -123
- package/dist/sdk/progress-reporter.js +0 -220
- package/dist/sdk/progress-reporter.js.map +0 -1
- package/dist/sdk/testing.d.ts +0 -427
- package/dist/sdk/testing.js +0 -725
- package/dist/sdk/testing.js.map +0 -1
- package/dist/sdk/tool-registry.d.ts +0 -194
- package/dist/sdk/tool-registry.js +0 -326
- package/dist/sdk/tool-registry.js.map +0 -1
- package/dist/sdk/types.d.ts +0 -53
- package/dist/sdk/types.js +0 -8
- package/dist/sdk/types.js.map +0 -1
- package/dist/sdk/unified-logger.d.ts +0 -173
- package/dist/sdk/unified-logger.js +0 -327
- package/dist/sdk/unified-logger.js.map +0 -1
- package/dist/sdk/version.d.ts +0 -163
- package/dist/sdk/version.js +0 -205
- package/dist/sdk/version.js.map +0 -1
- package/dist/tools/ask-user.d.ts +0 -126
- package/dist/tools/ask-user.js +0 -290
- package/dist/tools/ask-user.js.map +0 -1
- package/dist/tools/ax-agent.d.ts +0 -71
- package/dist/tools/ax-agent.js +0 -283
- package/dist/tools/ax-agent.js.map +0 -1
- package/dist/tools/bash-output.d.ts +0 -25
- package/dist/tools/bash-output.js +0 -146
- package/dist/tools/bash-output.js.map +0 -1
- package/dist/tools/bash.d.ts +0 -67
- package/dist/tools/bash.js +0 -522
- package/dist/tools/bash.js.map +0 -1
- package/dist/tools/confirmation-tool.d.ts +0 -16
- package/dist/tools/confirmation-tool.js +0 -76
- package/dist/tools/confirmation-tool.js.map +0 -1
- package/dist/tools/definitions/ask-user.d.ts +0 -8
- package/dist/tools/definitions/ask-user.js +0 -168
- package/dist/tools/definitions/ask-user.js.map +0 -1
- package/dist/tools/definitions/ax-agent.d.ts +0 -8
- package/dist/tools/definitions/ax-agent.js +0 -276
- package/dist/tools/definitions/ax-agent.js.map +0 -1
- package/dist/tools/definitions/bash-output.d.ts +0 -7
- package/dist/tools/definitions/bash-output.js +0 -78
- package/dist/tools/definitions/bash-output.js.map +0 -1
- package/dist/tools/definitions/bash.d.ts +0 -8
- package/dist/tools/definitions/bash.js +0 -152
- package/dist/tools/definitions/bash.js.map +0 -1
- package/dist/tools/definitions/create-file.d.ts +0 -7
- package/dist/tools/definitions/create-file.js +0 -129
- package/dist/tools/definitions/create-file.js.map +0 -1
- package/dist/tools/definitions/design.d.ts +0 -12
- package/dist/tools/definitions/design.js +0 -368
- package/dist/tools/definitions/design.js.map +0 -1
- package/dist/tools/definitions/index.d.ts +0 -49
- package/dist/tools/definitions/index.js +0 -87
- package/dist/tools/definitions/index.js.map +0 -1
- package/dist/tools/definitions/multi-edit.d.ts +0 -7
- package/dist/tools/definitions/multi-edit.js +0 -123
- package/dist/tools/definitions/multi-edit.js.map +0 -1
- package/dist/tools/definitions/search.d.ts +0 -7
- package/dist/tools/definitions/search.js +0 -159
- package/dist/tools/definitions/search.js.map +0 -1
- package/dist/tools/definitions/str-replace-editor.d.ts +0 -7
- package/dist/tools/definitions/str-replace-editor.js +0 -145
- package/dist/tools/definitions/str-replace-editor.js.map +0 -1
- package/dist/tools/definitions/todo.d.ts +0 -8
- package/dist/tools/definitions/todo.js +0 -261
- package/dist/tools/definitions/todo.js.map +0 -1
- package/dist/tools/definitions/view-file.d.ts +0 -7
- package/dist/tools/definitions/view-file.js +0 -111
- package/dist/tools/definitions/view-file.js.map +0 -1
- package/dist/tools/design-tool.d.ts +0 -68
- package/dist/tools/design-tool.js +0 -299
- package/dist/tools/design-tool.js.map +0 -1
- package/dist/tools/format-generators.d.ts +0 -62
- package/dist/tools/format-generators.js +0 -291
- package/dist/tools/format-generators.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.js +0 -11
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/priority-registry.d.ts +0 -124
- package/dist/tools/priority-registry.js +0 -401
- package/dist/tools/priority-registry.js.map +0 -1
- package/dist/tools/priority.d.ts +0 -158
- package/dist/tools/priority.js +0 -350
- package/dist/tools/priority.js.map +0 -1
- package/dist/tools/registry.d.ts +0 -146
- package/dist/tools/registry.js +0 -171
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/search.d.ts +0 -85
- package/dist/tools/search.js +0 -430
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/text-editor.d.ts +0 -87
- package/dist/tools/text-editor.js +0 -1369
- package/dist/tools/text-editor.js.map +0 -1
- package/dist/tools/todo-tool.d.ts +0 -20
- package/dist/tools/todo-tool.js +0 -186
- package/dist/tools/todo-tool.js.map +0 -1
- package/dist/tools/types.d.ts +0 -175
- package/dist/tools/types.js +0 -11
- package/dist/tools/types.js.map +0 -1
- package/dist/types/index.d.ts +0 -30
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/project-analysis.d.ts +0 -84
- package/dist/types/project-analysis.js +0 -5
- package/dist/types/project-analysis.js.map +0 -1
- package/dist/types/template.d.ts +0 -53
- package/dist/types/template.js +0 -5
- package/dist/types/template.js.map +0 -1
- package/dist/ui/app.d.ts +0 -7
- package/dist/ui/app.js +0 -102
- package/dist/ui/app.js.map +0 -1
- package/dist/ui/components/api-key-input.d.ts +0 -7
- package/dist/ui/components/api-key-input.js +0 -92
- package/dist/ui/components/api-key-input.js.map +0 -1
- package/dist/ui/components/chat-history.d.ts +0 -12
- package/dist/ui/components/chat-history.js +0 -391
- package/dist/ui/components/chat-history.js.map +0 -1
- package/dist/ui/components/chat-input.d.ts +0 -13
- package/dist/ui/components/chat-input.js +0 -179
- package/dist/ui/components/chat-input.js.map +0 -1
- package/dist/ui/components/chat-interface.d.ts +0 -11
- package/dist/ui/components/chat-interface.js +0 -830
- package/dist/ui/components/chat-interface.js.map +0 -1
- package/dist/ui/components/collapsible-tool-result.d.ts +0 -42
- package/dist/ui/components/collapsible-tool-result.js +0 -216
- package/dist/ui/components/collapsible-tool-result.js.map +0 -1
- package/dist/ui/components/command-suggestions.d.ts +0 -29
- package/dist/ui/components/command-suggestions.js +0 -88
- package/dist/ui/components/command-suggestions.js.map +0 -1
- package/dist/ui/components/confirmation-dialog.d.ts +0 -11
- package/dist/ui/components/confirmation-dialog.js +0 -100
- package/dist/ui/components/confirmation-dialog.js.map +0 -1
- package/dist/ui/components/context-breakdown.d.ts +0 -23
- package/dist/ui/components/context-breakdown.js +0 -124
- package/dist/ui/components/context-breakdown.js.map +0 -1
- package/dist/ui/components/diff-renderer.d.ts +0 -13
- package/dist/ui/components/diff-renderer.js +0 -192
- package/dist/ui/components/diff-renderer.js.map +0 -1
- package/dist/ui/components/index.d.ts +0 -18
- package/dist/ui/components/index.js +0 -20
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/keyboard-help.d.ts +0 -17
- package/dist/ui/components/keyboard-help.js +0 -122
- package/dist/ui/components/keyboard-help.js.map +0 -1
- package/dist/ui/components/keyboard-hints.d.ts +0 -35
- package/dist/ui/components/keyboard-hints.js +0 -142
- package/dist/ui/components/keyboard-hints.js.map +0 -1
- package/dist/ui/components/loading-spinner.d.ts +0 -9
- package/dist/ui/components/loading-spinner.js +0 -120
- package/dist/ui/components/loading-spinner.js.map +0 -1
- package/dist/ui/components/mcp-dashboard.d.ts +0 -15
- package/dist/ui/components/mcp-dashboard.js +0 -520
- package/dist/ui/components/mcp-dashboard.js.map +0 -1
- package/dist/ui/components/mcp-status.d.ts +0 -5
- package/dist/ui/components/mcp-status.js +0 -58
- package/dist/ui/components/mcp-status.js.map +0 -1
- package/dist/ui/components/model-selection.d.ts +0 -12
- package/dist/ui/components/model-selection.js +0 -17
- package/dist/ui/components/model-selection.js.map +0 -1
- package/dist/ui/components/phase-progress.d.ts +0 -21
- package/dist/ui/components/phase-progress.js +0 -185
- package/dist/ui/components/phase-progress.js.map +0 -1
- package/dist/ui/components/question-dialog.d.ts +0 -17
- package/dist/ui/components/question-dialog.js +0 -181
- package/dist/ui/components/question-dialog.js.map +0 -1
- package/dist/ui/components/quick-actions.d.ts +0 -12
- package/dist/ui/components/quick-actions.js +0 -171
- package/dist/ui/components/quick-actions.js.map +0 -1
- package/dist/ui/components/reasoning-display.d.ts +0 -36
- package/dist/ui/components/reasoning-display.js +0 -46
- package/dist/ui/components/reasoning-display.js.map +0 -1
- package/dist/ui/components/status-bar.d.ts +0 -47
- package/dist/ui/components/status-bar.js +0 -310
- package/dist/ui/components/status-bar.js.map +0 -1
- package/dist/ui/components/subagent-monitor.d.ts +0 -41
- package/dist/ui/components/subagent-monitor.js +0 -122
- package/dist/ui/components/subagent-monitor.js.map +0 -1
- package/dist/ui/components/toast-notification.d.ts +0 -197
- package/dist/ui/components/toast-notification.js +0 -190
- package/dist/ui/components/toast-notification.js.map +0 -1
- package/dist/ui/components/tool-group-display.d.ts +0 -19
- package/dist/ui/components/tool-group-display.js +0 -222
- package/dist/ui/components/tool-group-display.js.map +0 -1
- package/dist/ui/components/virtualized-chat-history.d.ts +0 -33
- package/dist/ui/components/virtualized-chat-history.js +0 -182
- package/dist/ui/components/virtualized-chat-history.js.map +0 -1
- package/dist/ui/components/welcome-panel.d.ts +0 -11
- package/dist/ui/components/welcome-panel.js +0 -225
- package/dist/ui/components/welcome-panel.js.map +0 -1
- package/dist/ui/hooks/use-chat-reducer.d.ts +0 -69
- package/dist/ui/hooks/use-chat-reducer.js +0 -118
- package/dist/ui/hooks/use-chat-reducer.js.map +0 -1
- package/dist/ui/hooks/use-enhanced-input.d.ts +0 -53
- package/dist/ui/hooks/use-enhanced-input.js +0 -1275
- package/dist/ui/hooks/use-enhanced-input.js.map +0 -1
- package/dist/ui/hooks/use-input-handler.d.ts +0 -79
- package/dist/ui/hooks/use-input-handler.js +0 -2251
- package/dist/ui/hooks/use-input-handler.js.map +0 -1
- package/dist/ui/hooks/use-input-history.d.ts +0 -9
- package/dist/ui/hooks/use-input-history.js +0 -168
- package/dist/ui/hooks/use-input-history.js.map +0 -1
- package/dist/ui/shared/max-sized-box.d.ts +0 -17
- package/dist/ui/shared/max-sized-box.js +0 -14
- package/dist/ui/shared/max-sized-box.js.map +0 -1
- package/dist/ui/themes/index.d.ts +0 -5
- package/dist/ui/themes/index.js +0 -5
- package/dist/ui/themes/index.js.map +0 -1
- package/dist/ui/themes/theme-registry.d.ts +0 -55
- package/dist/ui/themes/theme-registry.js +0 -202
- package/dist/ui/themes/theme-registry.js.map +0 -1
- package/dist/ui/utils/bracketed-paste-handler.d.ts +0 -97
- package/dist/ui/utils/bracketed-paste-handler.js +0 -322
- package/dist/ui/utils/bracketed-paste-handler.js.map +0 -1
- package/dist/ui/utils/change-summarizer.d.ts +0 -20
- package/dist/ui/utils/change-summarizer.js +0 -282
- package/dist/ui/utils/change-summarizer.js.map +0 -1
- package/dist/ui/utils/code-colorizer.d.ts +0 -9
- package/dist/ui/utils/code-colorizer.js +0 -13
- package/dist/ui/utils/code-colorizer.js.map +0 -1
- package/dist/ui/utils/colors.d.ts +0 -41
- package/dist/ui/utils/colors.js +0 -80
- package/dist/ui/utils/colors.js.map +0 -1
- package/dist/ui/utils/image-handler.d.ts +0 -29
- package/dist/ui/utils/image-handler.js +0 -129
- package/dist/ui/utils/image-handler.js.map +0 -1
- package/dist/ui/utils/markdown-renderer.d.ts +0 -4
- package/dist/ui/utils/markdown-renderer.js +0 -40
- package/dist/ui/utils/markdown-renderer.js.map +0 -1
- package/dist/ui/utils/semantic-action-detector.d.ts +0 -49
- package/dist/ui/utils/semantic-action-detector.js +0 -339
- package/dist/ui/utils/semantic-action-detector.js.map +0 -1
- package/dist/ui/utils/tool-grouper.d.ts +0 -94
- package/dist/ui/utils/tool-grouper.js +0 -618
- package/dist/ui/utils/tool-grouper.js.map +0 -1
- package/dist/utils/api-error.d.ts +0 -61
- package/dist/utils/api-error.js +0 -176
- package/dist/utils/api-error.js.map +0 -1
- package/dist/utils/audit-logger.d.ts +0 -206
- package/dist/utils/audit-logger.js +0 -286
- package/dist/utils/audit-logger.js.map +0 -1
- package/dist/utils/auto-accept-logger.d.ts +0 -175
- package/dist/utils/auto-accept-logger.js +0 -423
- package/dist/utils/auto-accept-logger.js.map +0 -1
- package/dist/utils/automatosx-detector.d.ts +0 -19
- package/dist/utils/automatosx-detector.js +0 -52
- package/dist/utils/automatosx-detector.js.map +0 -1
- package/dist/utils/background-task-manager.d.ts +0 -114
- package/dist/utils/background-task-manager.js +0 -470
- package/dist/utils/background-task-manager.js.map +0 -1
- package/dist/utils/cache.d.ts +0 -77
- package/dist/utils/cache.js +0 -180
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/command-security.d.ts +0 -85
- package/dist/utils/command-security.js +0 -210
- package/dist/utils/command-security.js.map +0 -1
- package/dist/utils/config-loader.d.ts +0 -190
- package/dist/utils/config-loader.js +0 -108
- package/dist/utils/config-loader.js.map +0 -1
- package/dist/utils/confirmation-service.d.ts +0 -51
- package/dist/utils/confirmation-service.js +0 -220
- package/dist/utils/confirmation-service.js.map +0 -1
- package/dist/utils/console-messenger.d.ts +0 -80
- package/dist/utils/console-messenger.js +0 -142
- package/dist/utils/console-messenger.js.map +0 -1
- package/dist/utils/custom-instructions.d.ts +0 -1
- package/dist/utils/custom-instructions.js +0 -24
- package/dist/utils/custom-instructions.js.map +0 -1
- package/dist/utils/encryption.d.ts +0 -86
- package/dist/utils/encryption.js +0 -236
- package/dist/utils/encryption.js.map +0 -1
- package/dist/utils/enhanced-error-messages.d.ts +0 -33
- package/dist/utils/enhanced-error-messages.js +0 -440
- package/dist/utils/enhanced-error-messages.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -65
- package/dist/utils/error-handler.js +0 -148
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/error-translator.d.ts +0 -25
- package/dist/utils/error-translator.js +0 -203
- package/dist/utils/error-translator.js.map +0 -1
- package/dist/utils/external-editor.d.ts +0 -47
- package/dist/utils/external-editor.js +0 -179
- package/dist/utils/external-editor.js.map +0 -1
- package/dist/utils/file-cache.d.ts +0 -148
- package/dist/utils/file-cache.js +0 -413
- package/dist/utils/file-cache.js.map +0 -1
- package/dist/utils/file-lock.d.ts +0 -141
- package/dist/utils/file-lock.js +0 -554
- package/dist/utils/file-lock.js.map +0 -1
- package/dist/utils/file-mentions.d.ts +0 -68
- package/dist/utils/file-mentions.js +0 -225
- package/dist/utils/file-mentions.js.map +0 -1
- package/dist/utils/history-manager.d.ts +0 -52
- package/dist/utils/history-manager.js +0 -211
- package/dist/utils/history-manager.js.map +0 -1
- package/dist/utils/history-migration.d.ts +0 -9
- package/dist/utils/history-migration.js +0 -37
- package/dist/utils/history-migration.js.map +0 -1
- package/dist/utils/image-processor.d.ts +0 -33
- package/dist/utils/image-processor.js +0 -124
- package/dist/utils/image-processor.js.map +0 -1
- package/dist/utils/index.d.ts +0 -92
- package/dist/utils/index.js +0 -111
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/init-previewer.d.ts +0 -56
- package/dist/utils/init-previewer.js +0 -239
- package/dist/utils/init-previewer.js.map +0 -1
- package/dist/utils/init-validator.d.ts +0 -65
- package/dist/utils/init-validator.js +0 -252
- package/dist/utils/init-validator.js.map +0 -1
- package/dist/utils/input-sanitizer.d.ts +0 -210
- package/dist/utils/input-sanitizer.js +0 -362
- package/dist/utils/input-sanitizer.js.map +0 -1
- package/dist/utils/instruction-generator.d.ts +0 -21
- package/dist/utils/instruction-generator.js +0 -233
- package/dist/utils/instruction-generator.js.map +0 -1
- package/dist/utils/json-utils.d.ts +0 -72
- package/dist/utils/json-utils.js +0 -226
- package/dist/utils/json-utils.js.map +0 -1
- package/dist/utils/llm-optimized-instruction-generator.d.ts +0 -36
- package/dist/utils/llm-optimized-instruction-generator.js +0 -365
- package/dist/utils/llm-optimized-instruction-generator.js.map +0 -1
- package/dist/utils/message-optimizer.d.ts +0 -100
- package/dist/utils/message-optimizer.js +0 -297
- package/dist/utils/message-optimizer.js.map +0 -1
- package/dist/utils/onboarding-manager.d.ts +0 -45
- package/dist/utils/onboarding-manager.js +0 -131
- package/dist/utils/onboarding-manager.js.map +0 -1
- package/dist/utils/parallel-analyzer.d.ts +0 -123
- package/dist/utils/parallel-analyzer.js +0 -241
- package/dist/utils/parallel-analyzer.js.map +0 -1
- package/dist/utils/paste-utils.d.ts +0 -99
- package/dist/utils/paste-utils.js +0 -295
- package/dist/utils/paste-utils.js.map +0 -1
- package/dist/utils/path-helpers.d.ts +0 -8
- package/dist/utils/path-helpers.js +0 -35
- package/dist/utils/path-helpers.js.map +0 -1
- package/dist/utils/path-security.d.ts +0 -92
- package/dist/utils/path-security.js +0 -300
- package/dist/utils/path-security.js.map +0 -1
- package/dist/utils/path-utils.d.ts +0 -83
- package/dist/utils/path-utils.js +0 -122
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -66
- package/dist/utils/path-validator.js +0 -141
- package/dist/utils/path-validator.js.map +0 -1
- package/dist/utils/performance.d.ts +0 -74
- package/dist/utils/performance.js +0 -133
- package/dist/utils/performance.js.map +0 -1
- package/dist/utils/process-pool.d.ts +0 -109
- package/dist/utils/process-pool.js +0 -332
- package/dist/utils/process-pool.js.map +0 -1
- package/dist/utils/progress-tracker.d.ts +0 -51
- package/dist/utils/progress-tracker.js +0 -152
- package/dist/utils/progress-tracker.js.map +0 -1
- package/dist/utils/project-analyzer.d.ts +0 -49
- package/dist/utils/project-analyzer.js +0 -396
- package/dist/utils/project-analyzer.js.map +0 -1
- package/dist/utils/prompt-builder.d.ts +0 -14
- package/dist/utils/prompt-builder.js +0 -100
- package/dist/utils/prompt-builder.js.map +0 -1
- package/dist/utils/provider-context.d.ts +0 -243
- package/dist/utils/provider-context.js +0 -421
- package/dist/utils/provider-context.js.map +0 -1
- package/dist/utils/provider-file-cache.d.ts +0 -91
- package/dist/utils/provider-file-cache.js +0 -165
- package/dist/utils/provider-file-cache.js.map +0 -1
- package/dist/utils/provider-settings.d.ts +0 -181
- package/dist/utils/provider-settings.js +0 -450
- package/dist/utils/provider-settings.js.map +0 -1
- package/dist/utils/rate-limiter.d.ts +0 -222
- package/dist/utils/rate-limiter.js +0 -338
- package/dist/utils/rate-limiter.js.map +0 -1
- package/dist/utils/retry-helper.d.ts +0 -81
- package/dist/utils/retry-helper.js +0 -244
- package/dist/utils/retry-helper.js.map +0 -1
- package/dist/utils/safety-rules.d.ts +0 -64
- package/dist/utils/safety-rules.js +0 -225
- package/dist/utils/safety-rules.js.map +0 -1
- package/dist/utils/settings-manager.d.ts +0 -256
- package/dist/utils/settings-manager.js +0 -967
- package/dist/utils/settings-manager.js.map +0 -1
- package/dist/utils/setup-validator.d.ts +0 -47
- package/dist/utils/setup-validator.js +0 -304
- package/dist/utils/setup-validator.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -19
- package/dist/utils/string-utils.js +0 -28
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/template-manager.d.ts +0 -62
- package/dist/utils/template-manager.js +0 -366
- package/dist/utils/template-manager.js.map +0 -1
- package/dist/utils/text-utils.d.ts +0 -82
- package/dist/utils/text-utils.js +0 -203
- package/dist/utils/text-utils.js.map +0 -1
- package/dist/utils/token-counter.d.ts +0 -76
- package/dist/utils/token-counter.js +0 -231
- package/dist/utils/token-counter.js.map +0 -1
- package/dist/utils/usage-tracker.d.ts +0 -78
- package/dist/utils/usage-tracker.js +0 -126
- package/dist/utils/usage-tracker.js.map +0 -1
- package/dist/utils/version.d.ts +0 -14
- package/dist/utils/version.js +0 -70
- package/dist/utils/version.js.map +0 -1
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code IPC Client
|
|
3
|
-
*
|
|
4
|
-
* WebSocket client that connects to the VS Code extension's IPC server.
|
|
5
|
-
* Enables the CLI to:
|
|
6
|
-
* - Show diff previews in VS Code before file modifications
|
|
7
|
-
* - Display task completion summaries in VS Code
|
|
8
|
-
* - Update status in VS Code status bar
|
|
9
|
-
*
|
|
10
|
-
* Falls back gracefully if extension is not running.
|
|
11
|
-
*/
|
|
12
|
-
import { EventEmitter } from 'events';
|
|
13
|
-
export interface DiffPayload {
|
|
14
|
-
id: string;
|
|
15
|
-
file: string;
|
|
16
|
-
oldContent: string;
|
|
17
|
-
newContent: string;
|
|
18
|
-
diff: string;
|
|
19
|
-
operation: 'create' | 'edit' | 'delete';
|
|
20
|
-
lineStart?: number;
|
|
21
|
-
lineEnd?: number;
|
|
22
|
-
toolCall: {
|
|
23
|
-
name: string;
|
|
24
|
-
command: string;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export interface TaskSummaryPayload {
|
|
28
|
-
id: string;
|
|
29
|
-
description: string;
|
|
30
|
-
status: 'completed' | 'failed' | 'partial';
|
|
31
|
-
startTime: string;
|
|
32
|
-
endTime: string;
|
|
33
|
-
duration: number;
|
|
34
|
-
changes: {
|
|
35
|
-
filesModified: string[];
|
|
36
|
-
filesCreated: string[];
|
|
37
|
-
filesDeleted: string[];
|
|
38
|
-
totalLinesAdded: number;
|
|
39
|
-
totalLinesRemoved: number;
|
|
40
|
-
};
|
|
41
|
-
usage: {
|
|
42
|
-
inputTokens: number;
|
|
43
|
-
outputTokens: number;
|
|
44
|
-
toolCalls: number;
|
|
45
|
-
toolsUsed: string[];
|
|
46
|
-
};
|
|
47
|
-
errors?: string[];
|
|
48
|
-
warnings?: string[];
|
|
49
|
-
}
|
|
50
|
-
export interface StreamChunkPayload {
|
|
51
|
-
sessionId: string;
|
|
52
|
-
type: 'thinking' | 'content' | 'tool_call' | 'tool_result' | 'done' | 'error';
|
|
53
|
-
content?: string;
|
|
54
|
-
toolCall?: {
|
|
55
|
-
id: string;
|
|
56
|
-
name: string;
|
|
57
|
-
arguments: string;
|
|
58
|
-
};
|
|
59
|
-
toolResult?: {
|
|
60
|
-
id: string;
|
|
61
|
-
result: string;
|
|
62
|
-
isError: boolean;
|
|
63
|
-
};
|
|
64
|
-
error?: string;
|
|
65
|
-
}
|
|
66
|
-
export interface FileRevealPayload {
|
|
67
|
-
file: string;
|
|
68
|
-
operation: 'create' | 'edit';
|
|
69
|
-
preview?: boolean;
|
|
70
|
-
focus?: boolean;
|
|
71
|
-
}
|
|
72
|
-
export declare class VSCodeIPCClient extends EventEmitter {
|
|
73
|
-
private ws;
|
|
74
|
-
private port;
|
|
75
|
-
private connected;
|
|
76
|
-
private connecting;
|
|
77
|
-
private disconnecting;
|
|
78
|
-
private pendingRequests;
|
|
79
|
-
private requestCounter;
|
|
80
|
-
constructor();
|
|
81
|
-
/**
|
|
82
|
-
* Attempt to connect to VS Code extension IPC server
|
|
83
|
-
* Returns true if connected, false if extension not available
|
|
84
|
-
*/
|
|
85
|
-
connect(): Promise<boolean>;
|
|
86
|
-
/**
|
|
87
|
-
* Establish WebSocket connection
|
|
88
|
-
*/
|
|
89
|
-
private establishConnection;
|
|
90
|
-
/**
|
|
91
|
-
* Handle disconnection
|
|
92
|
-
* BUG FIX: Added guard against concurrent execution with disconnect()
|
|
93
|
-
*/
|
|
94
|
-
private handleDisconnect;
|
|
95
|
-
/**
|
|
96
|
-
* Handle incoming response
|
|
97
|
-
* BUG FIX: Check if already resolved to prevent double-resolution race condition
|
|
98
|
-
*/
|
|
99
|
-
private handleResponse;
|
|
100
|
-
/**
|
|
101
|
-
* Send diff preview and wait for approval
|
|
102
|
-
* Returns true if approved, false if rejected or timeout
|
|
103
|
-
*/
|
|
104
|
-
requestDiffApproval(payload: DiffPayload): Promise<boolean>;
|
|
105
|
-
/**
|
|
106
|
-
* Send task completion summary
|
|
107
|
-
*/
|
|
108
|
-
sendTaskComplete(payload: TaskSummaryPayload): Promise<void>;
|
|
109
|
-
/**
|
|
110
|
-
* Send status update
|
|
111
|
-
*/
|
|
112
|
-
sendStatusUpdate(status: string): void;
|
|
113
|
-
/**
|
|
114
|
-
* Reveal/open a file in VS Code after it's been created or modified.
|
|
115
|
-
* This is similar to how Claude Code shows files in the IDE after writing.
|
|
116
|
-
*/
|
|
117
|
-
revealFile(file: string, operation: 'create' | 'edit', options?: {
|
|
118
|
-
preview?: boolean;
|
|
119
|
-
focus?: boolean;
|
|
120
|
-
}): void;
|
|
121
|
-
/**
|
|
122
|
-
* Send streaming chunk to VS Code extension
|
|
123
|
-
* Used for real-time streaming in the chat panel
|
|
124
|
-
*/
|
|
125
|
-
sendStreamChunk(payload: StreamChunkPayload): void;
|
|
126
|
-
/**
|
|
127
|
-
* Create a streaming session and return a helper for sending chunks
|
|
128
|
-
*/
|
|
129
|
-
createStreamSession(): StreamSession;
|
|
130
|
-
/**
|
|
131
|
-
* Send request and wait for response
|
|
132
|
-
* BUG FIX: Use resolved flag to prevent race condition between timeout and actual response
|
|
133
|
-
*/
|
|
134
|
-
private sendRequest;
|
|
135
|
-
/**
|
|
136
|
-
* Generate unique request ID
|
|
137
|
-
*/
|
|
138
|
-
private generateRequestId;
|
|
139
|
-
/**
|
|
140
|
-
* Read port file to find server port
|
|
141
|
-
*/
|
|
142
|
-
private readPortFile;
|
|
143
|
-
/**
|
|
144
|
-
* Check if connected to VS Code extension
|
|
145
|
-
*/
|
|
146
|
-
isConnected(): boolean;
|
|
147
|
-
/**
|
|
148
|
-
* Disconnect from server
|
|
149
|
-
* BUG FIX: Use disconnecting flag to prevent race with handleDisconnect()
|
|
150
|
-
*/
|
|
151
|
-
disconnect(): void;
|
|
152
|
-
/**
|
|
153
|
-
* Ping server to check connection
|
|
154
|
-
*/
|
|
155
|
-
ping(): Promise<boolean>;
|
|
156
|
-
/**
|
|
157
|
-
* Clean up resources and remove all event listeners.
|
|
158
|
-
*/
|
|
159
|
-
destroy(): void;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Helper class for sending streaming chunks with a consistent session ID
|
|
163
|
-
*/
|
|
164
|
-
export declare class StreamSession {
|
|
165
|
-
private client;
|
|
166
|
-
readonly sessionId: string;
|
|
167
|
-
constructor(client: VSCodeIPCClient, sessionId: string);
|
|
168
|
-
/**
|
|
169
|
-
* Send thinking/reasoning content
|
|
170
|
-
*/
|
|
171
|
-
sendThinking(content: string): void;
|
|
172
|
-
/**
|
|
173
|
-
* Send response content
|
|
174
|
-
*/
|
|
175
|
-
sendContent(content: string): void;
|
|
176
|
-
/**
|
|
177
|
-
* Send tool call notification
|
|
178
|
-
*/
|
|
179
|
-
sendToolCall(id: string, name: string, args: string): void;
|
|
180
|
-
/**
|
|
181
|
-
* Send tool result
|
|
182
|
-
*/
|
|
183
|
-
sendToolResult(id: string, result: string, isError?: boolean): void;
|
|
184
|
-
/**
|
|
185
|
-
* Send completion signal
|
|
186
|
-
*/
|
|
187
|
-
sendDone(): void;
|
|
188
|
-
/**
|
|
189
|
-
* Send error
|
|
190
|
-
*/
|
|
191
|
-
sendError(error: string): void;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Get or create the VS Code IPC client singleton
|
|
195
|
-
*/
|
|
196
|
-
export declare function getVSCodeIPCClient(): VSCodeIPCClient;
|
|
197
|
-
/**
|
|
198
|
-
* Cleanup the IPC client on process exit
|
|
199
|
-
*/
|
|
200
|
-
export declare function disposeVSCodeIPCClient(): void;
|
|
@@ -1,495 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* VS Code IPC Client
|
|
3
|
-
*
|
|
4
|
-
* WebSocket client that connects to the VS Code extension's IPC server.
|
|
5
|
-
* Enables the CLI to:
|
|
6
|
-
* - Show diff previews in VS Code before file modifications
|
|
7
|
-
* - Display task completion summaries in VS Code
|
|
8
|
-
* - Update status in VS Code status bar
|
|
9
|
-
*
|
|
10
|
-
* Falls back gracefully if extension is not running.
|
|
11
|
-
*/
|
|
12
|
-
import { EventEmitter } from 'events';
|
|
13
|
-
import WebSocket from 'ws';
|
|
14
|
-
import * as fs from 'fs';
|
|
15
|
-
import * as path from 'path';
|
|
16
|
-
import * as os from 'os';
|
|
17
|
-
const IPC_PORT_FILE = path.join(os.homedir(), '.ax-cli', 'vscode-ipc.json');
|
|
18
|
-
const CONNECTION_TIMEOUT = 5000; // 5 seconds to connect
|
|
19
|
-
const REQUEST_TIMEOUT = 120000; // 2 minutes for approval (user may need time to review)
|
|
20
|
-
export class VSCodeIPCClient extends EventEmitter {
|
|
21
|
-
ws = null;
|
|
22
|
-
port = 0;
|
|
23
|
-
connected = false;
|
|
24
|
-
connecting = false;
|
|
25
|
-
disconnecting = false; // BUG FIX: Prevent race between disconnect() and handleDisconnect()
|
|
26
|
-
pendingRequests = new Map();
|
|
27
|
-
requestCounter = 0;
|
|
28
|
-
constructor() {
|
|
29
|
-
super();
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Attempt to connect to VS Code extension IPC server
|
|
33
|
-
* Returns true if connected, false if extension not available
|
|
34
|
-
*/
|
|
35
|
-
async connect() {
|
|
36
|
-
if (this.connected)
|
|
37
|
-
return true;
|
|
38
|
-
if (this.connecting)
|
|
39
|
-
return false;
|
|
40
|
-
this.connecting = true;
|
|
41
|
-
try {
|
|
42
|
-
// Read port file
|
|
43
|
-
const portInfo = this.readPortFile();
|
|
44
|
-
if (!portInfo) {
|
|
45
|
-
this.connecting = false;
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
this.port = portInfo.port;
|
|
49
|
-
// Connect to WebSocket server
|
|
50
|
-
return await this.establishConnection();
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
// Silently fail - CLI works standalone without VS Code extension
|
|
54
|
-
this.connecting = false;
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Establish WebSocket connection
|
|
60
|
-
*/
|
|
61
|
-
establishConnection() {
|
|
62
|
-
return new Promise((resolve) => {
|
|
63
|
-
// BUG FIX: Track if we've already resolved to prevent race conditions
|
|
64
|
-
// between timeout firing and 'open' event handler
|
|
65
|
-
let resolved = false;
|
|
66
|
-
const safeResolve = (success) => {
|
|
67
|
-
if (resolved)
|
|
68
|
-
return;
|
|
69
|
-
resolved = true;
|
|
70
|
-
clearTimeout(timeout);
|
|
71
|
-
this.connecting = false;
|
|
72
|
-
if (success) {
|
|
73
|
-
this.connected = true;
|
|
74
|
-
this.emit('connected');
|
|
75
|
-
}
|
|
76
|
-
resolve(success);
|
|
77
|
-
};
|
|
78
|
-
const timeout = setTimeout(() => {
|
|
79
|
-
if (this.ws) {
|
|
80
|
-
this.ws.close();
|
|
81
|
-
}
|
|
82
|
-
safeResolve(false);
|
|
83
|
-
}, CONNECTION_TIMEOUT);
|
|
84
|
-
try {
|
|
85
|
-
this.ws = new WebSocket(`ws://127.0.0.1:${this.port}`);
|
|
86
|
-
this.ws.on('open', () => {
|
|
87
|
-
safeResolve(true);
|
|
88
|
-
});
|
|
89
|
-
this.ws.on('message', (data) => {
|
|
90
|
-
try {
|
|
91
|
-
const response = JSON.parse(data.toString());
|
|
92
|
-
this.handleResponse(response);
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
// Silently ignore parse errors - malformed responses shouldn't crash CLI
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
this.ws.on('close', () => {
|
|
99
|
-
clearTimeout(timeout);
|
|
100
|
-
this.handleDisconnect();
|
|
101
|
-
safeResolve(false);
|
|
102
|
-
});
|
|
103
|
-
this.ws.on('error', () => {
|
|
104
|
-
safeResolve(false);
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
safeResolve(false);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Handle disconnection
|
|
114
|
-
* BUG FIX: Added guard against concurrent execution with disconnect()
|
|
115
|
-
*/
|
|
116
|
-
handleDisconnect() {
|
|
117
|
-
// Prevent race condition with disconnect() method
|
|
118
|
-
if (this.disconnecting)
|
|
119
|
-
return;
|
|
120
|
-
const wasConnected = this.connected;
|
|
121
|
-
this.connected = false;
|
|
122
|
-
this.ws = null;
|
|
123
|
-
// Reject all pending requests - make a copy to avoid mutation during iteration
|
|
124
|
-
const pendingCopy = Array.from(this.pendingRequests.entries());
|
|
125
|
-
this.pendingRequests.clear();
|
|
126
|
-
for (const [, pending] of pendingCopy) {
|
|
127
|
-
clearTimeout(pending.timeout);
|
|
128
|
-
// BUG FIX: Check if already resolved before rejecting
|
|
129
|
-
if (!pending.resolved) {
|
|
130
|
-
pending.resolved = true;
|
|
131
|
-
pending.reject(new Error('Connection closed'));
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (wasConnected) {
|
|
135
|
-
// Don't log to console - would interfere with TUI
|
|
136
|
-
this.emit('disconnected');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Handle incoming response
|
|
141
|
-
* BUG FIX: Check if already resolved to prevent double-resolution race condition
|
|
142
|
-
*/
|
|
143
|
-
handleResponse(response) {
|
|
144
|
-
const pending = this.pendingRequests.get(response.requestId);
|
|
145
|
-
if (pending) {
|
|
146
|
-
clearTimeout(pending.timeout);
|
|
147
|
-
this.pendingRequests.delete(response.requestId);
|
|
148
|
-
// BUG FIX: Only resolve if not already resolved (e.g., by timeout)
|
|
149
|
-
if (!pending.resolved) {
|
|
150
|
-
pending.resolved = true;
|
|
151
|
-
pending.resolve(response);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Send diff preview and wait for approval
|
|
157
|
-
* Returns true if approved, false if rejected or timeout
|
|
158
|
-
*/
|
|
159
|
-
async requestDiffApproval(payload) {
|
|
160
|
-
if (!this.connected) {
|
|
161
|
-
// Not connected to VS Code, auto-approve (CLI standalone mode)
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
try {
|
|
165
|
-
const response = await this.sendRequest({
|
|
166
|
-
type: 'diff_preview',
|
|
167
|
-
payload,
|
|
168
|
-
requestId: this.generateRequestId()
|
|
169
|
-
});
|
|
170
|
-
return response.type === 'approved';
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
// On error, fall back to auto-approve to not block the user
|
|
174
|
-
return true;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Send task completion summary
|
|
179
|
-
*/
|
|
180
|
-
async sendTaskComplete(payload) {
|
|
181
|
-
if (!this.connected)
|
|
182
|
-
return;
|
|
183
|
-
try {
|
|
184
|
-
await this.sendRequest({
|
|
185
|
-
type: 'task_complete',
|
|
186
|
-
payload,
|
|
187
|
-
requestId: this.generateRequestId()
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
catch {
|
|
191
|
-
// Task complete is fire-and-forget, don't throw
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Send status update
|
|
196
|
-
*/
|
|
197
|
-
sendStatusUpdate(status) {
|
|
198
|
-
if (!this.connected || !this.ws)
|
|
199
|
-
return;
|
|
200
|
-
const message = {
|
|
201
|
-
type: 'status_update',
|
|
202
|
-
payload: { status },
|
|
203
|
-
requestId: this.generateRequestId()
|
|
204
|
-
};
|
|
205
|
-
try {
|
|
206
|
-
this.ws.send(JSON.stringify(message));
|
|
207
|
-
}
|
|
208
|
-
catch {
|
|
209
|
-
// Status updates are fire-and-forget, silently ignore failures
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Reveal/open a file in VS Code after it's been created or modified.
|
|
214
|
-
* This is similar to how Claude Code shows files in the IDE after writing.
|
|
215
|
-
*/
|
|
216
|
-
revealFile(file, operation, options) {
|
|
217
|
-
if (!this.connected || !this.ws)
|
|
218
|
-
return;
|
|
219
|
-
const payload = {
|
|
220
|
-
file,
|
|
221
|
-
operation,
|
|
222
|
-
preview: options?.preview ?? true,
|
|
223
|
-
focus: options?.focus ?? true,
|
|
224
|
-
};
|
|
225
|
-
const message = {
|
|
226
|
-
type: 'file_reveal',
|
|
227
|
-
payload,
|
|
228
|
-
requestId: this.generateRequestId()
|
|
229
|
-
};
|
|
230
|
-
try {
|
|
231
|
-
this.ws.send(JSON.stringify(message));
|
|
232
|
-
}
|
|
233
|
-
catch {
|
|
234
|
-
// File reveal is fire-and-forget, silently ignore failures
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Send streaming chunk to VS Code extension
|
|
239
|
-
* Used for real-time streaming in the chat panel
|
|
240
|
-
*/
|
|
241
|
-
sendStreamChunk(payload) {
|
|
242
|
-
if (!this.connected || !this.ws)
|
|
243
|
-
return;
|
|
244
|
-
const message = {
|
|
245
|
-
type: 'stream_chunk',
|
|
246
|
-
payload,
|
|
247
|
-
requestId: this.generateRequestId()
|
|
248
|
-
};
|
|
249
|
-
try {
|
|
250
|
-
this.ws.send(JSON.stringify(message));
|
|
251
|
-
}
|
|
252
|
-
catch {
|
|
253
|
-
// Stream chunks are fire-and-forget, silently ignore failures
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Create a streaming session and return a helper for sending chunks
|
|
258
|
-
*/
|
|
259
|
-
createStreamSession() {
|
|
260
|
-
const sessionId = `stream-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
261
|
-
return new StreamSession(this, sessionId);
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Send request and wait for response
|
|
265
|
-
* BUG FIX: Use resolved flag to prevent race condition between timeout and actual response
|
|
266
|
-
*/
|
|
267
|
-
sendRequest(message) {
|
|
268
|
-
return new Promise((resolve, reject) => {
|
|
269
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
|
|
270
|
-
reject(new Error('Not connected'));
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
// BUG FIX: Create pending request object with resolved flag
|
|
274
|
-
const pendingRequest = {
|
|
275
|
-
resolve,
|
|
276
|
-
reject,
|
|
277
|
-
timeout: null, // Will be set below
|
|
278
|
-
resolved: false
|
|
279
|
-
};
|
|
280
|
-
const timeout = setTimeout(() => {
|
|
281
|
-
this.pendingRequests.delete(message.requestId);
|
|
282
|
-
// BUG FIX: Only resolve if not already resolved by actual response
|
|
283
|
-
if (!pendingRequest.resolved) {
|
|
284
|
-
pendingRequest.resolved = true;
|
|
285
|
-
// On timeout, auto-approve to not block forever
|
|
286
|
-
resolve({ type: 'approved', requestId: message.requestId });
|
|
287
|
-
}
|
|
288
|
-
}, REQUEST_TIMEOUT);
|
|
289
|
-
pendingRequest.timeout = timeout;
|
|
290
|
-
this.pendingRequests.set(message.requestId, pendingRequest);
|
|
291
|
-
try {
|
|
292
|
-
this.ws.send(JSON.stringify(message));
|
|
293
|
-
}
|
|
294
|
-
catch {
|
|
295
|
-
// Send failed - clean up and reject
|
|
296
|
-
clearTimeout(timeout);
|
|
297
|
-
this.pendingRequests.delete(message.requestId);
|
|
298
|
-
// BUG FIX: Check resolved flag before rejecting
|
|
299
|
-
if (!pendingRequest.resolved) {
|
|
300
|
-
pendingRequest.resolved = true;
|
|
301
|
-
reject(new Error('Failed to send message'));
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Generate unique request ID
|
|
308
|
-
*/
|
|
309
|
-
generateRequestId() {
|
|
310
|
-
return `req-${Date.now()}-${++this.requestCounter}`;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Read port file to find server port
|
|
314
|
-
*/
|
|
315
|
-
readPortFile() {
|
|
316
|
-
try {
|
|
317
|
-
if (!fs.existsSync(IPC_PORT_FILE)) {
|
|
318
|
-
return null;
|
|
319
|
-
}
|
|
320
|
-
const content = fs.readFileSync(IPC_PORT_FILE, 'utf-8');
|
|
321
|
-
const portInfo = JSON.parse(content);
|
|
322
|
-
// Check if the port file is stale (more than 1 hour old)
|
|
323
|
-
const started = new Date(portInfo.started);
|
|
324
|
-
const startedTime = started.getTime();
|
|
325
|
-
// If date is invalid (NaN) or stale, reject the port file
|
|
326
|
-
if (isNaN(startedTime)) {
|
|
327
|
-
// Corrupted date string in port file
|
|
328
|
-
return null;
|
|
329
|
-
}
|
|
330
|
-
const age = Date.now() - startedTime;
|
|
331
|
-
if (age > 60 * 60 * 1000) {
|
|
332
|
-
// Stale port file, extension may have crashed
|
|
333
|
-
return null;
|
|
334
|
-
}
|
|
335
|
-
return portInfo;
|
|
336
|
-
}
|
|
337
|
-
catch {
|
|
338
|
-
// Silently fail - port file may not exist or be corrupted
|
|
339
|
-
return null;
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Check if connected to VS Code extension
|
|
344
|
-
*/
|
|
345
|
-
isConnected() {
|
|
346
|
-
return this.connected;
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Disconnect from server
|
|
350
|
-
* BUG FIX: Use disconnecting flag to prevent race with handleDisconnect()
|
|
351
|
-
*/
|
|
352
|
-
disconnect() {
|
|
353
|
-
// Set flag to prevent handleDisconnect from running concurrently
|
|
354
|
-
this.disconnecting = true;
|
|
355
|
-
if (this.ws) {
|
|
356
|
-
// BUG FIX: Remove all listeners before closing to prevent memory leak
|
|
357
|
-
this.ws.removeAllListeners('open');
|
|
358
|
-
this.ws.removeAllListeners('message');
|
|
359
|
-
this.ws.removeAllListeners('close');
|
|
360
|
-
this.ws.removeAllListeners('error');
|
|
361
|
-
this.ws.close();
|
|
362
|
-
this.ws = null;
|
|
363
|
-
}
|
|
364
|
-
this.connected = false;
|
|
365
|
-
this.connecting = false;
|
|
366
|
-
// Clear pending request timeouts and reject - make copy to avoid mutation during iteration
|
|
367
|
-
const pendingCopy = Array.from(this.pendingRequests.entries());
|
|
368
|
-
this.pendingRequests.clear();
|
|
369
|
-
for (const [, pending] of pendingCopy) {
|
|
370
|
-
clearTimeout(pending.timeout);
|
|
371
|
-
// BUG FIX: Check resolved flag before rejecting
|
|
372
|
-
if (!pending.resolved) {
|
|
373
|
-
pending.resolved = true;
|
|
374
|
-
pending.reject(new Error('Disconnected'));
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
// Reset flag after cleanup
|
|
378
|
-
this.disconnecting = false;
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Ping server to check connection
|
|
382
|
-
*/
|
|
383
|
-
async ping() {
|
|
384
|
-
if (!this.connected)
|
|
385
|
-
return false;
|
|
386
|
-
try {
|
|
387
|
-
const response = await this.sendRequest({
|
|
388
|
-
type: 'ping',
|
|
389
|
-
payload: null,
|
|
390
|
-
requestId: this.generateRequestId()
|
|
391
|
-
});
|
|
392
|
-
return response.type === 'pong';
|
|
393
|
-
}
|
|
394
|
-
catch {
|
|
395
|
-
return false;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
/**
|
|
399
|
-
* Clean up resources and remove all event listeners.
|
|
400
|
-
*/
|
|
401
|
-
destroy() {
|
|
402
|
-
this.removeAllListeners();
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
/**
|
|
406
|
-
* Helper class for sending streaming chunks with a consistent session ID
|
|
407
|
-
*/
|
|
408
|
-
export class StreamSession {
|
|
409
|
-
client;
|
|
410
|
-
sessionId;
|
|
411
|
-
constructor(client, sessionId) {
|
|
412
|
-
this.client = client;
|
|
413
|
-
this.sessionId = sessionId;
|
|
414
|
-
}
|
|
415
|
-
/**
|
|
416
|
-
* Send thinking/reasoning content
|
|
417
|
-
*/
|
|
418
|
-
sendThinking(content) {
|
|
419
|
-
this.client.sendStreamChunk({
|
|
420
|
-
sessionId: this.sessionId,
|
|
421
|
-
type: 'thinking',
|
|
422
|
-
content
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
/**
|
|
426
|
-
* Send response content
|
|
427
|
-
*/
|
|
428
|
-
sendContent(content) {
|
|
429
|
-
this.client.sendStreamChunk({
|
|
430
|
-
sessionId: this.sessionId,
|
|
431
|
-
type: 'content',
|
|
432
|
-
content
|
|
433
|
-
});
|
|
434
|
-
}
|
|
435
|
-
/**
|
|
436
|
-
* Send tool call notification
|
|
437
|
-
*/
|
|
438
|
-
sendToolCall(id, name, args) {
|
|
439
|
-
this.client.sendStreamChunk({
|
|
440
|
-
sessionId: this.sessionId,
|
|
441
|
-
type: 'tool_call',
|
|
442
|
-
toolCall: { id, name, arguments: args }
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
/**
|
|
446
|
-
* Send tool result
|
|
447
|
-
*/
|
|
448
|
-
sendToolResult(id, result, isError = false) {
|
|
449
|
-
this.client.sendStreamChunk({
|
|
450
|
-
sessionId: this.sessionId,
|
|
451
|
-
type: 'tool_result',
|
|
452
|
-
toolResult: { id, result, isError }
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
/**
|
|
456
|
-
* Send completion signal
|
|
457
|
-
*/
|
|
458
|
-
sendDone() {
|
|
459
|
-
this.client.sendStreamChunk({
|
|
460
|
-
sessionId: this.sessionId,
|
|
461
|
-
type: 'done'
|
|
462
|
-
});
|
|
463
|
-
}
|
|
464
|
-
/**
|
|
465
|
-
* Send error
|
|
466
|
-
*/
|
|
467
|
-
sendError(error) {
|
|
468
|
-
this.client.sendStreamChunk({
|
|
469
|
-
sessionId: this.sessionId,
|
|
470
|
-
type: 'error',
|
|
471
|
-
error
|
|
472
|
-
});
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
// Singleton instance
|
|
476
|
-
let instance = null;
|
|
477
|
-
/**
|
|
478
|
-
* Get or create the VS Code IPC client singleton
|
|
479
|
-
*/
|
|
480
|
-
export function getVSCodeIPCClient() {
|
|
481
|
-
if (!instance) {
|
|
482
|
-
instance = new VSCodeIPCClient();
|
|
483
|
-
}
|
|
484
|
-
return instance;
|
|
485
|
-
}
|
|
486
|
-
/**
|
|
487
|
-
* Cleanup the IPC client on process exit
|
|
488
|
-
*/
|
|
489
|
-
export function disposeVSCodeIPCClient() {
|
|
490
|
-
if (instance) {
|
|
491
|
-
instance.disconnect();
|
|
492
|
-
instance = null;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
//# sourceMappingURL=vscode-client.js.map
|