@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,17 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
export function ModelSelection({ models, selectedIndex, isVisible, currentModel, }) {
|
|
4
|
-
if (!isVisible)
|
|
5
|
-
return null;
|
|
6
|
-
return (React.createElement(Box, { marginTop: 1, flexDirection: "column" },
|
|
7
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
8
|
-
React.createElement(Text, { color: "cyan" },
|
|
9
|
-
"Select AI Model (current: ",
|
|
10
|
-
currentModel,
|
|
11
|
-
"):")),
|
|
12
|
-
models.map((modelOption, index) => (React.createElement(Box, { key: index, paddingLeft: 1 },
|
|
13
|
-
React.createElement(Text, { color: index === selectedIndex ? "black" : "white", backgroundColor: index === selectedIndex ? "cyan" : undefined }, modelOption.model)))),
|
|
14
|
-
React.createElement(Box, { marginTop: 1 },
|
|
15
|
-
React.createElement(Text, { color: "gray", dimColor: true }, "\u2191\u2193 navigate \u2022 Enter select \u2022 Esc cancel"))));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=model-selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../../src/ui/components/model-selection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAahC,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,aAAa,EACb,SAAS,EACT,YAAY,GACQ;IACpB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,CACL,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;QACvC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAA4B,YAAY;qBAAU,CAChE;QACL,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,oBAAC,GAAG,IAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC7B,oBAAC,IAAI,IACH,KAAK,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAClD,eAAe,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAE5D,WAAW,CAAC,KAAK,CACb,CACH,CACP,CAAC;QACF,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,wEAEpB,CACH,CACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase Progress Component
|
|
3
|
-
*
|
|
4
|
-
* Displays the progress of multi-phase plan execution.
|
|
5
|
-
*/
|
|
6
|
-
import React from "react";
|
|
7
|
-
import { TaskPlan } from "../../planner/types.js";
|
|
8
|
-
interface PhaseProgressProps {
|
|
9
|
-
plan: TaskPlan;
|
|
10
|
-
showDetails?: boolean;
|
|
11
|
-
compact?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function PhaseProgress({ plan, showDetails, compact, }: PhaseProgressProps): React.JSX.Element;
|
|
14
|
-
interface PlanSummaryProps {
|
|
15
|
-
plan: TaskPlan;
|
|
16
|
-
onApprove?: () => void;
|
|
17
|
-
onReject?: () => void;
|
|
18
|
-
onModify?: () => void;
|
|
19
|
-
}
|
|
20
|
-
export declare function PlanSummary({ plan }: PlanSummaryProps): React.JSX.Element;
|
|
21
|
-
export default PhaseProgress;
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Phase Progress Component
|
|
3
|
-
*
|
|
4
|
-
* Displays the progress of multi-phase plan execution.
|
|
5
|
-
*/
|
|
6
|
-
import React from "react";
|
|
7
|
-
import { Box, Text } from "ink";
|
|
8
|
-
import { PhaseStatus, RiskLevel, } from "../../planner/types.js";
|
|
9
|
-
import { formatDuration } from "../utils/tool-grouper.js";
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Lookup Tables (O(1) access)
|
|
12
|
-
// ============================================================================
|
|
13
|
-
/** Phase status styles - combined icon and color for efficiency */
|
|
14
|
-
const PHASE_STATUS_STYLES = {
|
|
15
|
-
[PhaseStatus.COMPLETED]: { icon: "✓", color: "green" },
|
|
16
|
-
[PhaseStatus.EXECUTING]: { icon: "⏳", color: "yellow" },
|
|
17
|
-
[PhaseStatus.FAILED]: { icon: "✕", color: "red" },
|
|
18
|
-
[PhaseStatus.SKIPPED]: { icon: "⊘", color: "gray" },
|
|
19
|
-
[PhaseStatus.APPROVED]: { icon: "◉", color: "cyan" },
|
|
20
|
-
[PhaseStatus.QUEUED]: { icon: "◎", color: "blue" },
|
|
21
|
-
[PhaseStatus.CANCELLED]: { icon: "⊗", color: "red" },
|
|
22
|
-
[PhaseStatus.PENDING]: { icon: "○", color: "gray" },
|
|
23
|
-
};
|
|
24
|
-
const DEFAULT_PHASE_STYLE = { icon: "○", color: "gray" };
|
|
25
|
-
/** Risk level indicators */
|
|
26
|
-
const RISK_LEVEL_INDICATORS = {
|
|
27
|
-
[RiskLevel.HIGH]: { icon: "⚠", color: "red" },
|
|
28
|
-
[RiskLevel.MEDIUM]: { icon: "△", color: "yellow" },
|
|
29
|
-
[RiskLevel.LOW]: { icon: "", color: "gray" },
|
|
30
|
-
};
|
|
31
|
-
const DEFAULT_RISK_INDICATOR = { icon: "", color: "gray" };
|
|
32
|
-
// ============================================================================
|
|
33
|
-
// Helper Functions
|
|
34
|
-
// ============================================================================
|
|
35
|
-
function getStatusIcon(status) {
|
|
36
|
-
return (PHASE_STATUS_STYLES[status] ?? DEFAULT_PHASE_STYLE).icon;
|
|
37
|
-
}
|
|
38
|
-
function getStatusColor(status) {
|
|
39
|
-
return (PHASE_STATUS_STYLES[status] ?? DEFAULT_PHASE_STYLE).color;
|
|
40
|
-
}
|
|
41
|
-
function getRiskIndicator(riskLevel) {
|
|
42
|
-
return RISK_LEVEL_INDICATORS[riskLevel] ?? DEFAULT_RISK_INDICATOR;
|
|
43
|
-
}
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// Phase Item Component
|
|
46
|
-
// ============================================================================
|
|
47
|
-
function PhaseItem({ phase, isCurrent, showDetails = false }) {
|
|
48
|
-
const statusIcon = getStatusIcon(phase.status);
|
|
49
|
-
const statusColor = getStatusColor(phase.status);
|
|
50
|
-
const risk = getRiskIndicator(phase.riskLevel);
|
|
51
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
52
|
-
React.createElement(Box, null,
|
|
53
|
-
React.createElement(Text, { color: statusColor, bold: isCurrent }, statusIcon),
|
|
54
|
-
React.createElement(Text, { color: isCurrent ? "white" : "gray", bold: isCurrent },
|
|
55
|
-
" ",
|
|
56
|
-
phase.index + 1,
|
|
57
|
-
". ",
|
|
58
|
-
phase.name),
|
|
59
|
-
risk.icon && (React.createElement(Text, { color: risk.color },
|
|
60
|
-
" ",
|
|
61
|
-
risk.icon)),
|
|
62
|
-
phase.duration && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
63
|
-
" ",
|
|
64
|
-
"(",
|
|
65
|
-
formatDuration(phase.duration),
|
|
66
|
-
")"))),
|
|
67
|
-
showDetails && (React.createElement(Box, { flexDirection: "column", paddingLeft: 3 },
|
|
68
|
-
React.createElement(Text, { color: "gray", dimColor: true }, phase.description),
|
|
69
|
-
phase.objectives.length > 0 && (React.createElement(Box, { flexDirection: "column", marginTop: 0 },
|
|
70
|
-
phase.objectives.slice(0, 3).map((obj, i) => (React.createElement(Text, { key: i, color: "gray", dimColor: true },
|
|
71
|
-
"\u2022 ",
|
|
72
|
-
obj))),
|
|
73
|
-
phase.objectives.length > 3 && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
74
|
-
"...and ",
|
|
75
|
-
phase.objectives.length - 3,
|
|
76
|
-
" more")))),
|
|
77
|
-
phase.error && (React.createElement(Text, { color: "red" },
|
|
78
|
-
"Error: ",
|
|
79
|
-
phase.error))))));
|
|
80
|
-
}
|
|
81
|
-
function CompactProgress({ plan }) {
|
|
82
|
-
const total = plan.phases.length;
|
|
83
|
-
const completed = plan.phases.filter((p) => p.status === PhaseStatus.COMPLETED).length;
|
|
84
|
-
const failed = plan.phases.filter((p) => p.status === PhaseStatus.FAILED).length;
|
|
85
|
-
const currentIndex = plan.currentPhaseIndex;
|
|
86
|
-
// Build progress string
|
|
87
|
-
const progress = plan.phases.map((phase, i) => {
|
|
88
|
-
const icon = getStatusIcon(phase.status);
|
|
89
|
-
const color = getStatusColor(phase.status);
|
|
90
|
-
return { icon, color, isCurrent: i === currentIndex };
|
|
91
|
-
});
|
|
92
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
93
|
-
React.createElement(Box, null,
|
|
94
|
-
React.createElement(Text, { color: "cyan", bold: true },
|
|
95
|
-
"Phase ",
|
|
96
|
-
currentIndex + 1,
|
|
97
|
-
"/",
|
|
98
|
-
total),
|
|
99
|
-
currentIndex >= 0 && currentIndex < plan.phases.length && plan.phases[currentIndex] && (React.createElement(Text, { color: "white" },
|
|
100
|
-
": ",
|
|
101
|
-
plan.phases[currentIndex].name))),
|
|
102
|
-
React.createElement(Box, { marginTop: 0 }, progress.map((p, i) => (React.createElement(Text, { key: i, color: p.color, bold: p.isCurrent },
|
|
103
|
-
p.icon,
|
|
104
|
-
i < progress.length - 1 ? " → " : "")))),
|
|
105
|
-
React.createElement(Box, { marginTop: 0 },
|
|
106
|
-
React.createElement(Text, { color: "gray", dimColor: true },
|
|
107
|
-
completed,
|
|
108
|
-
" completed",
|
|
109
|
-
failed > 0 && React.createElement(Text, { color: "red" },
|
|
110
|
-
", ",
|
|
111
|
-
failed,
|
|
112
|
-
" failed")))));
|
|
113
|
-
}
|
|
114
|
-
// ============================================================================
|
|
115
|
-
// Main Phase Progress Component
|
|
116
|
-
// ============================================================================
|
|
117
|
-
export function PhaseProgress({ plan, showDetails = false, compact = false, }) {
|
|
118
|
-
if (compact) {
|
|
119
|
-
return React.createElement(CompactProgress, { plan: plan });
|
|
120
|
-
}
|
|
121
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
122
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
123
|
-
React.createElement(Text, { color: "cyan", bold: true }, "\uD83D\uDCCB Execution Plan"),
|
|
124
|
-
React.createElement(Text, { color: "gray" },
|
|
125
|
-
" ",
|
|
126
|
-
"(",
|
|
127
|
-
plan.phases.length,
|
|
128
|
-
" phases)")),
|
|
129
|
-
React.createElement(Box, { flexDirection: "column" }, plan.phases.map((phase) => (React.createElement(PhaseItem, { key: phase.id, phase: phase, isCurrent: phase.index === plan.currentPhaseIndex, showDetails: showDetails })))),
|
|
130
|
-
plan.estimatedDuration > 0 && (React.createElement(Box, { marginTop: 1 },
|
|
131
|
-
React.createElement(Text, { color: "gray", dimColor: true },
|
|
132
|
-
"Est. ",
|
|
133
|
-
formatDuration(plan.estimatedDuration)),
|
|
134
|
-
plan.actualDuration > 0 && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
135
|
-
" ",
|
|
136
|
-
"\u2022 Actual: ",
|
|
137
|
-
formatDuration(plan.actualDuration)))))));
|
|
138
|
-
}
|
|
139
|
-
export function PlanSummary({ plan }) {
|
|
140
|
-
const hasHighRisk = plan.phases.some((p) => p.riskLevel === RiskLevel.HIGH);
|
|
141
|
-
const parallelPhases = plan.phases.filter((p) => p.canRunInParallel).length;
|
|
142
|
-
return (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", paddingX: 2, paddingY: 1 },
|
|
143
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
144
|
-
React.createElement(Text, { color: "cyan", bold: true }, "\uD83D\uDCCB Execution Plan")),
|
|
145
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
146
|
-
React.createElement(Text, { color: "gray" }, "Request: "),
|
|
147
|
-
React.createElement(Text, { color: "white" },
|
|
148
|
-
plan.originalPrompt.slice(0, 60),
|
|
149
|
-
plan.originalPrompt.length > 60 ? "..." : "")),
|
|
150
|
-
React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
151
|
-
React.createElement(Text, { color: "yellow", bold: true }, "Phases:"),
|
|
152
|
-
plan.phases.map((phase, i) => {
|
|
153
|
-
const risk = getRiskIndicator(phase.riskLevel);
|
|
154
|
-
return (React.createElement(Box, { key: phase.id, paddingLeft: 2 },
|
|
155
|
-
React.createElement(Text, { color: "gray" },
|
|
156
|
-
i + 1,
|
|
157
|
-
".",
|
|
158
|
-
" "),
|
|
159
|
-
React.createElement(Text, { color: "white" }, phase.name),
|
|
160
|
-
risk.icon && (React.createElement(Text, { color: risk.color },
|
|
161
|
-
" ",
|
|
162
|
-
risk.icon)),
|
|
163
|
-
phase.requiresApproval && (React.createElement(Text, { color: "yellow" }, " (approval required)"))));
|
|
164
|
-
})),
|
|
165
|
-
React.createElement(Box, null,
|
|
166
|
-
React.createElement(Text, { color: "gray" },
|
|
167
|
-
"Est: ~",
|
|
168
|
-
formatDuration(plan.estimatedDuration)),
|
|
169
|
-
React.createElement(Text, { color: "gray" }, " \u2502 "),
|
|
170
|
-
React.createElement(Text, { color: "gray" },
|
|
171
|
-
"Phases: ",
|
|
172
|
-
plan.phases.length),
|
|
173
|
-
parallelPhases > 0 && (React.createElement(React.Fragment, null,
|
|
174
|
-
React.createElement(Text, { color: "gray" }, " \u2502 "),
|
|
175
|
-
React.createElement(Text, { color: "blue" },
|
|
176
|
-
"Parallel: ",
|
|
177
|
-
parallelPhases))),
|
|
178
|
-
hasHighRisk && (React.createElement(React.Fragment, null,
|
|
179
|
-
React.createElement(Text, { color: "gray" }, " \u2502 "),
|
|
180
|
-
React.createElement(Text, { color: "red" }, "\u26A0 High Risk")))),
|
|
181
|
-
React.createElement(Box, { marginTop: 1, borderStyle: "single", borderColor: "gray", paddingX: 1 },
|
|
182
|
-
React.createElement(Text, { color: "gray", dimColor: true }, "[Enter] Execute \u2502 [e] Edit \u2502 [s] Skip phase \u2502 [c] Cancel"))));
|
|
183
|
-
}
|
|
184
|
-
export default PhaseProgress;
|
|
185
|
-
//# sourceMappingURL=phase-progress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"phase-progress.js","sourceRoot":"","sources":["../../../src/ui/components/phase-progress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Question Dialog Component
|
|
3
|
-
*
|
|
4
|
-
* Displays questions from the AI and collects user responses.
|
|
5
|
-
* Supports single and multi-select options with custom input.
|
|
6
|
-
*/
|
|
7
|
-
import React from "react";
|
|
8
|
-
import type { Question } from "../../tools/ask-user.js";
|
|
9
|
-
interface QuestionDialogProps {
|
|
10
|
-
question: Question;
|
|
11
|
-
questionNumber: number;
|
|
12
|
-
totalQuestions: number;
|
|
13
|
-
onSubmit: (answers: string[], customInput?: string) => void;
|
|
14
|
-
onCancel: () => void;
|
|
15
|
-
}
|
|
16
|
-
export default function QuestionDialog({ question, questionNumber, totalQuestions, onSubmit, onCancel, }: QuestionDialogProps): React.JSX.Element;
|
|
17
|
-
export {};
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Question Dialog Component
|
|
3
|
-
*
|
|
4
|
-
* Displays questions from the AI and collects user responses.
|
|
5
|
-
* Supports single and multi-select options with custom input.
|
|
6
|
-
*/
|
|
7
|
-
import React, { useState, useCallback } from "react";
|
|
8
|
-
import { Box, Text, useInput } from "ink";
|
|
9
|
-
export default function QuestionDialog({ question, questionNumber, totalQuestions, onSubmit, onCancel, }) {
|
|
10
|
-
const [selectedIndices, setSelectedIndices] = useState(new Set([0]));
|
|
11
|
-
const [cursorIndex, setCursorIndex] = useState(0);
|
|
12
|
-
const [showOtherInput, setShowOtherInput] = useState(false);
|
|
13
|
-
const [otherInput, setOtherInput] = useState("");
|
|
14
|
-
// Options including "Other" for custom input
|
|
15
|
-
const allOptions = [...question.options, { label: "Other (custom input)", description: "Enter your own response" }];
|
|
16
|
-
const otherIndex = allOptions.length - 1;
|
|
17
|
-
const handleToggleSelection = useCallback((index) => {
|
|
18
|
-
if (question.multiSelect) {
|
|
19
|
-
// Multi-select: toggle the selection
|
|
20
|
-
setSelectedIndices((prev) => {
|
|
21
|
-
const newSet = new Set(prev);
|
|
22
|
-
if (newSet.has(index)) {
|
|
23
|
-
newSet.delete(index);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
newSet.add(index);
|
|
27
|
-
}
|
|
28
|
-
return newSet;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
// Single-select: replace selection
|
|
33
|
-
setSelectedIndices(new Set([index]));
|
|
34
|
-
}
|
|
35
|
-
// Show other input if "Other" is selected
|
|
36
|
-
if (index === otherIndex) {
|
|
37
|
-
setShowOtherInput(true);
|
|
38
|
-
}
|
|
39
|
-
else if (!question.multiSelect) {
|
|
40
|
-
setShowOtherInput(false);
|
|
41
|
-
}
|
|
42
|
-
}, [question.multiSelect, otherIndex]);
|
|
43
|
-
const handleSubmit = useCallback(() => {
|
|
44
|
-
if (showOtherInput && selectedIndices.has(otherIndex)) {
|
|
45
|
-
// Submit with custom input
|
|
46
|
-
if (otherInput.trim()) {
|
|
47
|
-
const regularAnswers = Array.from(selectedIndices)
|
|
48
|
-
.filter((i) => i !== otherIndex)
|
|
49
|
-
.map((i) => allOptions[i].label);
|
|
50
|
-
onSubmit(regularAnswers, otherInput.trim());
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// Submit selected options
|
|
55
|
-
const answers = Array.from(selectedIndices).map((i) => allOptions[i].label);
|
|
56
|
-
if (answers.length > 0) {
|
|
57
|
-
onSubmit(answers);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}, [selectedIndices, showOtherInput, otherIndex, otherInput, allOptions, onSubmit]);
|
|
61
|
-
useInput((input, key) => {
|
|
62
|
-
// Handle "Other" input mode
|
|
63
|
-
if (showOtherInput && selectedIndices.has(otherIndex)) {
|
|
64
|
-
if (key.return) {
|
|
65
|
-
handleSubmit();
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (key.escape) {
|
|
69
|
-
setShowOtherInput(false);
|
|
70
|
-
setSelectedIndices(new Set([0]));
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
if (key.backspace || key.delete) {
|
|
74
|
-
setOtherInput((prev) => prev.slice(0, -1));
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
if (input && !key.ctrl && !key.meta) {
|
|
78
|
-
setOtherInput((prev) => prev + input);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
// Quick number key selection (1-9)
|
|
84
|
-
if (input >= "1" && input <= "9") {
|
|
85
|
-
const optionIndex = parseInt(input, 10) - 1;
|
|
86
|
-
if (optionIndex < allOptions.length) {
|
|
87
|
-
handleToggleSelection(optionIndex);
|
|
88
|
-
if (!question.multiSelect && optionIndex !== otherIndex) {
|
|
89
|
-
// Auto-submit on single select (except for "Other")
|
|
90
|
-
const answers = [allOptions[optionIndex].label];
|
|
91
|
-
onSubmit(answers);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
// Navigation
|
|
97
|
-
if (key.upArrow || (key.shift && key.tab)) {
|
|
98
|
-
setCursorIndex((prev) => (prev > 0 ? prev - 1 : allOptions.length - 1));
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
if (key.downArrow || key.tab) {
|
|
102
|
-
setCursorIndex((prev) => (prev + 1) % allOptions.length);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
// Space to toggle selection (for multi-select)
|
|
106
|
-
if (input === " ") {
|
|
107
|
-
handleToggleSelection(cursorIndex);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
// Enter to select current and submit (for single-select) or submit all (for multi-select)
|
|
111
|
-
if (key.return) {
|
|
112
|
-
if (question.multiSelect) {
|
|
113
|
-
handleSubmit();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
handleToggleSelection(cursorIndex);
|
|
117
|
-
if (cursorIndex === otherIndex) {
|
|
118
|
-
// Show other input
|
|
119
|
-
setShowOtherInput(true);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
// Submit immediately for single-select
|
|
123
|
-
const answers = [allOptions[cursorIndex].label];
|
|
124
|
-
onSubmit(answers);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
// Escape to cancel
|
|
130
|
-
if (key.escape) {
|
|
131
|
-
onCancel();
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
136
|
-
React.createElement(Box, { marginTop: 1 },
|
|
137
|
-
React.createElement(Box, null,
|
|
138
|
-
React.createElement(Text, { color: "magenta" }, "?"),
|
|
139
|
-
React.createElement(Text, { color: "white", bold: true },
|
|
140
|
-
" ",
|
|
141
|
-
question.header || "Question"),
|
|
142
|
-
totalQuestions > 1 && (React.createElement(Text, { color: "gray" },
|
|
143
|
-
" ",
|
|
144
|
-
"(",
|
|
145
|
-
questionNumber,
|
|
146
|
-
"/",
|
|
147
|
-
totalQuestions,
|
|
148
|
-
")")))),
|
|
149
|
-
React.createElement(Box, { marginLeft: 2, marginTop: 1, marginBottom: 1 },
|
|
150
|
-
React.createElement(Text, null, question.question)),
|
|
151
|
-
React.createElement(Box, { flexDirection: "column", marginLeft: 2 }, allOptions.map((option, index) => {
|
|
152
|
-
const isSelected = selectedIndices.has(index);
|
|
153
|
-
const isCursor = cursorIndex === index;
|
|
154
|
-
return (React.createElement(Box, { key: index, paddingLeft: 1 },
|
|
155
|
-
React.createElement(Text, { color: isCursor ? "black" : isSelected ? "cyan" : "white", backgroundColor: isCursor ? "cyan" : undefined },
|
|
156
|
-
question.multiSelect ? (React.createElement(Text, null,
|
|
157
|
-
isSelected ? "[x]" : "[ ]",
|
|
158
|
-
" ")) : (React.createElement(Text, null,
|
|
159
|
-
isSelected ? "(*)" : "( )",
|
|
160
|
-
" ")),
|
|
161
|
-
React.createElement(Text, null,
|
|
162
|
-
index + 1,
|
|
163
|
-
". ",
|
|
164
|
-
option.label)),
|
|
165
|
-
option.description && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
166
|
-
" ",
|
|
167
|
-
"- ",
|
|
168
|
-
option.description))));
|
|
169
|
-
})),
|
|
170
|
-
showOtherInput && selectedIndices.has(otherIndex) && (React.createElement(Box, { marginLeft: 2, marginTop: 1, flexDirection: "column" },
|
|
171
|
-
React.createElement(Text, { color: "yellow" }, "Enter your response:"),
|
|
172
|
-
React.createElement(Box, { marginTop: 1 },
|
|
173
|
-
React.createElement(Text, { color: "cyan" }, "> "),
|
|
174
|
-
React.createElement(Text, null, otherInput),
|
|
175
|
-
React.createElement(Text, { color: "cyan" }, "|")))),
|
|
176
|
-
React.createElement(Box, { marginTop: 1, marginLeft: 2 },
|
|
177
|
-
React.createElement(Text, { color: "gray", dimColor: true }, question.multiSelect
|
|
178
|
-
? "Space add/remove | Enter submit | 1-9 quick toggle | Esc cancel"
|
|
179
|
-
: "Enter/1-9 select | Esc cancel"))));
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=question-dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"question-dialog.js","sourceRoot":"","sources":["../../../src/ui/components/question-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Quick Actions Menu Component (Ctrl+K style command palette)
|
|
3
|
-
* Provides fast access to common commands
|
|
4
|
-
*/
|
|
5
|
-
import React from "react";
|
|
6
|
-
interface QuickActionsProps {
|
|
7
|
-
isVisible: boolean;
|
|
8
|
-
onSelect: (command: string) => void;
|
|
9
|
-
onClose: () => void;
|
|
10
|
-
}
|
|
11
|
-
export declare function QuickActions({ isVisible, onSelect, onClose }: QuickActionsProps): React.JSX.Element | null;
|
|
12
|
-
export default QuickActions;
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Quick Actions Menu Component (Ctrl+K style command palette)
|
|
3
|
-
* Provides fast access to common commands
|
|
4
|
-
*/
|
|
5
|
-
import React, { useState, useEffect, useMemo } from "react";
|
|
6
|
-
import { Box, Text, useInput } from "ink";
|
|
7
|
-
const QUICK_ACTIONS = [
|
|
8
|
-
// Navigation
|
|
9
|
-
{ command: "/clear", label: "Clear", description: "Clear conversation history", category: "navigation" },
|
|
10
|
-
{ command: "/continue", label: "Continue", description: "Resume incomplete response", category: "navigation" },
|
|
11
|
-
{ command: "/exit", label: "Exit", description: "Exit ax-cli", category: "navigation" },
|
|
12
|
-
{ command: "jump:latest", label: "Jump to Latest", description: "Scroll to most recent messages", category: "navigation" },
|
|
13
|
-
// Settings
|
|
14
|
-
{ command: "/init", label: "Init", description: "Initialize project context (CUSTOM.md)", category: "settings" },
|
|
15
|
-
{ command: "/models", label: "Models", description: "List available models", category: "settings" },
|
|
16
|
-
{ command: "/setup", label: "Setup", description: "Configure API keys and settings", category: "settings" },
|
|
17
|
-
{ command: "toggle:verbosity", label: "Toggle Verbosity", description: "Cycle Quiet → Concise → Verbose", category: "settings", shortcut: "^O" },
|
|
18
|
-
{ command: "toggle:autoedit", label: "Toggle Auto-edit", description: "Enable/disable auto-approve edits", category: "settings", shortcut: "⇧⇥" },
|
|
19
|
-
{ command: "toggle:thinking", label: "Toggle Thinking Mode", description: "Enable/disable reasoning mode (empty input)", category: "settings", shortcut: "Tab" },
|
|
20
|
-
{ command: "toggle:background", label: "Toggle Background Mode", description: "Move next bash to background / toggle", category: "settings", shortcut: "^B" },
|
|
21
|
-
// Tools
|
|
22
|
-
{ command: "/context", label: "Context", description: "Show context window breakdown", category: "tools" },
|
|
23
|
-
{ command: "/tasks", label: "Tasks", description: "List background tasks", category: "tools" },
|
|
24
|
-
{ command: "/usage", label: "Usage", description: "Show API usage statistics", category: "tools" },
|
|
25
|
-
{ command: "/mcp list", label: "MCP List", description: "List connected MCP servers", category: "tools" },
|
|
26
|
-
{ command: "/commit-and-push", label: "Commit", description: "AI commit & push to remote", category: "tools" },
|
|
27
|
-
{ command: "/rewind", label: "Rewind", description: "Rewind to previous checkpoint", category: "tools" },
|
|
28
|
-
{ command: "/checkpoints", label: "Checkpoints", description: "Show checkpoint statistics", category: "tools" },
|
|
29
|
-
{ command: "/memory", label: "Memory", description: "Show project memory status", category: "tools" },
|
|
30
|
-
{ command: "/memory warmup", label: "Memory Warmup", description: "Generate project memory", category: "tools" },
|
|
31
|
-
// Help
|
|
32
|
-
{ command: "/help", label: "Help", description: "Show all available commands", category: "help" },
|
|
33
|
-
{ command: "/shortcuts", label: "Shortcuts", description: "Show keyboard shortcuts", category: "help" },
|
|
34
|
-
{ command: "show:keyboard-shortcuts", label: "Keyboard Help", description: "Open keyboard shortcuts overlay", category: "help", shortcut: "^H" },
|
|
35
|
-
];
|
|
36
|
-
export function QuickActions({ isVisible, onSelect, onClose }) {
|
|
37
|
-
const [searchQuery, setSearchQuery] = useState("");
|
|
38
|
-
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
39
|
-
// Fuzzy match scoring function
|
|
40
|
-
const fuzzyScore = (text, query) => {
|
|
41
|
-
const textLower = text.toLowerCase();
|
|
42
|
-
const queryLower = query.toLowerCase();
|
|
43
|
-
// Exact match gets highest score
|
|
44
|
-
if (textLower === queryLower)
|
|
45
|
-
return 1000;
|
|
46
|
-
// Starts with gets high score
|
|
47
|
-
if (textLower.startsWith(queryLower))
|
|
48
|
-
return 500;
|
|
49
|
-
// Contains as substring gets medium score
|
|
50
|
-
if (textLower.includes(queryLower))
|
|
51
|
-
return 200;
|
|
52
|
-
// Fuzzy match: check if all query chars appear in order
|
|
53
|
-
let textIdx = 0;
|
|
54
|
-
let matchCount = 0;
|
|
55
|
-
for (const char of queryLower) {
|
|
56
|
-
const foundIdx = textLower.indexOf(char, textIdx);
|
|
57
|
-
if (foundIdx === -1)
|
|
58
|
-
return 0; // No match
|
|
59
|
-
matchCount++;
|
|
60
|
-
textIdx = foundIdx + 1;
|
|
61
|
-
}
|
|
62
|
-
// Score based on how many chars matched
|
|
63
|
-
return matchCount * 10;
|
|
64
|
-
};
|
|
65
|
-
// Filter and sort actions based on fuzzy search query
|
|
66
|
-
const filteredActions = useMemo(() => {
|
|
67
|
-
if (!searchQuery)
|
|
68
|
-
return QUICK_ACTIONS;
|
|
69
|
-
const query = searchQuery.toLowerCase();
|
|
70
|
-
// Score each action and filter out non-matches
|
|
71
|
-
const scored = QUICK_ACTIONS.map((action) => {
|
|
72
|
-
const commandScore = fuzzyScore(action.command, query);
|
|
73
|
-
const labelScore = fuzzyScore(action.label, query);
|
|
74
|
-
const descScore = fuzzyScore(action.description, query);
|
|
75
|
-
const maxScore = Math.max(commandScore, labelScore, descScore);
|
|
76
|
-
return { action, score: maxScore };
|
|
77
|
-
})
|
|
78
|
-
.filter(({ score }) => score > 0)
|
|
79
|
-
.sort((a, b) => b.score - a.score);
|
|
80
|
-
return scored.map(({ action }) => action);
|
|
81
|
-
}, [searchQuery]);
|
|
82
|
-
// Reset selection when filtered list changes
|
|
83
|
-
useEffect(() => {
|
|
84
|
-
setSelectedIndex(0);
|
|
85
|
-
}, [filteredActions]);
|
|
86
|
-
// Reset state when menu opens
|
|
87
|
-
useEffect(() => {
|
|
88
|
-
if (isVisible) {
|
|
89
|
-
setSearchQuery("");
|
|
90
|
-
setSelectedIndex(0);
|
|
91
|
-
}
|
|
92
|
-
}, [isVisible]);
|
|
93
|
-
useInput((input, key) => {
|
|
94
|
-
if (!isVisible)
|
|
95
|
-
return;
|
|
96
|
-
if (key.escape) {
|
|
97
|
-
onClose();
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (key.return) {
|
|
101
|
-
// Bounds check to prevent crash if selectedIndex is stale
|
|
102
|
-
const safeIndex = Math.min(selectedIndex, filteredActions.length - 1);
|
|
103
|
-
if (filteredActions.length > 0 && safeIndex >= 0) {
|
|
104
|
-
onSelect(filteredActions[safeIndex].command);
|
|
105
|
-
}
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
// Navigation: Arrow keys or vim-style j/k
|
|
109
|
-
if (key.upArrow || (input === 'k' && !searchQuery)) {
|
|
110
|
-
setSelectedIndex((prev) => prev > 0 ? prev - 1 : filteredActions.length - 1);
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
if (key.downArrow || (input === 'j' && !searchQuery)) {
|
|
114
|
-
setSelectedIndex((prev) => prev < filteredActions.length - 1 ? prev + 1 : 0);
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
if (key.backspace || key.delete) {
|
|
118
|
-
setSearchQuery((prev) => prev.slice(0, -1));
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
// Add character to search
|
|
122
|
-
if (input && !key.ctrl && !key.meta) {
|
|
123
|
-
setSearchQuery((prev) => prev + input);
|
|
124
|
-
}
|
|
125
|
-
}, { isActive: isVisible });
|
|
126
|
-
// BUG FIX: Move useMemo before early return to comply with React's Rules of Hooks.
|
|
127
|
-
// Hooks must be called in the same order on every render.
|
|
128
|
-
const { groupedActions, actionIndices } = useMemo(() => {
|
|
129
|
-
const groups = {};
|
|
130
|
-
const indices = new Map();
|
|
131
|
-
let idx = 0;
|
|
132
|
-
filteredActions.forEach((action) => {
|
|
133
|
-
if (!groups[action.category]) {
|
|
134
|
-
groups[action.category] = [];
|
|
135
|
-
}
|
|
136
|
-
groups[action.category].push(action);
|
|
137
|
-
indices.set(action.command, idx++);
|
|
138
|
-
});
|
|
139
|
-
return { groupedActions: groups, actionIndices: indices };
|
|
140
|
-
}, [filteredActions]);
|
|
141
|
-
if (!isVisible)
|
|
142
|
-
return null;
|
|
143
|
-
return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, marginTop: 1 },
|
|
144
|
-
React.createElement(Box, { marginBottom: 1 },
|
|
145
|
-
React.createElement(Text, { color: "cyan", bold: true }, "\u2318 Quick Actions"),
|
|
146
|
-
React.createElement(Text, { color: "gray" }, " (type to search)")),
|
|
147
|
-
React.createElement(Box, { borderStyle: "single", borderColor: "gray", paddingX: 1, marginBottom: 1 },
|
|
148
|
-
React.createElement(Text, { color: "cyan" }, "\u276F "),
|
|
149
|
-
React.createElement(Text, null,
|
|
150
|
-
searchQuery,
|
|
151
|
-
React.createElement(Text, { backgroundColor: "white", color: "black" }, " ")),
|
|
152
|
-
!searchQuery && (React.createElement(Text, { color: "gray", dimColor: true }, "Search commands..."))),
|
|
153
|
-
filteredActions.length === 0 ? (React.createElement(Box, null,
|
|
154
|
-
React.createElement(Text, { color: "gray" }, "No matching commands found"))) : (Object.entries(groupedActions).map(([category, actions]) => (React.createElement(Box, { key: category, flexDirection: "column", marginBottom: 1 },
|
|
155
|
-
React.createElement(Box, null,
|
|
156
|
-
React.createElement(Text, { color: "gray", dimColor: true, bold: true }, category.toUpperCase())),
|
|
157
|
-
actions.map((action) => {
|
|
158
|
-
const currentIndex = actionIndices.get(action.command) ?? -1;
|
|
159
|
-
const isSelected = currentIndex === selectedIndex;
|
|
160
|
-
return (React.createElement(Box, { key: action.command, paddingLeft: 1 },
|
|
161
|
-
React.createElement(Text, { color: isSelected ? "black" : "cyan", backgroundColor: isSelected ? "cyan" : undefined }, action.command.padEnd(24)),
|
|
162
|
-
React.createElement(Text, { color: isSelected ? "black" : "gray", backgroundColor: isSelected ? "cyan" : undefined },
|
|
163
|
-
" ",
|
|
164
|
-
action.description,
|
|
165
|
-
action.shortcut && ` (${action.shortcut})`)));
|
|
166
|
-
}))))),
|
|
167
|
-
React.createElement(Box, { marginTop: 1 },
|
|
168
|
-
React.createElement(Text, { color: "gray", dimColor: true }, "\u2191\u2193 or j/k navigate \u2022 Enter select \u2022 Esc close"))));
|
|
169
|
-
}
|
|
170
|
-
export default QuickActions;
|
|
171
|
-
//# sourceMappingURL=quick-actions.js.map
|