@defai.digital/ax-cli 4.4.6 → 4.4.10
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 -387
- 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,282 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Change Summarizer
|
|
3
|
-
* Extracts meaningful summaries from tool operations
|
|
4
|
-
*/
|
|
5
|
-
// Precompiled regexes for performance (avoid recompilation on each call)
|
|
6
|
-
const TYPE_ADDED_REGEX = /\+\s*type\b/;
|
|
7
|
-
const TYPE_UPDATED_REGEX = /\btype\s+\w/;
|
|
8
|
-
const API_REGEX = /\bapi\b/;
|
|
9
|
-
const MODEL_REGEX = /\bmodel\b/;
|
|
10
|
-
const HANDLER_REGEX = /\bhandler\b/;
|
|
11
|
-
const RENDER_REGEX = /\brender\b/;
|
|
12
|
-
const TODO_BRACKETS_REGEX = /\[.*?\]/g;
|
|
13
|
-
// Precompiled regexes for getBriefToolSummary (avoid recompilation on each call)
|
|
14
|
-
const REPLACED_REGEX = /replaced/gi;
|
|
15
|
-
const EDIT_COUNT_REGEX = /(\d+)\s*edit/i;
|
|
16
|
-
const EDIT_KEYWORDS_REGEX = /edit|applied|replaced|updated/gi;
|
|
17
|
-
const FOUND_MATCH_REGEX = /Found (\d+) match/;
|
|
18
|
-
const UPDATED_PREFIX_REGEX = /^Updated\s+/;
|
|
19
|
-
/**
|
|
20
|
-
* Extract a human-readable summary from a group of tool operations
|
|
21
|
-
*
|
|
22
|
-
* @param group - Tool group to summarize
|
|
23
|
-
* @returns Summary string or null if no meaningful summary
|
|
24
|
-
*/
|
|
25
|
-
export function summarizeChanges(group) {
|
|
26
|
-
// Only summarize file operations with updates
|
|
27
|
-
if (group.groupType !== 'file') {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
// BUG FIX: Include multi_edit tool in change summarization
|
|
31
|
-
const updates = group.operations.filter((op) => (op.toolCall?.function?.name === 'str_replace_editor' || op.toolCall?.function?.name === 'multi_edit') && op.toolResult?.success);
|
|
32
|
-
if (updates.length === 0) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
// Collect all change patterns
|
|
36
|
-
const patterns = new Set();
|
|
37
|
-
for (const update of updates) {
|
|
38
|
-
const content = update.content || update.toolResult?.output || '';
|
|
39
|
-
const detectedPatterns = detectChangePatterns(content);
|
|
40
|
-
detectedPatterns.forEach((p) => patterns.add(p));
|
|
41
|
-
}
|
|
42
|
-
// If no patterns detected, return generic summary
|
|
43
|
-
if (patterns.size === 0) {
|
|
44
|
-
return updates.length === 1 ? 'modified' : `${updates.length} changes`;
|
|
45
|
-
}
|
|
46
|
-
// Format patterns into readable summary
|
|
47
|
-
const patternArray = Array.from(patterns);
|
|
48
|
-
// Limit to 3 most significant patterns
|
|
49
|
-
const topPatterns = patternArray.slice(0, 3);
|
|
50
|
-
return topPatterns.join(', ');
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Detect change patterns from diff content
|
|
54
|
-
*
|
|
55
|
-
* @param content - Tool result content (usually a diff)
|
|
56
|
-
* @returns Array of detected change descriptions
|
|
57
|
-
*/
|
|
58
|
-
function detectChangePatterns(content) {
|
|
59
|
-
const patterns = [];
|
|
60
|
-
if (!content)
|
|
61
|
-
return patterns;
|
|
62
|
-
const lower = content.toLowerCase();
|
|
63
|
-
// Function/method changes - check all patterns independently to catch combined changes
|
|
64
|
-
const hasAddedFunctions = lower.includes('+function') || lower.includes('+const ') || lower.includes('+export function');
|
|
65
|
-
const hasRemovedFunctions = lower.includes('-function') || lower.includes('-const ') || lower.includes('-export function');
|
|
66
|
-
if (hasAddedFunctions && hasRemovedFunctions) {
|
|
67
|
-
patterns.push('modified functions');
|
|
68
|
-
}
|
|
69
|
-
else if (hasAddedFunctions) {
|
|
70
|
-
patterns.push('added functions');
|
|
71
|
-
}
|
|
72
|
-
else if (hasRemovedFunctions) {
|
|
73
|
-
patterns.push('removed functions');
|
|
74
|
-
}
|
|
75
|
-
else if (lower.includes('function') || lower.includes('const ')) {
|
|
76
|
-
patterns.push('updated functions');
|
|
77
|
-
}
|
|
78
|
-
// Import changes - check independently
|
|
79
|
-
const hasAddedImports = lower.includes('+import') || lower.includes('+require');
|
|
80
|
-
const hasRemovedImports = lower.includes('-import') || lower.includes('-require');
|
|
81
|
-
if (hasAddedImports && hasRemovedImports) {
|
|
82
|
-
patterns.push('reorganized imports');
|
|
83
|
-
}
|
|
84
|
-
else if (hasAddedImports) {
|
|
85
|
-
patterns.push('added imports');
|
|
86
|
-
}
|
|
87
|
-
else if (hasRemovedImports) {
|
|
88
|
-
patterns.push('removed imports');
|
|
89
|
-
}
|
|
90
|
-
// Type/interface changes
|
|
91
|
-
// BUG FIX: Use word boundary for 'type' to avoid matching 'prototype', 'typeof', etc.
|
|
92
|
-
if (lower.includes('+interface') || TYPE_ADDED_REGEX.test(lower) || lower.includes('+class ')) {
|
|
93
|
-
patterns.push('added types');
|
|
94
|
-
}
|
|
95
|
-
else if (lower.includes('interface') || TYPE_UPDATED_REGEX.test(lower)) {
|
|
96
|
-
patterns.push('updated types');
|
|
97
|
-
}
|
|
98
|
-
// Error handling
|
|
99
|
-
if (lower.includes('+try') || lower.includes('+catch') || lower.includes('+throw')) {
|
|
100
|
-
patterns.push('improved error handling');
|
|
101
|
-
}
|
|
102
|
-
else if (lower.includes('error') || lower.includes('catch')) {
|
|
103
|
-
patterns.push('updated error handling');
|
|
104
|
-
}
|
|
105
|
-
// Documentation
|
|
106
|
-
if (lower.includes('+//') || lower.includes('+/*') || lower.includes('+*')) {
|
|
107
|
-
patterns.push('added documentation');
|
|
108
|
-
}
|
|
109
|
-
// Tests
|
|
110
|
-
if (lower.includes('+test(') || lower.includes('+it(') || lower.includes('+describe(')) {
|
|
111
|
-
patterns.push('added tests');
|
|
112
|
-
}
|
|
113
|
-
else if (lower.includes('test(') || lower.includes('it(') || lower.includes('describe(')) {
|
|
114
|
-
patterns.push('updated tests');
|
|
115
|
-
}
|
|
116
|
-
// Configuration
|
|
117
|
-
// BUG FIX: Be more specific about config files - .json is too broad (matches data.json, etc.)
|
|
118
|
-
if (lower.includes('package.json') || lower.includes('tsconfig') || lower.includes('.eslintrc') ||
|
|
119
|
-
lower.includes('.prettierrc') || lower.includes('config.json') || lower.includes('.env')) {
|
|
120
|
-
patterns.push('updated configuration');
|
|
121
|
-
}
|
|
122
|
-
// API/endpoints - BUG FIX: Use word boundary regex to avoid false positives like "capacity"
|
|
123
|
-
if (API_REGEX.test(lower) || lower.includes('endpoint') || lower.includes('router') || HANDLER_REGEX.test(lower)) {
|
|
124
|
-
patterns.push('modified API');
|
|
125
|
-
}
|
|
126
|
-
// Database/models - BUG FIX: Use word boundary regex to avoid false positives like "remodel"
|
|
127
|
-
if (lower.includes('schema') || MODEL_REGEX.test(lower) || lower.includes('migration') || lower.includes('database')) {
|
|
128
|
-
patterns.push('updated database schema');
|
|
129
|
-
}
|
|
130
|
-
// UI/components - BUG FIX: Use word boundary regex to avoid false positives like "surrender"
|
|
131
|
-
if (lower.includes('component') || RENDER_REGEX.test(lower) || lower.includes('jsx') || lower.includes('tsx')) {
|
|
132
|
-
patterns.push('updated UI components');
|
|
133
|
-
}
|
|
134
|
-
// Security
|
|
135
|
-
if (lower.includes('auth') || lower.includes('permission') || lower.includes('token') || lower.includes('security')) {
|
|
136
|
-
patterns.push('updated security');
|
|
137
|
-
}
|
|
138
|
-
// Performance
|
|
139
|
-
if (lower.includes('cache') || lower.includes('optimize') || lower.includes('performance')) {
|
|
140
|
-
patterns.push('improved performance');
|
|
141
|
-
}
|
|
142
|
-
// Refactoring
|
|
143
|
-
// BUG FIX: Use proper diff line marker patterns (line starts with - or +) instead of
|
|
144
|
-
// just checking for any hyphen/plus which matches things like "UTF-8", "log+error"
|
|
145
|
-
const hasDiffRemovals = /^-[^-]/m.test(content) || lower.includes('\n-');
|
|
146
|
-
const hasDiffAdditions = /^\+[^+]/m.test(content) || lower.includes('\n+');
|
|
147
|
-
if (lower.includes('refactor') || (hasDiffRemovals && hasDiffAdditions && patterns.length === 0)) {
|
|
148
|
-
patterns.push('refactored code');
|
|
149
|
-
}
|
|
150
|
-
return patterns;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Get a brief summary for individual tool results (used in concise mode)
|
|
154
|
-
*
|
|
155
|
-
* @param content - Tool result content
|
|
156
|
-
* @param toolName - Name of the tool that was executed
|
|
157
|
-
* @returns Brief summary string
|
|
158
|
-
*/
|
|
159
|
-
export function getBriefToolSummary(content, toolName) {
|
|
160
|
-
if (!content)
|
|
161
|
-
return '';
|
|
162
|
-
// BUG FIX: Empty string split returns [""] with length 1, check for empty first
|
|
163
|
-
const lineCount = content.trim() ? content.split('\n').length : 0;
|
|
164
|
-
switch (toolName) {
|
|
165
|
-
case 'view_file':
|
|
166
|
-
case 'read_file': // BUG FIX: Handle read_file same as view_file
|
|
167
|
-
if (lineCount === 1)
|
|
168
|
-
return '1 line';
|
|
169
|
-
// BUG FIX: Removed redundant lineCount < 100 check (same output as < 10)
|
|
170
|
-
// Files with 500+ lines are considered large
|
|
171
|
-
if (lineCount < 500)
|
|
172
|
-
return `${lineCount} lines`;
|
|
173
|
-
return `${lineCount} lines (large)`;
|
|
174
|
-
case 'create_file':
|
|
175
|
-
// BUG FIX: Handle empty file case
|
|
176
|
-
if (lineCount === 0)
|
|
177
|
-
return 'empty file';
|
|
178
|
-
if (lineCount === 1)
|
|
179
|
-
return '1 line written';
|
|
180
|
-
return `${lineCount} lines written`;
|
|
181
|
-
case 'str_replace_editor':
|
|
182
|
-
// Extract first line summary
|
|
183
|
-
// BUG FIX: Find first non-empty line instead of assuming [0] is meaningful
|
|
184
|
-
const firstLine = content.split('\n').find(line => line.trim()) || '';
|
|
185
|
-
if (firstLine.includes('Updated')) {
|
|
186
|
-
return firstLine.replace(UPDATED_PREFIX_REGEX, '').trim();
|
|
187
|
-
}
|
|
188
|
-
// Count replacements
|
|
189
|
-
const replacements = (content.match(REPLACED_REGEX) || []).length;
|
|
190
|
-
if (replacements > 0) {
|
|
191
|
-
return `${replacements} change${replacements > 1 ? 's' : ''}`;
|
|
192
|
-
}
|
|
193
|
-
return 'updated';
|
|
194
|
-
case 'multi_edit':
|
|
195
|
-
// BUG FIX: Added multi_edit tool summary handling
|
|
196
|
-
// Try to extract edit count from output like "3 edits applied" or "Applied 3 edits"
|
|
197
|
-
const countMatch = content.match(EDIT_COUNT_REGEX);
|
|
198
|
-
if (countMatch) {
|
|
199
|
-
const count = parseInt(countMatch[1], 10);
|
|
200
|
-
if (!Number.isNaN(count) && count > 0) {
|
|
201
|
-
return `${count} edit${count > 1 ? 's' : ''}`;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// Fallback: count occurrences of edit-related keywords
|
|
205
|
-
const editMatches = content.match(EDIT_KEYWORDS_REGEX) || [];
|
|
206
|
-
if (editMatches.length > 0) {
|
|
207
|
-
return 'multi-edit applied';
|
|
208
|
-
}
|
|
209
|
-
return 'applied';
|
|
210
|
-
case 'bash':
|
|
211
|
-
case 'execute_bash': // BUG FIX: Handle execute_bash same as bash
|
|
212
|
-
if (content.includes('Background task started')) {
|
|
213
|
-
return '→ background';
|
|
214
|
-
}
|
|
215
|
-
// Detect common patterns
|
|
216
|
-
if (content.includes('npm install') || content.includes('added ')) {
|
|
217
|
-
return 'installed';
|
|
218
|
-
}
|
|
219
|
-
if (content.includes('git commit')) {
|
|
220
|
-
return 'committed';
|
|
221
|
-
}
|
|
222
|
-
if (content.includes('git push')) {
|
|
223
|
-
return 'pushed';
|
|
224
|
-
}
|
|
225
|
-
if (content.includes('Test passed') || content.includes('✓')) {
|
|
226
|
-
return 'passed';
|
|
227
|
-
}
|
|
228
|
-
if (lineCount <= 1) {
|
|
229
|
-
// BUG FIX: Compare trimmed length with sliced length for consistent ellipsis
|
|
230
|
-
const trimmed = content.trim();
|
|
231
|
-
return trimmed.slice(0, 40) + (trimmed.length > 40 ? '...' : '');
|
|
232
|
-
}
|
|
233
|
-
return `${lineCount} lines`;
|
|
234
|
-
case 'search':
|
|
235
|
-
const matches = content.match(FOUND_MATCH_REGEX);
|
|
236
|
-
if (matches) {
|
|
237
|
-
const count = parseInt(matches[1], 10);
|
|
238
|
-
// BUG FIX: Handle NaN from invalid parse
|
|
239
|
-
if (!Number.isNaN(count)) {
|
|
240
|
-
return `${count} match${count !== 1 ? 'es' : ''}`;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
return `${lineCount} result${lineCount !== 1 ? 's' : ''}`;
|
|
244
|
-
case 'create_todo_list':
|
|
245
|
-
case 'update_todo_list':
|
|
246
|
-
const todos = (content.match(TODO_BRACKETS_REGEX) || []).length;
|
|
247
|
-
return `${todos} task${todos !== 1 ? 's' : ''}`;
|
|
248
|
-
default:
|
|
249
|
-
// BUG FIX: Handle MCP tools with informative summaries
|
|
250
|
-
if (toolName.startsWith('mcp__')) {
|
|
251
|
-
// Extract server and tool name for context
|
|
252
|
-
const parts = toolName.split('__');
|
|
253
|
-
const serverName = parts[1] || 'mcp';
|
|
254
|
-
// Try to provide meaningful summary based on content
|
|
255
|
-
if (lineCount === 1) {
|
|
256
|
-
const trimmedContent = content.trim();
|
|
257
|
-
if (trimmedContent.length <= 50) {
|
|
258
|
-
return trimmedContent || 'completed';
|
|
259
|
-
}
|
|
260
|
-
return trimmedContent.slice(0, 47) + '...';
|
|
261
|
-
}
|
|
262
|
-
if (lineCount <= 5) {
|
|
263
|
-
return `${lineCount} lines`;
|
|
264
|
-
}
|
|
265
|
-
return `${serverName}: ${lineCount} lines`;
|
|
266
|
-
}
|
|
267
|
-
if (lineCount <= 1 && content.length < 60) {
|
|
268
|
-
// BUG FIX: Check if trimmed result is non-empty to avoid returning ""
|
|
269
|
-
// for whitespace-only content which would display nothing
|
|
270
|
-
const trimmed = content.trim();
|
|
271
|
-
if (trimmed) {
|
|
272
|
-
return trimmed;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
// BUG FIX: Handle 0 lines case more gracefully
|
|
276
|
-
if (lineCount === 0) {
|
|
277
|
-
return 'completed';
|
|
278
|
-
}
|
|
279
|
-
return `${lineCount} lines`;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
//# sourceMappingURL=change-summarizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"change-summarizer.js","sourceRoot":"","sources":["../../../src/ui/utils/change-summarizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Render code content. Parameters reserved for future syntax highlighting.
|
|
4
|
-
* @param content - The code content to render
|
|
5
|
-
* @param _language - Reserved: language for syntax highlighting (not yet implemented)
|
|
6
|
-
* @param _availableTerminalHeight - Reserved: height constraint (not yet implemented)
|
|
7
|
-
* @param _terminalWidth - Reserved: width constraint (not yet implemented)
|
|
8
|
-
*/
|
|
9
|
-
export declare const colorizeCode: (content: string, _language: string | null, _availableTerminalHeight?: number, _terminalWidth?: number) => React.ReactNode;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Text, Box } from 'ink';
|
|
3
|
-
/**
|
|
4
|
-
* Render code content. Parameters reserved for future syntax highlighting.
|
|
5
|
-
* @param content - The code content to render
|
|
6
|
-
* @param _language - Reserved: language for syntax highlighting (not yet implemented)
|
|
7
|
-
* @param _availableTerminalHeight - Reserved: height constraint (not yet implemented)
|
|
8
|
-
* @param _terminalWidth - Reserved: width constraint (not yet implemented)
|
|
9
|
-
*/
|
|
10
|
-
export const colorizeCode = (content, _language, _availableTerminalHeight, _terminalWidth) => {
|
|
11
|
-
return (React.createElement(Box, { flexDirection: "column" }, content.split('\n').map((line, index) => (React.createElement(Text, { key: index, wrap: "wrap" }, line)))));
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=code-colorizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-colorizer.js","sourceRoot":"","sources":["../../../src/ui/utils/code-colorizer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,OAAe,EACf,SAAwB,EACxB,wBAAiC,EACjC,cAAuB,EACN,EAAE;IACnB,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,IACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,IAC1B,IAAI,CACA,CACR,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color constants and theme utilities for the CLI interface
|
|
3
|
-
*/
|
|
4
|
-
import { type ThemeColors } from '../themes/index.js';
|
|
5
|
-
import type { ThemeName } from '../../schemas/settings-schemas.js';
|
|
6
|
-
export type { ThemeColors } from '../themes/index.js';
|
|
7
|
-
/**
|
|
8
|
-
* Legacy color constants (for backward compatibility)
|
|
9
|
-
* @deprecated Use getThemeColors() instead for theme-aware colors
|
|
10
|
-
*/
|
|
11
|
-
export declare const Colors: {
|
|
12
|
-
readonly AccentYellow: "yellow";
|
|
13
|
-
readonly Gray: "gray";
|
|
14
|
-
readonly Red: "red";
|
|
15
|
-
readonly Green: "green";
|
|
16
|
-
readonly Blue: "blue";
|
|
17
|
-
readonly Cyan: "cyan";
|
|
18
|
-
readonly Magenta: "magenta";
|
|
19
|
-
readonly White: "white";
|
|
20
|
-
readonly Black: "black";
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Get the current theme colors based on user settings
|
|
24
|
-
* Caches the result to avoid repeated file reads
|
|
25
|
-
* Falls back to default theme if settings cannot be loaded
|
|
26
|
-
*/
|
|
27
|
-
export declare function getThemeColors(): ThemeColors;
|
|
28
|
-
/**
|
|
29
|
-
* Get a specific color from the current theme
|
|
30
|
-
*/
|
|
31
|
-
export declare function getColor(colorKey: keyof ThemeColors): string;
|
|
32
|
-
/**
|
|
33
|
-
* Clear the theme cache (call when theme setting changes)
|
|
34
|
-
*/
|
|
35
|
-
export declare function clearThemeCache(): void;
|
|
36
|
-
/**
|
|
37
|
-
* Get the current theme name
|
|
38
|
-
* Uses the cache from getThemeColors() to ensure consistency
|
|
39
|
-
* Falls back to 'default' if settings cannot be loaded
|
|
40
|
-
*/
|
|
41
|
-
export declare function getCurrentThemeName(): ThemeName;
|
package/dist/ui/utils/colors.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Color constants and theme utilities for the CLI interface
|
|
3
|
-
*/
|
|
4
|
-
import { getTheme } from '../themes/index.js';
|
|
5
|
-
import { getSettingsManager } from '../../utils/settings-manager.js';
|
|
6
|
-
/**
|
|
7
|
-
* Legacy color constants (for backward compatibility)
|
|
8
|
-
* @deprecated Use getThemeColors() instead for theme-aware colors
|
|
9
|
-
*/
|
|
10
|
-
export const Colors = {
|
|
11
|
-
AccentYellow: 'yellow',
|
|
12
|
-
Gray: 'gray',
|
|
13
|
-
Red: 'red',
|
|
14
|
-
Green: 'green',
|
|
15
|
-
Blue: 'blue',
|
|
16
|
-
Cyan: 'cyan',
|
|
17
|
-
Magenta: 'magenta',
|
|
18
|
-
White: 'white',
|
|
19
|
-
Black: 'black'
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Cached theme colors to avoid repeated lookups
|
|
23
|
-
*/
|
|
24
|
-
let cachedThemeName;
|
|
25
|
-
let cachedColors = null;
|
|
26
|
-
/**
|
|
27
|
-
* Get the current theme colors based on user settings
|
|
28
|
-
* Caches the result to avoid repeated file reads
|
|
29
|
-
* Falls back to default theme if settings cannot be loaded
|
|
30
|
-
*/
|
|
31
|
-
export function getThemeColors() {
|
|
32
|
-
let currentTheme = 'default';
|
|
33
|
-
try {
|
|
34
|
-
const settings = getSettingsManager();
|
|
35
|
-
const uiConfig = settings.getUIConfig();
|
|
36
|
-
// Theme may be undefined in config, fall back to default
|
|
37
|
-
if (uiConfig && uiConfig.theme !== undefined) {
|
|
38
|
-
currentTheme = uiConfig.theme;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Settings not available (e.g., during early startup), use default theme
|
|
43
|
-
currentTheme = 'default';
|
|
44
|
-
}
|
|
45
|
-
// Return cached colors if theme hasn't changed
|
|
46
|
-
if (cachedColors && cachedThemeName === currentTheme) {
|
|
47
|
-
// Return a shallow copy to prevent callers from mutating the cache
|
|
48
|
-
return { ...cachedColors };
|
|
49
|
-
}
|
|
50
|
-
// Update cache with a shallow copy to prevent mutation of original theme
|
|
51
|
-
cachedThemeName = currentTheme;
|
|
52
|
-
cachedColors = { ...getTheme(currentTheme).colors };
|
|
53
|
-
// Return a copy, not the cache itself, to prevent external mutation
|
|
54
|
-
return { ...cachedColors };
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get a specific color from the current theme
|
|
58
|
-
*/
|
|
59
|
-
export function getColor(colorKey) {
|
|
60
|
-
return getThemeColors()[colorKey];
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Clear the theme cache (call when theme setting changes)
|
|
64
|
-
*/
|
|
65
|
-
export function clearThemeCache() {
|
|
66
|
-
cachedThemeName = undefined;
|
|
67
|
-
cachedColors = null;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Get the current theme name
|
|
71
|
-
* Uses the cache from getThemeColors() to ensure consistency
|
|
72
|
-
* Falls back to 'default' if settings cannot be loaded
|
|
73
|
-
*/
|
|
74
|
-
export function getCurrentThemeName() {
|
|
75
|
-
// Ensure cache is current by calling getThemeColors()
|
|
76
|
-
// This guarantees cachedThemeName is set and in sync
|
|
77
|
-
getThemeColors();
|
|
78
|
-
return cachedThemeName ?? 'default';
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=colors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/ui/utils/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAKrE;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;GAEG;AACH,IAAI,eAAsC,CAAC;AAC3C,IAAI,YAAY,GAAuB,IAAI,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,YAAY,GAAc,SAAS,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,yDAAyD;QACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7C,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,+CAA+C;IAC/C,IAAI,YAAY,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;QACrD,mEAAmE;QACnE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,yEAAyE;IACzE,eAAe,GAAG,YAAY,CAAC;IAC/B,YAAY,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;IACpD,oEAAoE;IACpE,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAA2B;IAClD,OAAO,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,eAAe,GAAG,SAAS,CAAC;IAC5B,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,sDAAsD;IACtD,qDAAqD;IACrD,cAAc,EAAE,CAAC;IACjB,OAAO,eAAe,IAAI,SAAS,CAAC;AACtC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Image Input Handler - Parses @path references for multimodal API requests.
|
|
3
|
-
* Supports: @path/to/image.png, /absolute/path.png, ./relative/path.png
|
|
4
|
-
*/
|
|
5
|
-
import { ProcessedImage } from '../../utils/image-processor.js';
|
|
6
|
-
import type { MessageContentPart } from '../../llm/types.js';
|
|
7
|
-
/** Image attachment with metadata for UI display */
|
|
8
|
-
export interface ImageAttachment {
|
|
9
|
-
image: ProcessedImage;
|
|
10
|
-
preview: string;
|
|
11
|
-
originalReference: string;
|
|
12
|
-
}
|
|
13
|
-
/** Result of parsing user input for images */
|
|
14
|
-
export interface ParsedImageInput {
|
|
15
|
-
text: string;
|
|
16
|
-
images: ImageAttachment[];
|
|
17
|
-
errors: string[];
|
|
18
|
-
hasImages: boolean;
|
|
19
|
-
}
|
|
20
|
-
/** Parse user input for image references */
|
|
21
|
-
export declare function parseImageInput(input: string, workingDir?: string): Promise<ParsedImageInput>;
|
|
22
|
-
/** Check if input contains image references (quick check using main patterns) */
|
|
23
|
-
export declare function hasImageReferences(input: string): boolean;
|
|
24
|
-
/** Build multimodal message content from parsed input */
|
|
25
|
-
export declare function buildMessageContent(parsed: ParsedImageInput): MessageContentPart[];
|
|
26
|
-
/** Get help text for image input */
|
|
27
|
-
export declare function getImageHelpText(): string;
|
|
28
|
-
/** Format image attachment for display in chat */
|
|
29
|
-
export declare function formatAttachmentForDisplay(attachment: ImageAttachment, index: number): string;
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Image Input Handler - Parses @path references for multimodal API requests.
|
|
3
|
-
* Supports: @path/to/image.png, /absolute/path.png, ./relative/path.png
|
|
4
|
-
*/
|
|
5
|
-
import * as path from 'path';
|
|
6
|
-
import { processImageFromPath, formatBytes, ImageProcessingError, SUPPORTED_IMAGE_FORMATS, MAX_IMAGE_SIZE_BYTES, TOKENS_PER_IMAGE, } from '../../utils/image-processor.js';
|
|
7
|
-
/** Shared image extension pattern */
|
|
8
|
-
const IMG_EXT = '(?:png|jpg|jpeg|gif|webp)';
|
|
9
|
-
/** Regex patterns (compiled once at module load) */
|
|
10
|
-
// @-prefixed: @path.png, @"path with spaces.png", @'path.png' (excludes URLs)
|
|
11
|
-
const AT_REF_PATTERN = new RegExp(`@((?!https?://|ftp://|file://|data:)[^\\s]+\\.${IMG_EXT}|"[^"]+\\.${IMG_EXT}"|'[^']+\\.${IMG_EXT}')`, 'gi');
|
|
12
|
-
// Direct paths: /path.png, ./path.png, C:\path.png, \\server\path.png, "quoted.png"
|
|
13
|
-
const DIRECT_PATH_PATTERN = new RegExp(`^(/[^\\s]+\\.${IMG_EXT}|\\.\\.\?/[^\\s]+\\.${IMG_EXT}|[a-zA-Z]:[\\\\/][^\\s]+\\.${IMG_EXT}|\\\\\\\\[^\\s]+\\.${IMG_EXT}|"[^"]+\\.${IMG_EXT}"|'[^']+\\.${IMG_EXT}')$`, 'i');
|
|
14
|
-
// Inline quoted: "path.png" or 'path.png' anywhere in text (at start, after space, or standalone)
|
|
15
|
-
// Captures: group 1 = preceding space (if any), group 2 = quoted path
|
|
16
|
-
const INLINE_QUOTED_PATH_PATTERN = new RegExp(`(^|\\s)("[^"]+\\.${IMG_EXT}"|'[^']+\\.${IMG_EXT}')(?=\\s|$)`, 'gi');
|
|
17
|
-
/** Strip surrounding quotes from a path */
|
|
18
|
-
function stripQuotes(p) {
|
|
19
|
-
if ((p.startsWith('"') && p.endsWith('"')) || (p.startsWith("'") && p.endsWith("'"))) {
|
|
20
|
-
return p.slice(1, -1);
|
|
21
|
-
}
|
|
22
|
-
return p;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Process a single image reference and update state
|
|
26
|
-
* Returns the replacement text for the match, or null if error
|
|
27
|
-
*/
|
|
28
|
-
async function processImageRef(fullMatch, pathStr, workingDir, state) {
|
|
29
|
-
const cleanPath = stripQuotes(pathStr);
|
|
30
|
-
const name = path.basename(cleanPath);
|
|
31
|
-
try {
|
|
32
|
-
const image = await processImageFromPath(cleanPath, workingDir);
|
|
33
|
-
const resolvedPath = image.originalPath;
|
|
34
|
-
// Handle duplicate - reuse existing placeholder
|
|
35
|
-
if (state.seenPaths.has(resolvedPath)) {
|
|
36
|
-
const existingIndex = state.pathToIndex.get(resolvedPath) ?? state.images.length + 1;
|
|
37
|
-
return `[Image #${existingIndex}: ${name}]`;
|
|
38
|
-
}
|
|
39
|
-
// New image - add to collection
|
|
40
|
-
state.seenPaths.add(resolvedPath);
|
|
41
|
-
state.images.push({ image, preview: `[Image: ${name}]`, originalReference: fullMatch });
|
|
42
|
-
state.pathToIndex.set(resolvedPath, state.images.length);
|
|
43
|
-
return `[Image #${state.images.length}: ${name}]`;
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
const msg = error instanceof ImageProcessingError ? error.message : 'Failed to process';
|
|
47
|
-
state.errors.push(`${fullMatch}: ${msg}`);
|
|
48
|
-
return fullMatch; // Keep original on error
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/** Parse user input for image references */
|
|
52
|
-
export async function parseImageInput(input, workingDir = process.cwd()) {
|
|
53
|
-
const state = {
|
|
54
|
-
images: [],
|
|
55
|
-
errors: [],
|
|
56
|
-
seenPaths: new Set(),
|
|
57
|
-
pathToIndex: new Map(),
|
|
58
|
-
};
|
|
59
|
-
let textContent = input;
|
|
60
|
-
// Reset lastIndex for global patterns to avoid state contamination between calls
|
|
61
|
-
AT_REF_PATTERN.lastIndex = 0;
|
|
62
|
-
INLINE_QUOTED_PATH_PATTERN.lastIndex = 0;
|
|
63
|
-
// Process @-prefixed image references
|
|
64
|
-
for (const [fullMatch, relativePath] of input.matchAll(AT_REF_PATTERN)) {
|
|
65
|
-
const replacement = await processImageRef(fullMatch, relativePath, workingDir, state);
|
|
66
|
-
textContent = textContent.split(fullMatch).join(replacement);
|
|
67
|
-
}
|
|
68
|
-
// Process inline quoted paths (e.g., '/path/image.png' or "/path/image.png")
|
|
69
|
-
// Pattern captures: [fullMatch, precedingSpace, quotedPath]
|
|
70
|
-
for (const [fullMatch, precedingSpace, quotedPath] of textContent.matchAll(INLINE_QUOTED_PATH_PATTERN)) {
|
|
71
|
-
const replacement = await processImageRef(quotedPath, quotedPath, workingDir, state);
|
|
72
|
-
// Preserve the preceding space when replacing
|
|
73
|
-
textContent = textContent.split(fullMatch).join(precedingSpace + replacement);
|
|
74
|
-
}
|
|
75
|
-
// Handle direct file path as entire input
|
|
76
|
-
const trimmed = input.trim();
|
|
77
|
-
if (!state.images.length && DIRECT_PATH_PATTERN.test(trimmed)) {
|
|
78
|
-
const cleanPath = stripQuotes(trimmed);
|
|
79
|
-
const name = path.basename(cleanPath);
|
|
80
|
-
try {
|
|
81
|
-
const image = await processImageFromPath(cleanPath, workingDir);
|
|
82
|
-
state.images.push({ image, preview: `[Image: ${name}]`, originalReference: trimmed });
|
|
83
|
-
textContent = `Please analyze this image: ${name}`;
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
const msg = error instanceof ImageProcessingError ? error.message : 'Failed to process image';
|
|
87
|
-
state.errors.push(`${trimmed}: ${msg}`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return { text: textContent.trim(), images: state.images, errors: state.errors, hasImages: state.images.length > 0 };
|
|
91
|
-
}
|
|
92
|
-
/** Check if input contains image references (quick check using main patterns) */
|
|
93
|
-
export function hasImageReferences(input) {
|
|
94
|
-
// Reset lastIndex for global patterns before testing
|
|
95
|
-
AT_REF_PATTERN.lastIndex = 0;
|
|
96
|
-
INLINE_QUOTED_PATH_PATTERN.lastIndex = 0;
|
|
97
|
-
return AT_REF_PATTERN.test(input) || DIRECT_PATH_PATTERN.test(input.trim()) || INLINE_QUOTED_PATH_PATTERN.test(input);
|
|
98
|
-
}
|
|
99
|
-
/** Build multimodal message content from parsed input */
|
|
100
|
-
export function buildMessageContent(parsed) {
|
|
101
|
-
const text = parsed.text.trim();
|
|
102
|
-
const parts = [];
|
|
103
|
-
if (text)
|
|
104
|
-
parts.push({ type: 'text', text });
|
|
105
|
-
for (const a of parsed.images) {
|
|
106
|
-
parts.push({ type: 'image_url', image_url: { url: a.image.dataUri } });
|
|
107
|
-
}
|
|
108
|
-
return parts.length ? parts : [{ type: 'text', text: 'Please analyze the provided content.' }];
|
|
109
|
-
}
|
|
110
|
-
/** Help text (static) */
|
|
111
|
-
const HELP_TEXT = `Image Input Methods:
|
|
112
|
-
@path/to/image.png - Reference image with @ prefix
|
|
113
|
-
@"path with spaces.png" - Quoted path for names with spaces
|
|
114
|
-
/absolute/path.png - Direct absolute path
|
|
115
|
-
"./path with spaces.png" - Quoted direct path
|
|
116
|
-
|
|
117
|
-
Supported formats: ${SUPPORTED_IMAGE_FORMATS.join(', ')}
|
|
118
|
-
Maximum size: ${formatBytes(MAX_IMAGE_SIZE_BYTES)}
|
|
119
|
-
|
|
120
|
-
Note: Images require glm-4.6v model (auto-switched)`;
|
|
121
|
-
/** Get help text for image input */
|
|
122
|
-
export function getImageHelpText() {
|
|
123
|
-
return HELP_TEXT;
|
|
124
|
-
}
|
|
125
|
-
/** Format image attachment for display in chat */
|
|
126
|
-
export function formatAttachmentForDisplay(attachment, index) {
|
|
127
|
-
return ` ${index}. ${attachment.preview} (${formatBytes(attachment.image.sizeBytes)}, ~${TOKENS_PER_IMAGE} tokens)`;
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=image-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-handler.js","sourceRoot":"","sources":["../../../src/ui/utils/image-handler.ts"],"names":[],"mappings":"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"}
|