@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,241 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parallel File Analyzer
|
|
3
|
-
*
|
|
4
|
-
* Enables concurrent analysis of multiple files using Promise.all
|
|
5
|
-
* for CPU-bound operations, achieving 2-8x speedup on multi-core systems.
|
|
6
|
-
*
|
|
7
|
-
* Quick Win #1: Parallel Processing (Est. time: 2 hours)
|
|
8
|
-
* Impact: 2-8x speedup depending on CPU cores
|
|
9
|
-
*/
|
|
10
|
-
import os from 'os';
|
|
11
|
-
/**
|
|
12
|
-
* Chunk array into smaller arrays
|
|
13
|
-
*/
|
|
14
|
-
function chunk(array, size) {
|
|
15
|
-
const chunks = [];
|
|
16
|
-
for (let i = 0; i < array.length; i += size) {
|
|
17
|
-
chunks.push(array.slice(i, i + size));
|
|
18
|
-
}
|
|
19
|
-
return chunks;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Analyze files in parallel batches
|
|
23
|
-
*
|
|
24
|
-
* @param files - Array of file paths to analyze
|
|
25
|
-
* @param analyzer - Analysis function to run on each file
|
|
26
|
-
* @param config - Configuration options
|
|
27
|
-
* @returns Array of analysis results
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* const results = await analyzeFilesParallel(
|
|
32
|
-
* ['file1.ts', 'file2.ts', 'file3.ts'],
|
|
33
|
-
* async (file) => {
|
|
34
|
-
* return await analyzeFile(file);
|
|
35
|
-
* },
|
|
36
|
-
* {
|
|
37
|
-
* maxConcurrency: 4,
|
|
38
|
-
* onProgress: (done, total) => {
|
|
39
|
-
* console.log(`Progress: ${done}/${total}`);
|
|
40
|
-
* }
|
|
41
|
-
* }
|
|
42
|
-
* );
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
export async function analyzeFilesParallel(files, analyzer, config = {}) {
|
|
46
|
-
const cpus = os.cpus().length;
|
|
47
|
-
const maxConcurrency = config.maxConcurrency || cpus;
|
|
48
|
-
const batchSize = config.batchSize || Math.max(1, Math.ceil(files.length / maxConcurrency));
|
|
49
|
-
if (files.length === 0) {
|
|
50
|
-
return [];
|
|
51
|
-
}
|
|
52
|
-
// Split files into batches
|
|
53
|
-
const batches = chunk(files, batchSize);
|
|
54
|
-
let completed = 0;
|
|
55
|
-
const total = files.length;
|
|
56
|
-
// Process batches in parallel
|
|
57
|
-
const results = await Promise.all(batches.map(async (batch) => {
|
|
58
|
-
// Process files in batch sequentially
|
|
59
|
-
const batchResults = [];
|
|
60
|
-
for (const file of batch) {
|
|
61
|
-
try {
|
|
62
|
-
const result = await analyzer(file);
|
|
63
|
-
batchResults.push(result);
|
|
64
|
-
// Update progress
|
|
65
|
-
completed++;
|
|
66
|
-
if (config.onProgress) {
|
|
67
|
-
config.onProgress(completed, total);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
// Handle error
|
|
72
|
-
if (config.onError) {
|
|
73
|
-
config.onError(file, error);
|
|
74
|
-
}
|
|
75
|
-
throw error;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return batchResults;
|
|
79
|
-
}));
|
|
80
|
-
// Flatten results
|
|
81
|
-
return results.flat();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Analyze files in parallel with automatic batching and error handling
|
|
85
|
-
*
|
|
86
|
-
* This is a higher-level function that provides better error handling
|
|
87
|
-
* and automatic retry logic.
|
|
88
|
-
*
|
|
89
|
-
* @param files - Array of file paths to analyze
|
|
90
|
-
* @param analyzer - Analysis function to run on each file
|
|
91
|
-
* @param config - Configuration options
|
|
92
|
-
* @returns Object with results and errors
|
|
93
|
-
*
|
|
94
|
-
* @example
|
|
95
|
-
* ```typescript
|
|
96
|
-
* const { results, errors } = await analyzeFilesParallelSafe(
|
|
97
|
-
* ['file1.ts', 'file2.ts', 'file3.ts'],
|
|
98
|
-
* async (file) => {
|
|
99
|
-
* return await analyzeFile(file);
|
|
100
|
-
* }
|
|
101
|
-
* );
|
|
102
|
-
*
|
|
103
|
-
* console.log(`Analyzed ${results.length} files successfully`);
|
|
104
|
-
* console.log(`Failed ${errors.length} files`);
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
export async function analyzeFilesParallelSafe(files, analyzer, config = {}) {
|
|
108
|
-
const cpus = os.cpus().length;
|
|
109
|
-
const maxConcurrency = config.maxConcurrency || cpus;
|
|
110
|
-
const batchSize = config.batchSize || Math.max(1, Math.ceil(files.length / maxConcurrency));
|
|
111
|
-
const results = [];
|
|
112
|
-
const errors = [];
|
|
113
|
-
if (files.length === 0) {
|
|
114
|
-
return { results, errors };
|
|
115
|
-
}
|
|
116
|
-
// Split files into batches
|
|
117
|
-
const batches = chunk(files, batchSize);
|
|
118
|
-
let completed = 0;
|
|
119
|
-
const total = files.length;
|
|
120
|
-
// Process batches in parallel
|
|
121
|
-
await Promise.all(batches.map(async (batch) => {
|
|
122
|
-
// Process files in batch sequentially
|
|
123
|
-
for (const file of batch) {
|
|
124
|
-
try {
|
|
125
|
-
const result = await analyzer(file);
|
|
126
|
-
results.push({ file, result });
|
|
127
|
-
// Update progress
|
|
128
|
-
completed++;
|
|
129
|
-
if (config.onProgress) {
|
|
130
|
-
config.onProgress(completed, total);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
errors.push({ file, error: error });
|
|
135
|
-
// Call error handler
|
|
136
|
-
if (config.onError) {
|
|
137
|
-
config.onError(file, error);
|
|
138
|
-
}
|
|
139
|
-
// Update progress (count errors as completed)
|
|
140
|
-
completed++;
|
|
141
|
-
if (config.onProgress) {
|
|
142
|
-
config.onProgress(completed, total);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}));
|
|
147
|
-
return { results, errors };
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Process items in parallel with a concurrency limit
|
|
151
|
-
*
|
|
152
|
-
* This is a general-purpose parallel processor that can be used for any async operation.
|
|
153
|
-
*
|
|
154
|
-
* @param items - Array of items to process
|
|
155
|
-
* @param processor - Processing function
|
|
156
|
-
* @param concurrency - Maximum concurrent operations
|
|
157
|
-
* @returns Array of results
|
|
158
|
-
*
|
|
159
|
-
* @example
|
|
160
|
-
* ```typescript
|
|
161
|
-
* const results = await parallelLimit(
|
|
162
|
-
* [1, 2, 3, 4, 5],
|
|
163
|
-
* async (n) => n * 2,
|
|
164
|
-
* 2 // Max 2 concurrent operations
|
|
165
|
-
* );
|
|
166
|
-
* ```
|
|
167
|
-
*/
|
|
168
|
-
export async function parallelLimit(items, processor, concurrency) {
|
|
169
|
-
const results = new Array(items.length);
|
|
170
|
-
const executing = new Map();
|
|
171
|
-
let firstError = null;
|
|
172
|
-
for (let i = 0; i < items.length; i++) {
|
|
173
|
-
const index = i; // Capture index for closure
|
|
174
|
-
const item = items[i];
|
|
175
|
-
// Create task that stores result at correct index
|
|
176
|
-
const task = processor(item)
|
|
177
|
-
.then((result) => {
|
|
178
|
-
results[index] = result; // Store at correct index to preserve order
|
|
179
|
-
})
|
|
180
|
-
.catch((error) => {
|
|
181
|
-
// Store first error to throw after all promises settle
|
|
182
|
-
if (!firstError) {
|
|
183
|
-
firstError = error;
|
|
184
|
-
}
|
|
185
|
-
})
|
|
186
|
-
.finally(() => {
|
|
187
|
-
// Remove using index (deterministic), not promise reference
|
|
188
|
-
executing.delete(index);
|
|
189
|
-
});
|
|
190
|
-
executing.set(index, task);
|
|
191
|
-
// Wait for any task to complete when at concurrency limit
|
|
192
|
-
if (executing.size >= concurrency) {
|
|
193
|
-
await Promise.race(executing.values());
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
// Wait for all remaining tasks to complete
|
|
197
|
-
await Promise.all(executing.values());
|
|
198
|
-
// Throw first error if any occurred
|
|
199
|
-
if (firstError) {
|
|
200
|
-
throw firstError;
|
|
201
|
-
}
|
|
202
|
-
return results;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Get optimal batch size based on file count and CPU cores
|
|
206
|
-
*
|
|
207
|
-
* @param fileCount - Number of files to process
|
|
208
|
-
* @param cpuCount - Number of CPU cores (default: auto-detect)
|
|
209
|
-
* @returns Optimal batch size
|
|
210
|
-
*/
|
|
211
|
-
export function getOptimalBatchSize(fileCount, cpuCount = os.cpus().length) {
|
|
212
|
-
// Heuristic: Aim for 2-4 batches per core for good load balancing
|
|
213
|
-
const targetBatches = cpuCount * 3;
|
|
214
|
-
return Math.max(1, Math.ceil(fileCount / targetBatches));
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Estimate speedup from parallel processing
|
|
218
|
-
*
|
|
219
|
-
* @param fileCount - Number of files to process
|
|
220
|
-
* @param avgTimePerFile - Average time per file in ms
|
|
221
|
-
* @param cpuCount - Number of CPU cores (default: auto-detect)
|
|
222
|
-
* @returns Estimated speedup info
|
|
223
|
-
*/
|
|
224
|
-
export function estimateParallelSpeedup(fileCount, avgTimePerFile, cpuCount = os.cpus().length) {
|
|
225
|
-
// Guard against edge cases
|
|
226
|
-
const safeCpuCount = Math.max(1, cpuCount);
|
|
227
|
-
const safeFileCount = Math.max(0, fileCount);
|
|
228
|
-
const safeAvgTime = Math.max(0, avgTimePerFile);
|
|
229
|
-
const sequentialTime = safeFileCount * safeAvgTime;
|
|
230
|
-
const parallelTime = Math.ceil(safeFileCount / safeCpuCount) * safeAvgTime;
|
|
231
|
-
// Avoid division by zero
|
|
232
|
-
const speedup = parallelTime > 0 ? sequentialTime / parallelTime : 0;
|
|
233
|
-
const efficiency = safeCpuCount > 0 ? speedup / safeCpuCount : 0; // 0-1, ideally close to 1
|
|
234
|
-
return {
|
|
235
|
-
sequentialTime,
|
|
236
|
-
parallelTime,
|
|
237
|
-
speedup,
|
|
238
|
-
efficiency,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
//# sourceMappingURL=parallel-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-analyzer.js","sourceRoot":"","sources":["../../src/utils/parallel-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Paste handling utilities for detecting and managing large paste operations
|
|
3
|
-
* Implements smart paste detection, collapsing, and expansion
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Represents a pasted block of text
|
|
7
|
-
*/
|
|
8
|
-
export interface PastedBlock {
|
|
9
|
-
id: number;
|
|
10
|
-
content: string;
|
|
11
|
-
lineCount: number;
|
|
12
|
-
collapsed: boolean;
|
|
13
|
-
startPosition: number;
|
|
14
|
-
previewLines: string[];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Paste detection and management class
|
|
18
|
-
*/
|
|
19
|
-
export declare class PasteDetector {
|
|
20
|
-
private inputBuffer;
|
|
21
|
-
private readonly PASTE_DETECTION_WINDOW;
|
|
22
|
-
private readonly PASTE_THRESHOLD;
|
|
23
|
-
private accumulatedInput;
|
|
24
|
-
private lastInputTime;
|
|
25
|
-
/**
|
|
26
|
-
* Detect if input is part of a paste operation
|
|
27
|
-
* @param inputChar - Character(s) being input
|
|
28
|
-
* @returns true if paste detected
|
|
29
|
-
*/
|
|
30
|
-
detectPaste(inputChar: string): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Accumulate input during paste operation
|
|
33
|
-
* @param inputChar - Character(s) being input
|
|
34
|
-
* @param timeout - Timeout to consider paste complete (ms)
|
|
35
|
-
* @returns accumulated paste content or null if still accumulating
|
|
36
|
-
*/
|
|
37
|
-
accumulatePasteInput(inputChar: string, timeout?: number): string | null;
|
|
38
|
-
/**
|
|
39
|
-
* Get and clear accumulated input
|
|
40
|
-
*/
|
|
41
|
-
getAccumulatedInput(): string;
|
|
42
|
-
/**
|
|
43
|
-
* Reset detector state
|
|
44
|
-
*/
|
|
45
|
-
reset(): void;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Check if pasted content should be collapsed
|
|
49
|
-
* @param content - Pasted content
|
|
50
|
-
* @returns true if should collapse
|
|
51
|
-
*/
|
|
52
|
-
export declare function shouldCollapsePaste(content: string): boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Count lines in text (handles different line endings)
|
|
55
|
-
* @param text - Text to count lines in
|
|
56
|
-
* @returns number of lines
|
|
57
|
-
*/
|
|
58
|
-
export declare function countLines(text: string): number;
|
|
59
|
-
/**
|
|
60
|
-
* Create a pasted block from content
|
|
61
|
-
* @param id - Unique block ID
|
|
62
|
-
* @param content - Pasted content
|
|
63
|
-
* @param startPosition - Position in input where inserted
|
|
64
|
-
* @returns PastedBlock object
|
|
65
|
-
*/
|
|
66
|
-
export declare function createPastedBlock(id: number, content: string, startPosition: number): PastedBlock;
|
|
67
|
-
/**
|
|
68
|
-
* Generate placeholder text for collapsed paste
|
|
69
|
-
* @param block - Pasted block
|
|
70
|
-
* @returns placeholder string
|
|
71
|
-
*/
|
|
72
|
-
export declare function generatePlaceholder(block: PastedBlock): string;
|
|
73
|
-
/**
|
|
74
|
-
* Extract placeholder ID from placeholder text
|
|
75
|
-
* @param placeholder - Placeholder text
|
|
76
|
-
* @returns block ID or null if not a placeholder
|
|
77
|
-
*/
|
|
78
|
-
export declare function extractPlaceholderId(placeholder: string): number | null;
|
|
79
|
-
/**
|
|
80
|
-
* Find pasted block at cursor position
|
|
81
|
-
* @param input - Current input text
|
|
82
|
-
* @param cursorPosition - Cursor position
|
|
83
|
-
* @param pastedBlocks - Array of pasted blocks
|
|
84
|
-
* @returns PastedBlock if cursor is on one, null otherwise
|
|
85
|
-
*/
|
|
86
|
-
export declare function findBlockAtCursor(input: string, cursorPosition: number, pastedBlocks: PastedBlock[]): PastedBlock | null;
|
|
87
|
-
/**
|
|
88
|
-
* Expand all placeholders in text
|
|
89
|
-
* @param text - Text with placeholders
|
|
90
|
-
* @param pastedBlocks - Array of pasted blocks
|
|
91
|
-
* @returns text with all placeholders expanded
|
|
92
|
-
*/
|
|
93
|
-
export declare function expandAllPlaceholders(text: string, pastedBlocks: PastedBlock[]): string;
|
|
94
|
-
/**
|
|
95
|
-
* Validate paste settings
|
|
96
|
-
* @param settings - Paste settings to validate
|
|
97
|
-
* @returns true if valid
|
|
98
|
-
*/
|
|
99
|
-
export declare function validatePasteSettings(settings: any): boolean;
|
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Paste handling utilities for detecting and managing large paste operations
|
|
3
|
-
* Implements smart paste detection, collapsing, and expansion
|
|
4
|
-
*/
|
|
5
|
-
import { getSettingsManager } from "./settings-manager.js";
|
|
6
|
-
/**
|
|
7
|
-
* Paste detection and management class
|
|
8
|
-
*/
|
|
9
|
-
export class PasteDetector {
|
|
10
|
-
inputBuffer = [];
|
|
11
|
-
PASTE_DETECTION_WINDOW = 100; // 100ms window
|
|
12
|
-
PASTE_THRESHOLD = 10; // 10+ chars = paste
|
|
13
|
-
accumulatedInput = "";
|
|
14
|
-
lastInputTime = 0;
|
|
15
|
-
/**
|
|
16
|
-
* Detect if input is part of a paste operation
|
|
17
|
-
* @param inputChar - Character(s) being input
|
|
18
|
-
* @returns true if paste detected
|
|
19
|
-
*/
|
|
20
|
-
detectPaste(inputChar) {
|
|
21
|
-
const now = Date.now();
|
|
22
|
-
// Add to buffer
|
|
23
|
-
this.inputBuffer.push({ char: inputChar, timestamp: now });
|
|
24
|
-
// Clean old entries (older than detection window)
|
|
25
|
-
this.inputBuffer = this.inputBuffer.filter(entry => now - entry.timestamp < this.PASTE_DETECTION_WINDOW);
|
|
26
|
-
// Count total characters in window
|
|
27
|
-
const totalChars = this.inputBuffer.reduce((sum, entry) => sum + entry.char.length, 0);
|
|
28
|
-
return totalChars >= this.PASTE_THRESHOLD;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Accumulate input during paste operation
|
|
32
|
-
* @param inputChar - Character(s) being input
|
|
33
|
-
* @param timeout - Timeout to consider paste complete (ms)
|
|
34
|
-
* @returns accumulated paste content or null if still accumulating
|
|
35
|
-
*/
|
|
36
|
-
accumulatePasteInput(inputChar, timeout = 50) {
|
|
37
|
-
const now = Date.now();
|
|
38
|
-
// If too much time passed, start new accumulation
|
|
39
|
-
if (now - this.lastInputTime > timeout && this.accumulatedInput) {
|
|
40
|
-
const result = this.accumulatedInput;
|
|
41
|
-
this.accumulatedInput = inputChar;
|
|
42
|
-
this.lastInputTime = now;
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
// Accumulate
|
|
46
|
-
this.accumulatedInput += inputChar;
|
|
47
|
-
this.lastInputTime = now;
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get and clear accumulated input
|
|
52
|
-
*/
|
|
53
|
-
getAccumulatedInput() {
|
|
54
|
-
const result = this.accumulatedInput;
|
|
55
|
-
this.accumulatedInput = "";
|
|
56
|
-
this.lastInputTime = 0;
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Reset detector state
|
|
61
|
-
*/
|
|
62
|
-
reset() {
|
|
63
|
-
this.inputBuffer = [];
|
|
64
|
-
this.accumulatedInput = "";
|
|
65
|
-
this.lastInputTime = 0;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Check if pasted content should be collapsed
|
|
70
|
-
* @param content - Pasted content
|
|
71
|
-
* @returns true if should collapse
|
|
72
|
-
*/
|
|
73
|
-
export function shouldCollapsePaste(content) {
|
|
74
|
-
const settings = getSettingsManager();
|
|
75
|
-
// BUG FIX: Use getPasteConfig() instead of direct access
|
|
76
|
-
// This ensures proper defaults and type safety
|
|
77
|
-
const pasteConfig = settings.getPasteConfig();
|
|
78
|
-
// Check if auto-collapse is enabled (default: true)
|
|
79
|
-
if (!pasteConfig?.autoCollapse) {
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
// Count lines
|
|
83
|
-
const lineCount = countLines(content);
|
|
84
|
-
return lineCount >= (pasteConfig?.collapseThreshold ?? 20);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Count lines in text (handles different line endings)
|
|
88
|
-
* @param text - Text to count lines in
|
|
89
|
-
* @returns number of lines
|
|
90
|
-
*/
|
|
91
|
-
export function countLines(text) {
|
|
92
|
-
if (!text)
|
|
93
|
-
return 0;
|
|
94
|
-
// Normalize line endings to \n
|
|
95
|
-
const normalized = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
|
|
96
|
-
// Count newlines + 1 (for last line without \n)
|
|
97
|
-
const newlineCount = (normalized.match(/\n/g) || []).length;
|
|
98
|
-
// If normalized text ends with newline, don't count extra line
|
|
99
|
-
return normalized.endsWith('\n') ? newlineCount : newlineCount + 1;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Create a pasted block from content
|
|
103
|
-
* @param id - Unique block ID
|
|
104
|
-
* @param content - Pasted content
|
|
105
|
-
* @param startPosition - Position in input where inserted
|
|
106
|
-
* @returns PastedBlock object
|
|
107
|
-
*/
|
|
108
|
-
export function createPastedBlock(id, content, startPosition) {
|
|
109
|
-
const settings = getSettingsManager();
|
|
110
|
-
// BUG FIX: Use getPasteConfig() for type safety and proper defaults
|
|
111
|
-
const pasteConfig = settings.getPasteConfig();
|
|
112
|
-
const lineCount = countLines(content);
|
|
113
|
-
const previewLineCount = pasteConfig?.previewLines ?? 2;
|
|
114
|
-
// Extract preview lines
|
|
115
|
-
const lines = content.split(/\r?\n/);
|
|
116
|
-
const previewLines = lines.slice(0, previewLineCount);
|
|
117
|
-
return {
|
|
118
|
-
id,
|
|
119
|
-
content,
|
|
120
|
-
lineCount,
|
|
121
|
-
collapsed: true,
|
|
122
|
-
startPosition,
|
|
123
|
-
previewLines,
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Generate placeholder text for collapsed paste
|
|
128
|
-
* @param block - Pasted block
|
|
129
|
-
* @returns placeholder string
|
|
130
|
-
*/
|
|
131
|
-
export function generatePlaceholder(block) {
|
|
132
|
-
const settings = getSettingsManager();
|
|
133
|
-
// BUG FIX: Use getPasteConfig() for type safety and proper defaults
|
|
134
|
-
const pasteConfig = settings.getPasteConfig();
|
|
135
|
-
const showLineCount = pasteConfig?.showLineCount ?? true;
|
|
136
|
-
const showPreview = pasteConfig?.showPreview ?? false;
|
|
137
|
-
// BUG FIX: Use 1-based numbering for user display (id is 0-based internally)
|
|
138
|
-
let placeholder = `[Pasted text #${block.id + 1}`;
|
|
139
|
-
if (showLineCount) {
|
|
140
|
-
// BUG FIX: Use proper singular/plural for line count
|
|
141
|
-
placeholder += ` +${block.lineCount} ${block.lineCount === 1 ? 'line' : 'lines'}`;
|
|
142
|
-
}
|
|
143
|
-
// Add Ctrl+P hint to help users discover the expand/collapse feature
|
|
144
|
-
placeholder += ` · ^P to expand]`;
|
|
145
|
-
// Add preview if enabled
|
|
146
|
-
if (showPreview && block.previewLines.length > 0) {
|
|
147
|
-
const preview = block.previewLines
|
|
148
|
-
.map(line => line.slice(0, 60)) // Max 60 chars per line
|
|
149
|
-
.join('\n');
|
|
150
|
-
placeholder += `\n${preview}`;
|
|
151
|
-
// BUG FIX: Only show "more lines" if there actually are more, and use proper singular/plural
|
|
152
|
-
const moreCount = block.lineCount - block.previewLines.length;
|
|
153
|
-
if (moreCount > 0) {
|
|
154
|
-
placeholder += `\n... (${moreCount} more ${moreCount === 1 ? 'line' : 'lines'})`;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return placeholder;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Extract placeholder ID from placeholder text
|
|
161
|
-
* @param placeholder - Placeholder text
|
|
162
|
-
* @returns block ID or null if not a placeholder
|
|
163
|
-
*/
|
|
164
|
-
export function extractPlaceholderId(placeholder) {
|
|
165
|
-
const match = placeholder.match(/\[Pasted text #(\d+)/);
|
|
166
|
-
// BUG FIX: Add explicit null check for match[1] and handle NaN case
|
|
167
|
-
if (!match || !match[1])
|
|
168
|
-
return null;
|
|
169
|
-
const parsed = parseInt(match[1], 10);
|
|
170
|
-
if (isNaN(parsed))
|
|
171
|
-
return null;
|
|
172
|
-
// BUG FIX: Convert 1-based display number back to 0-based internal ID
|
|
173
|
-
// Also ensure result is non-negative (user might type #0 which would give -1)
|
|
174
|
-
const internalId = parsed - 1;
|
|
175
|
-
return internalId >= 0 ? internalId : null;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Find pasted block at cursor position
|
|
179
|
-
* @param input - Current input text
|
|
180
|
-
* @param cursorPosition - Cursor position
|
|
181
|
-
* @param pastedBlocks - Array of pasted blocks
|
|
182
|
-
* @returns PastedBlock if cursor is on one, null otherwise
|
|
183
|
-
*/
|
|
184
|
-
export function findBlockAtCursor(input, cursorPosition, pastedBlocks) {
|
|
185
|
-
// BUG FIX: Early return for empty input or invalid cursor
|
|
186
|
-
if (!input || cursorPosition < 0 || cursorPosition > input.length) {
|
|
187
|
-
return null;
|
|
188
|
-
}
|
|
189
|
-
// Find all blocks that contain the cursor position
|
|
190
|
-
// This handles cases where multiple paste blocks exist in the input
|
|
191
|
-
for (const block of pastedBlocks) {
|
|
192
|
-
// Check if block is collapsed (placeholder in input)
|
|
193
|
-
if (block.collapsed) {
|
|
194
|
-
const placeholder = generatePlaceholder(block);
|
|
195
|
-
// Find all occurrences of this placeholder
|
|
196
|
-
let searchStart = 0;
|
|
197
|
-
while (searchStart < input.length) {
|
|
198
|
-
const blockStart = input.indexOf(placeholder, searchStart);
|
|
199
|
-
if (blockStart === -1)
|
|
200
|
-
break;
|
|
201
|
-
const blockEnd = blockStart + placeholder.length;
|
|
202
|
-
if (cursorPosition >= blockStart && cursorPosition <= blockEnd) {
|
|
203
|
-
return block;
|
|
204
|
-
}
|
|
205
|
-
searchStart = blockStart + 1;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
// Block is expanded (full content in input)
|
|
210
|
-
// BUG FIX: Skip empty content to avoid false positives (indexOf('') returns 0)
|
|
211
|
-
if (!block.content)
|
|
212
|
-
continue;
|
|
213
|
-
// Find all occurrences of this content
|
|
214
|
-
let searchStart = 0;
|
|
215
|
-
while (searchStart < input.length) {
|
|
216
|
-
const blockStart = input.indexOf(block.content, searchStart);
|
|
217
|
-
if (blockStart === -1)
|
|
218
|
-
break;
|
|
219
|
-
const blockEnd = blockStart + block.content.length;
|
|
220
|
-
if (cursorPosition >= blockStart && cursorPosition <= blockEnd) {
|
|
221
|
-
return block;
|
|
222
|
-
}
|
|
223
|
-
searchStart = blockStart + 1;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Expand all placeholders in text
|
|
231
|
-
* @param text - Text with placeholders
|
|
232
|
-
* @param pastedBlocks - Array of pasted blocks
|
|
233
|
-
* @returns text with all placeholders expanded
|
|
234
|
-
*/
|
|
235
|
-
export function expandAllPlaceholders(text, pastedBlocks) {
|
|
236
|
-
// BUG FIX: Early return for empty text or no blocks
|
|
237
|
-
if (!text || !pastedBlocks || pastedBlocks.length === 0) {
|
|
238
|
-
return text || '';
|
|
239
|
-
}
|
|
240
|
-
let result = text;
|
|
241
|
-
const occurrences = [];
|
|
242
|
-
for (const block of pastedBlocks) {
|
|
243
|
-
// BUG FIX: Only search for collapsed blocks' placeholders
|
|
244
|
-
// Expanded blocks won't have placeholders in the text
|
|
245
|
-
if (!block.collapsed)
|
|
246
|
-
continue;
|
|
247
|
-
const placeholder = generatePlaceholder(block);
|
|
248
|
-
let searchStart = 0;
|
|
249
|
-
while (searchStart < result.length) {
|
|
250
|
-
const position = result.indexOf(placeholder, searchStart);
|
|
251
|
-
if (position === -1)
|
|
252
|
-
break;
|
|
253
|
-
occurrences.push({ block, position, placeholder });
|
|
254
|
-
searchStart = position + 1;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
// Sort by position descending (replace from end to start to avoid position shifts)
|
|
258
|
-
occurrences.sort((a, b) => b.position - a.position);
|
|
259
|
-
// Replace each occurrence
|
|
260
|
-
for (const occurrence of occurrences) {
|
|
261
|
-
result =
|
|
262
|
-
result.substring(0, occurrence.position) +
|
|
263
|
-
occurrence.block.content +
|
|
264
|
-
result.substring(occurrence.position + occurrence.placeholder.length);
|
|
265
|
-
}
|
|
266
|
-
return result;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Validate paste settings
|
|
270
|
-
* @param settings - Paste settings to validate
|
|
271
|
-
* @returns true if valid
|
|
272
|
-
*/
|
|
273
|
-
export function validatePasteSettings(settings) {
|
|
274
|
-
if (!settings)
|
|
275
|
-
return true;
|
|
276
|
-
if (typeof settings.autoCollapse !== 'undefined' && typeof settings.autoCollapse !== 'boolean') {
|
|
277
|
-
return false;
|
|
278
|
-
}
|
|
279
|
-
if (typeof settings.collapseThreshold !== 'undefined') {
|
|
280
|
-
if (typeof settings.collapseThreshold !== 'number' ||
|
|
281
|
-
settings.collapseThreshold < 1 ||
|
|
282
|
-
settings.collapseThreshold > 100) {
|
|
283
|
-
return false;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
if (typeof settings.previewLines !== 'undefined') {
|
|
287
|
-
if (typeof settings.previewLines !== 'number' ||
|
|
288
|
-
settings.previewLines < 0 ||
|
|
289
|
-
settings.previewLines > 10) {
|
|
290
|
-
return false;
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
return true;
|
|
294
|
-
}
|
|
295
|
-
//# sourceMappingURL=paste-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paste-utils.js","sourceRoot":"","sources":["../../src/utils/paste-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAsB3D;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,WAAW,GAAuB,EAAE,CAAC;IAC5B,sBAAsB,GAAG,GAAG,CAAC,CAAC,eAAe;IAC7C,eAAe,GAAG,EAAE,CAAC,CAAC,oBAAoB;IACnD,gBAAgB,GAAG,EAAE,CAAC;IACtB,aAAa,GAAG,CAAC,CAAC;IAE1B;;;;OAIG;IACI,WAAW,CAAC,SAAiB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,gBAAgB;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3D,kDAAkD;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAC7D,CAAC;QAEF,mCAAmC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EACvC,CAAC,CACF,CAAC;QAEF,OAAO,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,SAAiB,EAAE,OAAO,GAAG,EAAE;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,kDAAkD;QAClD,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,aAAa;QACb,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,yDAAyD;IACzD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE9C,oDAAoD;IACpD,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc;IACd,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO,SAAS,IAAI,CAAC,WAAW,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEpE,gDAAgD;IAChD,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAE5D,+DAA+D;IAC/D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAAU,EACV,OAAe,EACf,aAAqB;IAErB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAG,WAAW,EAAE,YAAY,IAAI,CAAC,CAAC;IAExD,wBAAwB;IACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAEtD,OAAO;QACL,EAAE;QACF,OAAO;QACP,SAAS;QACT,SAAS,EAAE,IAAI;QACf,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACpD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,oEAAoE;IACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE9C,MAAM,aAAa,GAAG,WAAW,EAAE,aAAa,IAAI,IAAI,CAAC;IACzD,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC;IAEtD,6EAA6E;IAC7E,IAAI,WAAW,GAAG,iBAAiB,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAElD,IAAI,aAAa,EAAE,CAAC;QAClB,qDAAqD;QACrD,WAAW,IAAI,KAAK,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,qEAAqE;IACrE,WAAW,IAAI,kBAAkB,CAAC;IAElC,yBAAyB;IACzB,IAAI,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;aAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;aACvD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,6FAA6F;QAC7F,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QAC9D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,WAAW,IAAI,UAAU,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;QACnF,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxD,oEAAoE;IACpE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,sEAAsE;IACtE,8EAA8E;IAC9E,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;IAC9B,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,cAAsB,EACtB,YAA2B;IAE3B,0DAA0D;IAC1D,IAAI,CAAC,KAAK,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,oEAAoE;IACpE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,qDAAqD;QACrD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAE/C,2CAA2C;YAC3C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,OAAO,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAE3D,IAAI,UAAU,KAAK,CAAC,CAAC;oBAAE,MAAM;gBAE7B,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;gBAEjD,IAAI,cAAc,IAAI,UAAU,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;oBAC/D,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,+EAA+E;YAC/E,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,SAAS;YAE7B,uCAAuC;YACvC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,OAAO,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAE7D,IAAI,UAAU,KAAK,CAAC,CAAC;oBAAE,MAAM;gBAE7B,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAEnD,IAAI,cAAc,IAAI,UAAU,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;oBAC/D,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,WAAW,GAAG,UAAU,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,YAA2B;IAE3B,oDAAoD;IACpD,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC;IASlB,MAAM,WAAW,GAA4B,EAAE,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,0DAA0D;QAC1D,sDAAsD;QACtD,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAE/B,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,OAAO,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC1D,IAAI,QAAQ,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE3B,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;YACnD,WAAW,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEpD,0BAA0B;IAC1B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM;YACJ,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC;gBACxC,UAAU,CAAC,KAAK,CAAC,OAAO;gBACxB,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAa;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,WAAW,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;QACtD,IAAI,OAAO,QAAQ,CAAC,iBAAiB,KAAK,QAAQ;YAC9C,QAAQ,CAAC,iBAAiB,GAAG,CAAC;YAC9B,QAAQ,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;QACjD,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ;YACzC,QAAQ,CAAC,YAAY,GAAG,CAAC;YACzB,QAAQ,CAAC,YAAY,GAAG,EAAE,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve the base directory for AX CLI user data.
|
|
3
|
-
*
|
|
4
|
-
* - Honors AX_CLI_HOME when set (useful for tests and sandboxed environments)
|
|
5
|
-
* - Defaults to ~/.ax-cli to preserve existing behavior
|
|
6
|
-
* - Falls back to <cwd>/.ax-cli when the home directory is not writable
|
|
7
|
-
*/
|
|
8
|
-
export declare function getAxBaseDir(): string;
|