@polka-codes/cli 0.10.23 → 0.10.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.cjs +143854 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9201 -9195
- package/dist/program.d.ts +3 -0
- package/dist/program.d.ts.map +1 -0
- package/package.json +6 -7
- package/cli.mjs +0 -2
- package/dist/ApiProviderConfig.js +0 -57
- package/dist/ApiProviderConfig.js.map +0 -1
- package/dist/ApiProviderConfig.test.js +0 -278
- package/dist/ApiProviderConfig.test.js.map +0 -1
- package/dist/agent/advanced-discovery.js +0 -604
- package/dist/agent/advanced-discovery.js.map +0 -1
- package/dist/agent/config.js +0 -139
- package/dist/agent/config.js.map +0 -1
- package/dist/agent/config.test.js +0 -140
- package/dist/agent/config.test.js.map +0 -1
- package/dist/agent/constants.js +0 -172
- package/dist/agent/constants.js.map +0 -1
- package/dist/agent/constants.test.js +0 -132
- package/dist/agent/constants.test.js.map +0 -1
- package/dist/agent/debug-logger.js +0 -281
- package/dist/agent/debug-logger.js.map +0 -1
- package/dist/agent/debug-logger.test.js +0 -294
- package/dist/agent/debug-logger.test.js.map +0 -1
- package/dist/agent/error-handling.js +0 -114
- package/dist/agent/error-handling.js.map +0 -1
- package/dist/agent/error-handling.test.js +0 -191
- package/dist/agent/error-handling.test.js.map +0 -1
- package/dist/agent/errors.js +0 -301
- package/dist/agent/errors.js.map +0 -1
- package/dist/agent/executor.js +0 -206
- package/dist/agent/executor.js.map +0 -1
- package/dist/agent/executor.test.js +0 -228
- package/dist/agent/executor.test.js.map +0 -1
- package/dist/agent/goal-decomposer.js +0 -281
- package/dist/agent/goal-decomposer.js.map +0 -1
- package/dist/agent/goal-decomposer.test.js +0 -225
- package/dist/agent/goal-decomposer.test.js.map +0 -1
- package/dist/agent/health-monitor.js +0 -89
- package/dist/agent/health-monitor.js.map +0 -1
- package/dist/agent/improvement-loop.js +0 -177
- package/dist/agent/improvement-loop.js.map +0 -1
- package/dist/agent/index.js +0 -38
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/metrics.js +0 -158
- package/dist/agent/metrics.js.map +0 -1
- package/dist/agent/metrics.test.js +0 -311
- package/dist/agent/metrics.test.js.map +0 -1
- package/dist/agent/orchestrator.js +0 -438
- package/dist/agent/orchestrator.js.map +0 -1
- package/dist/agent/planner.js +0 -199
- package/dist/agent/planner.js.map +0 -1
- package/dist/agent/planner.test.js +0 -135
- package/dist/agent/planner.test.js.map +0 -1
- package/dist/agent/progress.js +0 -298
- package/dist/agent/progress.js.map +0 -1
- package/dist/agent/progress.test.js +0 -255
- package/dist/agent/progress.test.js.map +0 -1
- package/dist/agent/resource-monitor.js +0 -114
- package/dist/agent/resource-monitor.js.map +0 -1
- package/dist/agent/safety/approval.js +0 -178
- package/dist/agent/safety/approval.js.map +0 -1
- package/dist/agent/safety/approval.test.js +0 -142
- package/dist/agent/safety/approval.test.js.map +0 -1
- package/dist/agent/safety/checks.js +0 -152
- package/dist/agent/safety/checks.js.map +0 -1
- package/dist/agent/safety/checks.test.js +0 -89
- package/dist/agent/safety/checks.test.js.map +0 -1
- package/dist/agent/safety/interrupt.js +0 -92
- package/dist/agent/safety/interrupt.js.map +0 -1
- package/dist/agent/safety/interrupt.test.js +0 -53
- package/dist/agent/safety/interrupt.test.js.map +0 -1
- package/dist/agent/session.js +0 -117
- package/dist/agent/session.js.map +0 -1
- package/dist/agent/session.test.js +0 -213
- package/dist/agent/session.test.js.map +0 -1
- package/dist/agent/state-manager.js +0 -287
- package/dist/agent/state-manager.js.map +0 -1
- package/dist/agent/task-discovery.js +0 -433
- package/dist/agent/task-discovery.js.map +0 -1
- package/dist/agent/task-discovery.test.js +0 -40
- package/dist/agent/task-discovery.test.js.map +0 -1
- package/dist/agent/task-history.js +0 -128
- package/dist/agent/task-history.js.map +0 -1
- package/dist/agent/task-prioritizer.js +0 -286
- package/dist/agent/task-prioritizer.js.map +0 -1
- package/dist/agent/test-fixtures.js +0 -112
- package/dist/agent/test-fixtures.js.map +0 -1
- package/dist/agent/types.js +0 -15
- package/dist/agent/types.js.map +0 -1
- package/dist/agent/workflow-adapter.js +0 -219
- package/dist/agent/workflow-adapter.js.map +0 -1
- package/dist/agent/workflow-adapter.test.js +0 -11
- package/dist/agent/workflow-adapter.test.js.map +0 -1
- package/dist/agent/working-dir-discovery.js +0 -54
- package/dist/agent/working-dir-discovery.js.map +0 -1
- package/dist/agent/working-space.js +0 -484
- package/dist/agent/working-space.js.map +0 -1
- package/dist/agent/working-space.test.js +0 -436
- package/dist/agent/working-space.test.js.map +0 -1
- package/dist/api.js +0 -279
- package/dist/api.js.map +0 -1
- package/dist/builtin-commands.js +0 -20
- package/dist/builtin-commands.js.map +0 -1
- package/dist/commandSummarizer.js +0 -96
- package/dist/commandSummarizer.js.map +0 -1
- package/dist/commands/__tests__/command-detection.integration.test.js +0 -238
- package/dist/commands/__tests__/command-detection.integration.test.js.map +0 -1
- package/dist/commands/__tests__/script-generator.integration.test.js +0 -271
- package/dist/commands/__tests__/script-generator.integration.test.js.map +0 -1
- package/dist/commands/agent.js +0 -218
- package/dist/commands/agent.js.map +0 -1
- package/dist/commands/code.js +0 -102
- package/dist/commands/code.js.map +0 -1
- package/dist/commands/command.constants.js +0 -13
- package/dist/commands/command.constants.js.map +0 -1
- package/dist/commands/commit.js +0 -17
- package/dist/commands/commit.js.map +0 -1
- package/dist/commands/fix.js +0 -17
- package/dist/commands/fix.js.map +0 -1
- package/dist/commands/init.js +0 -501
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-server.js +0 -122
- package/dist/commands/mcp-server.js.map +0 -1
- package/dist/commands/memory.js +0 -410
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/memory.test.js +0 -453
- package/dist/commands/memory.test.js.map +0 -1
- package/dist/commands/meta.js +0 -142
- package/dist/commands/meta.js.map +0 -1
- package/dist/commands/plan.js +0 -39
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/pr.js +0 -14
- package/dist/commands/pr.js.map +0 -1
- package/dist/commands/review-json.test.js +0 -33
- package/dist/commands/review-json.test.js.map +0 -1
- package/dist/commands/review.js +0 -137
- package/dist/commands/review.js.map +0 -1
- package/dist/commands/review.usage.test.js +0 -41
- package/dist/commands/review.usage.test.js.map +0 -1
- package/dist/commands/run.js +0 -107
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/skills.js +0 -175
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/task.js +0 -34
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/workflow.js +0 -117
- package/dist/commands/workflow.js.map +0 -1
- package/dist/configPrompt.js +0 -39
- package/dist/configPrompt.js.map +0 -1
- package/dist/env.js +0 -22
- package/dist/env.js.map +0 -1
- package/dist/errors.js +0 -132
- package/dist/errors.js.map +0 -1
- package/dist/errors.test.js +0 -21
- package/dist/errors.test.js.map +0 -1
- package/dist/file-attachments.js +0 -77
- package/dist/file-attachments.js.map +0 -1
- package/dist/file-attachments.test.js +0 -214
- package/dist/file-attachments.test.js.map +0 -1
- package/dist/getModel.js +0 -229
- package/dist/getModel.js.map +0 -1
- package/dist/getModel.test.js +0 -67
- package/dist/getModel.test.js.map +0 -1
- package/dist/getProviderOptions.js +0 -58
- package/dist/getProviderOptions.js.map +0 -1
- package/dist/git-operations.js +0 -363
- package/dist/git-operations.js.map +0 -1
- package/dist/git-operations.test.js +0 -81
- package/dist/git-operations.test.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -41
- package/dist/logger.js.map +0 -1
- package/dist/mcp/client.js +0 -11
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/error-scenarios.test.js +0 -206
- package/dist/mcp/error-scenarios.test.js.map +0 -1
- package/dist/mcp/errors.js +0 -63
- package/dist/mcp/errors.js.map +0 -1
- package/dist/mcp/index.js +0 -9
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/manager.js +0 -231
- package/dist/mcp/manager.js.map +0 -1
- package/dist/mcp/manager.test.js +0 -40
- package/dist/mcp/manager.test.js.map +0 -1
- package/dist/mcp/sdk-client.js +0 -166
- package/dist/mcp/sdk-client.js.map +0 -1
- package/dist/mcp/shared-types.js +0 -3
- package/dist/mcp/shared-types.js.map +0 -1
- package/dist/mcp/tools-integration.test.js +0 -198
- package/dist/mcp/tools-integration.test.js.map +0 -1
- package/dist/mcp/tools.js +0 -60
- package/dist/mcp/tools.js.map +0 -1
- package/dist/mcp/transport.js +0 -257
- package/dist/mcp/transport.js.map +0 -1
- package/dist/mcp/types.js +0 -3
- package/dist/mcp/types.js.map +0 -1
- package/dist/mcp-server/index.js +0 -5
- package/dist/mcp-server/index.js.map +0 -1
- package/dist/mcp-server/plan-formatting.test.js +0 -74
- package/dist/mcp-server/plan-formatting.test.js.map +0 -1
- package/dist/mcp-server/sdk-server.js +0 -102
- package/dist/mcp-server/sdk-server.js.map +0 -1
- package/dist/mcp-server/sdk-server.test.js +0 -363
- package/dist/mcp-server/sdk-server.test.js.map +0 -1
- package/dist/mcp-server/tools.js +0 -785
- package/dist/mcp-server/tools.js.map +0 -1
- package/dist/mcp-server/types.js +0 -3
- package/dist/mcp-server/types.js.map +0 -1
- package/dist/options.js +0 -85
- package/dist/options.js.map +0 -1
- package/dist/options.test.js +0 -177
- package/dist/options.test.js.map +0 -1
- package/dist/prices.js +0 -61
- package/dist/prices.js.map +0 -1
- package/dist/prices.test.js +0 -148
- package/dist/prices.test.js.map +0 -1
- package/dist/runWorkflow.js +0 -313
- package/dist/runWorkflow.js.map +0 -1
- package/dist/script/__tests__/execution.integration.test.js +0 -274
- package/dist/script/__tests__/execution.integration.test.js.map +0 -1
- package/dist/script/__tests__/runner.test.js +0 -176
- package/dist/script/__tests__/runner.test.js.map +0 -1
- package/dist/script/__tests__/validator.test.js +0 -180
- package/dist/script/__tests__/validator.test.js.map +0 -1
- package/dist/script/executor.js +0 -127
- package/dist/script/executor.js.map +0 -1
- package/dist/script/index.js +0 -4
- package/dist/script/index.js.map +0 -1
- package/dist/script/runner.js +0 -258
- package/dist/script/runner.js.map +0 -1
- package/dist/skillIntegration.js +0 -46
- package/dist/skillIntegration.js.map +0 -1
- package/dist/skillIntegration.test.js +0 -128
- package/dist/skillIntegration.test.js.map +0 -1
- package/dist/test/utils.js +0 -200
- package/dist/test/utils.js.map +0 -1
- package/dist/test/workflow-fixtures.js +0 -120
- package/dist/test/workflow-fixtures.js.map +0 -1
- package/dist/tool-implementations.js +0 -521
- package/dist/tool-implementations.js.map +0 -1
- package/dist/tool-implementations.skill-tools.test.js +0 -106
- package/dist/tool-implementations.skill-tools.test.js.map +0 -1
- package/dist/tools/getTodoItem.js +0 -33
- package/dist/tools/getTodoItem.js.map +0 -1
- package/dist/tools/gitDiff.js +0 -108
- package/dist/tools/gitDiff.js.map +0 -1
- package/dist/tools/index.js +0 -8
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/listMemoryTopics.js +0 -24
- package/dist/tools/listMemoryTopics.js.map +0 -1
- package/dist/tools/listTodoItems.js +0 -35
- package/dist/tools/listTodoItems.js.map +0 -1
- package/dist/tools/listTodoItems.test.js +0 -89
- package/dist/tools/listTodoItems.test.js.map +0 -1
- package/dist/tools/readMemory.js +0 -33
- package/dist/tools/readMemory.js.map +0 -1
- package/dist/tools/updateMemory.js +0 -62
- package/dist/tools/updateMemory.js.map +0 -1
- package/dist/tools/updateMemory.test.js +0 -109
- package/dist/tools/updateMemory.test.js.map +0 -1
- package/dist/tools/updateTodoItem.js +0 -31
- package/dist/tools/updateTodoItem.js.map +0 -1
- package/dist/tools/utils/diffLineNumbers.js +0 -178
- package/dist/tools/utils/diffLineNumbers.js.map +0 -1
- package/dist/utils/cacheControl.js +0 -59
- package/dist/utils/cacheControl.js.map +0 -1
- package/dist/utils/cacheControl.test.js +0 -128
- package/dist/utils/cacheControl.test.js.map +0 -1
- package/dist/utils/command.js +0 -50
- package/dist/utils/command.js.map +0 -1
- package/dist/utils/shell.js +0 -56
- package/dist/utils/shell.js.map +0 -1
- package/dist/utils/userInput.js +0 -47
- package/dist/utils/userInput.js.map +0 -1
- package/dist/workflow-tools.js +0 -21
- package/dist/workflow-tools.js.map +0 -1
- package/dist/workflows/agent-builder.js +0 -90
- package/dist/workflows/agent-builder.js.map +0 -1
- package/dist/workflows/agent-builder.test.js +0 -115
- package/dist/workflows/agent-builder.test.js.map +0 -1
- package/dist/workflows/code.workflow.js +0 -145
- package/dist/workflows/code.workflow.js.map +0 -1
- package/dist/workflows/commit.workflow.js +0 -111
- package/dist/workflows/commit.workflow.js.map +0 -1
- package/dist/workflows/commit.workflow.test.js +0 -141
- package/dist/workflows/commit.workflow.test.js.map +0 -1
- package/dist/workflows/fix.workflow.js +0 -172
- package/dist/workflows/fix.workflow.js.map +0 -1
- package/dist/workflows/fix.workflow.test.js +0 -137
- package/dist/workflows/fix.workflow.test.js.map +0 -1
- package/dist/workflows/git-file-tools.js +0 -408
- package/dist/workflows/git-file-tools.js.map +0 -1
- package/dist/workflows/index.js +0 -12
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/init-interactive.workflow.js +0 -198
- package/dist/workflows/init-interactive.workflow.js.map +0 -1
- package/dist/workflows/init.workflow.js +0 -41
- package/dist/workflows/init.workflow.js.map +0 -1
- package/dist/workflows/meta.workflow.js +0 -107
- package/dist/workflows/meta.workflow.js.map +0 -1
- package/dist/workflows/plan.workflow.js +0 -275
- package/dist/workflows/plan.workflow.js.map +0 -1
- package/dist/workflows/plan.workflow.test.js +0 -419
- package/dist/workflows/plan.workflow.test.js.map +0 -1
- package/dist/workflows/pr.workflow.js +0 -54
- package/dist/workflows/pr.workflow.js.map +0 -1
- package/dist/workflows/pr.workflow.test.js +0 -98
- package/dist/workflows/pr.workflow.test.js.map +0 -1
- package/dist/workflows/prompts/coder.js +0 -85
- package/dist/workflows/prompts/coder.js.map +0 -1
- package/dist/workflows/prompts/commit.js +0 -16
- package/dist/workflows/prompts/commit.js.map +0 -1
- package/dist/workflows/prompts/fix.js +0 -44
- package/dist/workflows/prompts/fix.js.map +0 -1
- package/dist/workflows/prompts/index.js +0 -10
- package/dist/workflows/prompts/index.js.map +0 -1
- package/dist/workflows/prompts/init.js +0 -48
- package/dist/workflows/prompts/init.js.map +0 -1
- package/dist/workflows/prompts/meta.js +0 -17
- package/dist/workflows/prompts/meta.js.map +0 -1
- package/dist/workflows/prompts/plan.js +0 -212
- package/dist/workflows/prompts/plan.js.map +0 -1
- package/dist/workflows/prompts/pr.js +0 -15
- package/dist/workflows/prompts/pr.js.map +0 -1
- package/dist/workflows/prompts/review.js +0 -145
- package/dist/workflows/prompts/review.js.map +0 -1
- package/dist/workflows/prompts/shared.js +0 -93
- package/dist/workflows/prompts/shared.js.map +0 -1
- package/dist/workflows/review.workflow.js +0 -357
- package/dist/workflows/review.workflow.js.map +0 -1
- package/dist/workflows/task.workflow.js +0 -47
- package/dist/workflows/task.workflow.js.map +0 -1
- package/dist/workflows/testing/helper.js +0 -41
- package/dist/workflows/testing/helper.js.map +0 -1
- package/dist/workflows/workflow.utils.js +0 -351
- package/dist/workflows/workflow.utils.js.map +0 -1
- package/dist/workflows/workflow.utils.test.js +0 -45
- package/dist/workflows/workflow.utils.test.js.map +0 -1
package/dist/agent/config.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { deepMerge } from '@polka-codes/core';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { CONFIG_PRESETS, DEFAULT_AGENT_CONFIG } from './constants';
|
|
4
|
-
import { ConfigValidationError } from './errors';
|
|
5
|
-
/**
|
|
6
|
-
* Zod schema for ContinuousImprovementConfig
|
|
7
|
-
*/
|
|
8
|
-
const ContinuousImprovementConfigSchema = z.object({
|
|
9
|
-
sleepTimeOnNoTasks: z.number().int().positive().default(60000),
|
|
10
|
-
sleepTimeBetweenTasks: z.number().int().nonnegative().default(5000),
|
|
11
|
-
maxCycles: z.number().int().nonnegative().default(0),
|
|
12
|
-
});
|
|
13
|
-
/**
|
|
14
|
-
* Zod schema for DiscoveryConfig
|
|
15
|
-
*/
|
|
16
|
-
const DiscoveryConfigSchema = z.object({
|
|
17
|
-
enabledStrategies: z.array(z.string()).min(1),
|
|
18
|
-
cacheTime: z.number().int().positive().default(300000),
|
|
19
|
-
checkChanges: z.boolean().default(true),
|
|
20
|
-
});
|
|
21
|
-
/**
|
|
22
|
-
* Zod schema for AgentConfig
|
|
23
|
-
*/
|
|
24
|
-
export const AgentConfigSchema = z.object({
|
|
25
|
-
strategy: z.enum(['goal-directed', 'continuous-improvement']).default('goal-directed'),
|
|
26
|
-
continueOnCompletion: z.boolean().default(false),
|
|
27
|
-
maxIterations: z.number().int().nonnegative().default(0),
|
|
28
|
-
timeout: z.number().int().nonnegative().default(0),
|
|
29
|
-
requireApprovalFor: z.enum(['none', 'destructive', 'commits', 'all']).default('destructive'),
|
|
30
|
-
pauseOnError: z.boolean().default(true),
|
|
31
|
-
workingBranch: z.string().default('main'),
|
|
32
|
-
maxConcurrency: z.number().int().min(1).default(1),
|
|
33
|
-
autoSaveInterval: z.number().int().min(1000).default(30000),
|
|
34
|
-
enableProgress: z.boolean().default(true),
|
|
35
|
-
destructiveOperations: z.array(z.string()).default([]),
|
|
36
|
-
maxAutoApprovalCost: z.number().int().nonnegative().default(5),
|
|
37
|
-
autoApproveSafeTasks: z.boolean().default(true),
|
|
38
|
-
workingDir: z.string().optional(),
|
|
39
|
-
continuousImprovement: ContinuousImprovementConfigSchema.default(DEFAULT_AGENT_CONFIG.continuousImprovement),
|
|
40
|
-
discovery: DiscoveryConfigSchema.default(DEFAULT_AGENT_CONFIG.discovery),
|
|
41
|
-
preset: z.string().optional(),
|
|
42
|
-
stateDir: z.string().optional(),
|
|
43
|
-
approval: z.object({
|
|
44
|
-
level: z.enum(['none', 'destructive', 'commits', 'all']).default('destructive'),
|
|
45
|
-
autoApproveSafeTasks: z.boolean().default(true),
|
|
46
|
-
maxAutoApprovalCost: z.number().int().nonnegative().default(5),
|
|
47
|
-
}),
|
|
48
|
-
safety: z.object({
|
|
49
|
-
enabledChecks: z.array(z.string()).default([]),
|
|
50
|
-
blockDestructive: z.boolean().default(true),
|
|
51
|
-
maxFileSize: z.number().int().positive().default(10485760),
|
|
52
|
-
}),
|
|
53
|
-
healthCheck: z
|
|
54
|
-
.object({
|
|
55
|
-
enabled: z.boolean().default(false),
|
|
56
|
-
interval: z.number().int().positive().default(60000),
|
|
57
|
-
})
|
|
58
|
-
.optional(),
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
* Type guard for AgentConfig
|
|
62
|
-
*/
|
|
63
|
-
export function isValidAgentConfig(config) {
|
|
64
|
-
try {
|
|
65
|
-
AgentConfigSchema.parse(config);
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Validate configuration with Zod
|
|
74
|
-
*/
|
|
75
|
-
export function validateConfig(config) {
|
|
76
|
-
try {
|
|
77
|
-
return AgentConfigSchema.parse(config);
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
if (error instanceof z.ZodError) {
|
|
81
|
-
const errors = error.issues.map((e) => `${e.path.join('.')}: ${e.message}`);
|
|
82
|
-
throw new ConfigValidationError('Configuration validation failed', errors);
|
|
83
|
-
}
|
|
84
|
-
throw error;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Load configuration from CLI options and config file
|
|
89
|
-
*/
|
|
90
|
-
export async function loadConfig(cliOptions, configPath) {
|
|
91
|
-
// Start with defaults
|
|
92
|
-
let config = { ...DEFAULT_AGENT_CONFIG };
|
|
93
|
-
// Apply preset if specified
|
|
94
|
-
if (cliOptions.preset && CONFIG_PRESETS[cliOptions.preset]) {
|
|
95
|
-
config = mergeConfig(config, CONFIG_PRESETS[cliOptions.preset]);
|
|
96
|
-
config.preset = cliOptions.preset;
|
|
97
|
-
}
|
|
98
|
-
// Load from file if exists
|
|
99
|
-
if (configPath) {
|
|
100
|
-
const fileConfig = await loadConfigFromFile(configPath);
|
|
101
|
-
config = mergeConfig(config, fileConfig);
|
|
102
|
-
}
|
|
103
|
-
// Apply CLI options (highest priority)
|
|
104
|
-
config = mergeConfig(config, cliOptions);
|
|
105
|
-
// Validate configuration
|
|
106
|
-
return validateConfig(config);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Merge two configurations (second overrides first)
|
|
110
|
-
*
|
|
111
|
-
* Uses deepMerge utility with explicit path specification for nested objects.
|
|
112
|
-
* This makes it clear which fields get deep merged vs shallow merge.
|
|
113
|
-
*/
|
|
114
|
-
export function mergeConfig(base, override) {
|
|
115
|
-
return deepMerge(base, override, [
|
|
116
|
-
'continuousImprovement', // Explicit: these get deep merged
|
|
117
|
-
'discovery',
|
|
118
|
-
'approval',
|
|
119
|
-
'safety',
|
|
120
|
-
]);
|
|
121
|
-
// Other fields use shallow merge (spread) - explicit and clear!
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Load configuration from file
|
|
125
|
-
*/
|
|
126
|
-
async function loadConfigFromFile(configPath) {
|
|
127
|
-
try {
|
|
128
|
-
const fs = await import('node:fs/promises');
|
|
129
|
-
const content = await fs.readFile(configPath, 'utf-8');
|
|
130
|
-
return JSON.parse(content);
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
if (error.code === 'ENOENT') {
|
|
134
|
-
return {};
|
|
135
|
-
}
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=config.js.map
|
package/dist/agent/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agent/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD;;GAEG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACnE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACtD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACxC,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IACtF,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5F,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3D,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,qBAAqB,EAAE,iCAAiC,CAAC,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC;IAC5G,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/E,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC/C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC3D,CAAC;IACF,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACrD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,IAAI,CAAC;QACH,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAgB,CAAA;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;YAChF,MAAM,IAAI,qBAAqB,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAgC,EAAE,UAAmB;IACpF,sBAAsB;IACtB,IAAI,MAAM,GAAgB,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAErD,4BAA4B;IAC5B,IAAI,UAAU,CAAC,MAAM,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IACnC,CAAC;IAED,2BAA2B;IAC3B,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACvD,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,uCAAuC;IACvC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAExC,yBAAyB;IACzB,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,QAA8B;IAC3E,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE;QAC/B,uBAAuB,EAAE,kCAAkC;QAC3D,WAAW;QACX,UAAU;QACV,QAAQ;KACT,CAAC,CAAA;IACF,gEAAgE;AAClE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'bun:test';
|
|
2
|
-
import { AgentConfigSchema, mergeConfig, validateConfig } from './config';
|
|
3
|
-
import { DEFAULT_AGENT_CONFIG } from './constants';
|
|
4
|
-
describe('AgentConfig', () => {
|
|
5
|
-
describe('validateConfig', () => {
|
|
6
|
-
it('should validate default configuration', () => {
|
|
7
|
-
const config = validateConfig(DEFAULT_AGENT_CONFIG);
|
|
8
|
-
expect(config).toBeDefined();
|
|
9
|
-
expect(config.strategy).toBe('goal-directed');
|
|
10
|
-
expect(config.pauseOnError).toBe(true);
|
|
11
|
-
});
|
|
12
|
-
it('should reject invalid strategy', () => {
|
|
13
|
-
expect(() => {
|
|
14
|
-
AgentConfigSchema.parse({
|
|
15
|
-
...DEFAULT_AGENT_CONFIG,
|
|
16
|
-
strategy: 'invalid',
|
|
17
|
-
});
|
|
18
|
-
}).toThrow();
|
|
19
|
-
});
|
|
20
|
-
it('should reject invalid requireApprovalFor value', () => {
|
|
21
|
-
expect(() => {
|
|
22
|
-
AgentConfigSchema.parse({
|
|
23
|
-
...DEFAULT_AGENT_CONFIG,
|
|
24
|
-
requireApprovalFor: 'invalid',
|
|
25
|
-
});
|
|
26
|
-
}).toThrow();
|
|
27
|
-
});
|
|
28
|
-
it('should apply default values for missing fields', () => {
|
|
29
|
-
const partialConfig = {
|
|
30
|
-
strategy: 'goal-directed',
|
|
31
|
-
approval: {},
|
|
32
|
-
safety: {},
|
|
33
|
-
};
|
|
34
|
-
const validated = AgentConfigSchema.parse(partialConfig);
|
|
35
|
-
expect(validated.pauseOnError).toBe(true);
|
|
36
|
-
expect(validated.requireApprovalFor).toBe('destructive');
|
|
37
|
-
expect(validated.maxConcurrency).toBe(1);
|
|
38
|
-
expect(validated.approval.level).toBe('destructive');
|
|
39
|
-
expect(validated.safety.blockDestructive).toBe(true);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('mergeConfig', () => {
|
|
43
|
-
it('should merge configurations correctly', () => {
|
|
44
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
45
|
-
const override = {
|
|
46
|
-
strategy: 'continuous-improvement',
|
|
47
|
-
maxIterations: 100,
|
|
48
|
-
};
|
|
49
|
-
const merged = mergeConfig(base, override);
|
|
50
|
-
// Check specific overrides
|
|
51
|
-
expect(merged.strategy).toBe('continuous-improvement');
|
|
52
|
-
expect(merged.maxIterations).toBe(100);
|
|
53
|
-
// Check base fields are preserved
|
|
54
|
-
expect(merged.pauseOnError).toBe(base.pauseOnError);
|
|
55
|
-
expect(merged.requireApprovalFor).toBe(base.requireApprovalFor);
|
|
56
|
-
expect(merged.continuousImprovement).toEqual(base.continuousImprovement);
|
|
57
|
-
});
|
|
58
|
-
it('should preserve base fields when not overridden', () => {
|
|
59
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
60
|
-
const override = {
|
|
61
|
-
strategy: 'continuous-improvement',
|
|
62
|
-
};
|
|
63
|
-
const merged = mergeConfig(base, override);
|
|
64
|
-
expect(merged.strategy).toBe('continuous-improvement');
|
|
65
|
-
expect(merged.pauseOnError).toBe(base.pauseOnError);
|
|
66
|
-
expect(merged.maxIterations).toBe(base.maxIterations);
|
|
67
|
-
});
|
|
68
|
-
it('should merge nested objects correctly', () => {
|
|
69
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
70
|
-
const override = {
|
|
71
|
-
continuousImprovement: {
|
|
72
|
-
...base.continuousImprovement,
|
|
73
|
-
sleepTimeOnNoTasks: 120000,
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
const merged = mergeConfig(base, override);
|
|
77
|
-
expect(merged.continuousImprovement.sleepTimeOnNoTasks).toBe(120000);
|
|
78
|
-
expect(merged.continuousImprovement.sleepTimeBetweenTasks).toBe(base.continuousImprovement.sleepTimeBetweenTasks);
|
|
79
|
-
// Other nested fields preserved
|
|
80
|
-
expect(merged.continuousImprovement.maxCycles).toBe(base.continuousImprovement.maxCycles);
|
|
81
|
-
});
|
|
82
|
-
it('should merge discovery config', () => {
|
|
83
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
84
|
-
const override = {
|
|
85
|
-
discovery: {
|
|
86
|
-
enabledStrategies: ['test-coverage'],
|
|
87
|
-
cacheTime: 600000,
|
|
88
|
-
checkChanges: base.discovery.checkChanges,
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
const merged = mergeConfig(base, override);
|
|
92
|
-
expect(merged.discovery.enabledStrategies).toEqual(['test-coverage']);
|
|
93
|
-
expect(merged.discovery.cacheTime).toBe(600000);
|
|
94
|
-
expect(merged.discovery.checkChanges).toBe(base.discovery.checkChanges);
|
|
95
|
-
});
|
|
96
|
-
it('should merge approval config', () => {
|
|
97
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
98
|
-
const override = {
|
|
99
|
-
approval: {
|
|
100
|
-
level: 'all',
|
|
101
|
-
autoApproveSafeTasks: false,
|
|
102
|
-
maxAutoApprovalCost: base.approval.maxAutoApprovalCost,
|
|
103
|
-
},
|
|
104
|
-
};
|
|
105
|
-
const merged = mergeConfig(base, override);
|
|
106
|
-
expect(merged.approval.level).toBe('all');
|
|
107
|
-
expect(merged.approval.autoApproveSafeTasks).toBe(false);
|
|
108
|
-
expect(merged.approval.maxAutoApprovalCost).toBe(base.approval.maxAutoApprovalCost);
|
|
109
|
-
});
|
|
110
|
-
it('should merge safety config', () => {
|
|
111
|
-
const base = DEFAULT_AGENT_CONFIG;
|
|
112
|
-
const override = {
|
|
113
|
-
safety: {
|
|
114
|
-
enabledChecks: ['security-scan'],
|
|
115
|
-
blockDestructive: false,
|
|
116
|
-
maxFileSize: base.safety.maxFileSize,
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
const merged = mergeConfig(base, override);
|
|
120
|
-
expect(merged.safety.enabledChecks).toEqual(['security-scan']);
|
|
121
|
-
expect(merged.safety.blockDestructive).toBe(false);
|
|
122
|
-
expect(merged.safety.maxFileSize).toBe(base.safety.maxFileSize);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
describe('isValidAgentConfig', () => {
|
|
126
|
-
it('should return true for valid config', () => {
|
|
127
|
-
const { isValidAgentConfig } = require('./config');
|
|
128
|
-
expect(isValidAgentConfig(DEFAULT_AGENT_CONFIG)).toBe(true);
|
|
129
|
-
});
|
|
130
|
-
it('should return false for invalid config', () => {
|
|
131
|
-
const { isValidAgentConfig } = require('./config');
|
|
132
|
-
expect(isValidAgentConfig({ strategy: 'invalid' })).toBe(false);
|
|
133
|
-
});
|
|
134
|
-
it('should return false for missing required fields', () => {
|
|
135
|
-
const { isValidAgentConfig } = require('./config');
|
|
136
|
-
expect(isValidAgentConfig({})).toBe(false);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
});
|
|
140
|
-
//# sourceMappingURL=config.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/agent/config.test.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/constants.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { Priority } from './types';
|
|
2
|
-
// Re-export Priority for convenience
|
|
3
|
-
export { Priority };
|
|
4
|
-
/**
|
|
5
|
-
* Mapping of task types to workflows
|
|
6
|
-
*/
|
|
7
|
-
export const WORKFLOW_MAPPING = {
|
|
8
|
-
feature: 'plan',
|
|
9
|
-
bugfix: 'fix',
|
|
10
|
-
refactor: 'code',
|
|
11
|
-
refactoring: 'code',
|
|
12
|
-
test: 'code',
|
|
13
|
-
testing: 'code',
|
|
14
|
-
docs: 'code',
|
|
15
|
-
documentation: 'code',
|
|
16
|
-
review: 'review',
|
|
17
|
-
commit: 'commit',
|
|
18
|
-
analysis: 'plan',
|
|
19
|
-
security: 'fix',
|
|
20
|
-
optimization: 'code',
|
|
21
|
-
other: 'plan',
|
|
22
|
-
plan: 'plan',
|
|
23
|
-
task: 'code',
|
|
24
|
-
delete: 'code',
|
|
25
|
-
'force-push': 'code',
|
|
26
|
-
reset: 'code',
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Default discovery strategies
|
|
30
|
-
*/
|
|
31
|
-
export const DEFAULT_DISCOVERY_STRATEGIES = ['build-errors', 'failing-tests', 'type-errors', 'lint-issues'];
|
|
32
|
-
/**
|
|
33
|
-
* Advanced discovery strategies
|
|
34
|
-
*/
|
|
35
|
-
export const ADVANCED_DISCOVERY_STRATEGIES = ['test-coverage', 'code-quality', 'refactoring', 'documentation', 'security'];
|
|
36
|
-
/**
|
|
37
|
-
* Working directory discovery strategy
|
|
38
|
-
*/
|
|
39
|
-
export const WORKING_DIR_STRATEGY = 'working-dir';
|
|
40
|
-
/**
|
|
41
|
-
* All discovery strategies
|
|
42
|
-
*/
|
|
43
|
-
export const ALL_DISCOVERY_STRATEGIES = [...DEFAULT_DISCOVERY_STRATEGIES, ...ADVANCED_DISCOVERY_STRATEGIES, WORKING_DIR_STRATEGY];
|
|
44
|
-
/**
|
|
45
|
-
* State transition rules
|
|
46
|
-
*/
|
|
47
|
-
export const STATE_TRANSITIONS = [
|
|
48
|
-
{ from: ['idle'], to: 'planning', label: 'setGoal' },
|
|
49
|
-
{ from: ['planning'], to: 'executing', label: 'planReady' },
|
|
50
|
-
{ from: ['executing'], to: 'reviewing', label: 'taskComplete' },
|
|
51
|
-
{ from: ['executing'], to: 'error-recovery', label: 'taskFailed' },
|
|
52
|
-
{ from: ['reviewing'], to: 'committing', label: 'reviewPassed' },
|
|
53
|
-
{ from: ['reviewing'], to: 'executing', label: 'reviewFailed' },
|
|
54
|
-
{ from: ['committing'], to: 'idle', label: 'committed' },
|
|
55
|
-
{ from: ['error-recovery'], to: 'executing', label: 'recovered' },
|
|
56
|
-
{ from: ['error-recovery'], to: 'stopped', label: 'unrecoverable' },
|
|
57
|
-
{ from: ['*'], to: 'stopped', label: 'interrupt' },
|
|
58
|
-
];
|
|
59
|
-
/**
|
|
60
|
-
* Default agent configuration
|
|
61
|
-
*/
|
|
62
|
-
export const DEFAULT_AGENT_CONFIG = {
|
|
63
|
-
strategy: 'goal-directed',
|
|
64
|
-
continueOnCompletion: false,
|
|
65
|
-
maxIterations: 0,
|
|
66
|
-
timeout: 0,
|
|
67
|
-
requireApprovalFor: 'destructive',
|
|
68
|
-
pauseOnError: true,
|
|
69
|
-
workingBranch: 'main',
|
|
70
|
-
maxConcurrency: 1,
|
|
71
|
-
autoSaveInterval: 30000,
|
|
72
|
-
enableProgress: true,
|
|
73
|
-
destructiveOperations: ['delete', 'force-push', 'reset'],
|
|
74
|
-
maxAutoApprovalCost: 5,
|
|
75
|
-
autoApproveSafeTasks: true,
|
|
76
|
-
continuousImprovement: {
|
|
77
|
-
sleepTimeOnNoTasks: 60000, // 1 minute
|
|
78
|
-
sleepTimeBetweenTasks: 5000, // 5 seconds
|
|
79
|
-
maxCycles: 0, // infinite
|
|
80
|
-
},
|
|
81
|
-
discovery: {
|
|
82
|
-
enabledStrategies: [...DEFAULT_DISCOVERY_STRATEGIES],
|
|
83
|
-
cacheTime: 300000, // 5 minutes
|
|
84
|
-
checkChanges: true,
|
|
85
|
-
},
|
|
86
|
-
approval: {
|
|
87
|
-
level: 'destructive',
|
|
88
|
-
autoApproveSafeTasks: true,
|
|
89
|
-
maxAutoApprovalCost: 5,
|
|
90
|
-
},
|
|
91
|
-
safety: {
|
|
92
|
-
enabledChecks: [],
|
|
93
|
-
blockDestructive: true,
|
|
94
|
-
maxFileSize: 10485760, // 10MB
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
/**
|
|
98
|
-
* Configuration presets
|
|
99
|
-
*/
|
|
100
|
-
export const CONFIG_PRESETS = {
|
|
101
|
-
conservative: {
|
|
102
|
-
strategy: 'goal-directed',
|
|
103
|
-
requireApprovalFor: 'all',
|
|
104
|
-
autoApproveSafeTasks: false,
|
|
105
|
-
maxAutoApprovalCost: 0,
|
|
106
|
-
pauseOnError: true,
|
|
107
|
-
maxConcurrency: 1,
|
|
108
|
-
discovery: {
|
|
109
|
-
enabledStrategies: [...DEFAULT_DISCOVERY_STRATEGIES],
|
|
110
|
-
cacheTime: 300000,
|
|
111
|
-
checkChanges: true,
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
balanced: {
|
|
115
|
-
strategy: 'goal-directed',
|
|
116
|
-
requireApprovalFor: 'destructive',
|
|
117
|
-
autoApproveSafeTasks: true,
|
|
118
|
-
maxAutoApprovalCost: 10,
|
|
119
|
-
pauseOnError: true,
|
|
120
|
-
maxConcurrency: 1,
|
|
121
|
-
discovery: {
|
|
122
|
-
enabledStrategies: [...DEFAULT_DISCOVERY_STRATEGIES],
|
|
123
|
-
cacheTime: 300000,
|
|
124
|
-
checkChanges: true,
|
|
125
|
-
},
|
|
126
|
-
},
|
|
127
|
-
aggressive: {
|
|
128
|
-
strategy: 'goal-directed',
|
|
129
|
-
requireApprovalFor: 'none',
|
|
130
|
-
autoApproveSafeTasks: true,
|
|
131
|
-
maxAutoApprovalCost: 30,
|
|
132
|
-
pauseOnError: false,
|
|
133
|
-
maxConcurrency: 2,
|
|
134
|
-
discovery: {
|
|
135
|
-
enabledStrategies: [...ALL_DISCOVERY_STRATEGIES],
|
|
136
|
-
cacheTime: 600000,
|
|
137
|
-
checkChanges: false,
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
'continuous-improvement': {
|
|
141
|
-
strategy: 'continuous-improvement',
|
|
142
|
-
continueOnCompletion: true,
|
|
143
|
-
maxIterations: 0,
|
|
144
|
-
requireApprovalFor: 'commits',
|
|
145
|
-
autoApproveSafeTasks: true,
|
|
146
|
-
maxAutoApprovalCost: 15,
|
|
147
|
-
pauseOnError: false,
|
|
148
|
-
maxConcurrency: 2,
|
|
149
|
-
discovery: {
|
|
150
|
-
enabledStrategies: [...DEFAULT_DISCOVERY_STRATEGIES, 'test-coverage'],
|
|
151
|
-
cacheTime: 300000,
|
|
152
|
-
checkChanges: true,
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
'working-dir': {
|
|
156
|
-
strategy: 'continuous-improvement',
|
|
157
|
-
continueOnCompletion: true,
|
|
158
|
-
maxIterations: 0,
|
|
159
|
-
requireApprovalFor: 'commits',
|
|
160
|
-
autoApproveSafeTasks: true,
|
|
161
|
-
maxAutoApprovalCost: 30,
|
|
162
|
-
pauseOnError: false,
|
|
163
|
-
maxConcurrency: 1,
|
|
164
|
-
workingDir: './plans', // Default working directory
|
|
165
|
-
discovery: {
|
|
166
|
-
enabledStrategies: ['working-dir'],
|
|
167
|
-
cacheTime: 60000, // Check every minute for new tasks
|
|
168
|
-
checkChanges: false,
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
};
|
|
172
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/agent/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,MAAM;IACpB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;IACpB,KAAK,EAAE,MAAM;CACd,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,CAAU,CAAA;AAEpH;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,CAAU,CAAA;AAEnI;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAsB,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,4BAA4B,EAAE,GAAG,6BAA6B,EAAE,oBAAoB,CAAU,CAAA;AAE1I;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAIzB;IACH,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;IACpD,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC3D,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IAC/D,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE;IAClE,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE;IAChE,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE;IAC/D,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;IACxD,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACjE,EAAE,IAAI,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE;IACnE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;CACnD,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,QAAQ,EAAE,eAAe;IACzB,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,kBAAkB,EAAE,aAAa;IACjC,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;IACxD,mBAAmB,EAAE,CAAC;IACtB,oBAAoB,EAAE,IAAI;IAC1B,qBAAqB,EAAE;QACrB,kBAAkB,EAAE,KAAK,EAAE,WAAW;QACtC,qBAAqB,EAAE,IAAI,EAAE,YAAY;QACzC,SAAS,EAAE,CAAC,EAAE,WAAW;KAC1B;IACD,SAAS,EAAE;QACT,iBAAiB,EAAE,CAAC,GAAG,4BAA4B,CAAC;QACpD,SAAS,EAAE,MAAM,EAAE,YAAY;QAC/B,YAAY,EAAE,IAAI;KACnB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,aAAa;QACpB,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,CAAC;KACvB;IACD,MAAM,EAAE;QACN,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,QAAQ,EAAE,OAAO;KAC/B;CACF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyC;IAClE,YAAY,EAAE;QACZ,QAAQ,EAAE,eAAe;QACzB,kBAAkB,EAAE,KAAsB;QAC1C,oBAAoB,EAAE,KAAK;QAC3B,mBAAmB,EAAE,CAAC;QACtB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE;YACT,iBAAiB,EAAE,CAAC,GAAG,4BAA4B,CAAC;YACpD,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,IAAI;SACnB;KACF;IAED,QAAQ,EAAE;QACR,QAAQ,EAAE,eAAe;QACzB,kBAAkB,EAAE,aAA8B;QAClD,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE;YACT,iBAAiB,EAAE,CAAC,GAAG,4BAA4B,CAAC;YACpD,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,IAAI;SACnB;KACF;IAED,UAAU,EAAE;QACV,QAAQ,EAAE,eAAe;QACzB,kBAAkB,EAAE,MAAuB;QAC3C,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE;YACT,iBAAiB,EAAE,CAAC,GAAG,wBAAwB,CAAC;YAChD,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,KAAK;SACpB;KACF;IAED,wBAAwB,EAAE;QACxB,QAAQ,EAAE,wBAAwB;QAClC,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,SAA0B;QAC9C,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE;YACT,iBAAiB,EAAE,CAAC,GAAG,4BAA4B,EAAE,eAAe,CAAC;YACrE,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,IAAI;SACnB;KACF;IAED,aAAa,EAAE;QACb,QAAQ,EAAE,wBAAwB;QAClC,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,SAA0B;QAC9C,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,SAAS,EAAE,4BAA4B;QACnD,SAAS,EAAE;YACT,iBAAiB,EAAE,CAAC,aAAa,CAAC;YAClC,SAAS,EAAE,KAAK,EAAE,mCAAmC;YACrD,YAAY,EAAE,KAAK;SACpB;KACF;CACF,CAAA"}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'bun:test';
|
|
2
|
-
import { ADVANCED_DISCOVERY_STRATEGIES, ALL_DISCOVERY_STRATEGIES, CONFIG_PRESETS, DEFAULT_AGENT_CONFIG, DEFAULT_DISCOVERY_STRATEGIES, STATE_TRANSITIONS, WORKFLOW_MAPPING, } from './constants';
|
|
3
|
-
describe('constants', () => {
|
|
4
|
-
describe('WORKFLOW_MAPPING', () => {
|
|
5
|
-
// REMOVED: Snapshot test for type-guaranteed constant
|
|
6
|
-
// TypeScript's type system already validates this structure at compile time
|
|
7
|
-
it('should include all required task types', () => {
|
|
8
|
-
const requiredTypes = ['feature', 'bugfix', 'refactor', 'review', 'commit', 'security'];
|
|
9
|
-
requiredTypes.forEach((type) => {
|
|
10
|
-
expect(WORKFLOW_MAPPING[type]).toBeDefined();
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
it('should map each task type to a valid workflow', () => {
|
|
14
|
-
Object.values(WORKFLOW_MAPPING).forEach((workflow) => {
|
|
15
|
-
expect(workflow).toBeDefined();
|
|
16
|
-
expect(typeof workflow).toBe('string');
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
describe('DEFAULT_DISCOVERY_STRATEGIES', () => {
|
|
21
|
-
// REMOVED: Snapshot test for type-guaranteed constant
|
|
22
|
-
it('should have 4 strategies', () => {
|
|
23
|
-
expect(DEFAULT_DISCOVERY_STRATEGIES).toHaveLength(4);
|
|
24
|
-
});
|
|
25
|
-
it('should have valid strategy names', () => {
|
|
26
|
-
const validStrategies = ['build-errors', 'failing-tests', 'type-errors', 'lint-issues'];
|
|
27
|
-
DEFAULT_DISCOVERY_STRATEGIES.forEach((strategy) => {
|
|
28
|
-
expect(validStrategies).toContain(strategy);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('ADVANCED_DISCOVERY_STRATEGIES', () => {
|
|
33
|
-
// REMOVED: Snapshot test for type-guaranteed constant
|
|
34
|
-
it('should have 5 strategies', () => {
|
|
35
|
-
expect(ADVANCED_DISCOVERY_STRATEGIES).toHaveLength(5);
|
|
36
|
-
});
|
|
37
|
-
it('should have valid strategy names', () => {
|
|
38
|
-
const validStrategies = ['test-coverage', 'code-quality', 'refactoring', 'documentation', 'security'];
|
|
39
|
-
ADVANCED_DISCOVERY_STRATEGIES.forEach((strategy) => {
|
|
40
|
-
expect(validStrategies).toContain(strategy);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
describe('ALL_DISCOVERY_STRATEGIES', () => {
|
|
45
|
-
it('should include all default strategies', () => {
|
|
46
|
-
DEFAULT_DISCOVERY_STRATEGIES.forEach((strategy) => {
|
|
47
|
-
expect(ALL_DISCOVERY_STRATEGIES).toContain(strategy);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
it('should include all advanced strategies', () => {
|
|
51
|
-
ADVANCED_DISCOVERY_STRATEGIES.forEach((strategy) => {
|
|
52
|
-
expect(ALL_DISCOVERY_STRATEGIES).toContain(strategy);
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
it('should have 10 strategies total (including working-dir)', () => {
|
|
56
|
-
expect(ALL_DISCOVERY_STRATEGIES).toHaveLength(10);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('STATE_TRANSITIONS', () => {
|
|
60
|
-
// REMOVED: Snapshot test for type-guaranteed constant
|
|
61
|
-
it('should have valid transition structure', () => {
|
|
62
|
-
STATE_TRANSITIONS.forEach((transition) => {
|
|
63
|
-
expect(transition.from).toBeDefined();
|
|
64
|
-
expect(transition.to).toBeDefined();
|
|
65
|
-
expect(transition.label).toBeDefined();
|
|
66
|
-
expect(transition.from).toBeInstanceOf(Array);
|
|
67
|
-
expect(typeof transition.to).toBe('string');
|
|
68
|
-
expect(typeof transition.label).toBe('string');
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
it('should have critical transitions', () => {
|
|
72
|
-
const transitionLabels = STATE_TRANSITIONS.map((t) => t.label);
|
|
73
|
-
expect(transitionLabels).toContain('setGoal');
|
|
74
|
-
expect(transitionLabels).toContain('planReady');
|
|
75
|
-
expect(transitionLabels).toContain('taskComplete');
|
|
76
|
-
expect(transitionLabels).toContain('taskFailed');
|
|
77
|
-
expect(transitionLabels).toContain('interrupt');
|
|
78
|
-
});
|
|
79
|
-
it('should have unique transition labels', () => {
|
|
80
|
-
const labels = STATE_TRANSITIONS.map((t) => t.label);
|
|
81
|
-
const uniqueLabels = new Set(labels);
|
|
82
|
-
expect(uniqueLabels.size).toBe(labels.length);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe('DEFAULT_AGENT_CONFIG', () => {
|
|
86
|
-
// REMOVED: Snapshot test for type-guaranteed constant
|
|
87
|
-
it('should have all required config sections', () => {
|
|
88
|
-
expect(DEFAULT_AGENT_CONFIG.continuousImprovement).toBeDefined();
|
|
89
|
-
expect(DEFAULT_AGENT_CONFIG.discovery).toBeDefined();
|
|
90
|
-
expect(DEFAULT_AGENT_CONFIG.approval).toBeDefined();
|
|
91
|
-
});
|
|
92
|
-
it('should have discovery config with default strategies', () => {
|
|
93
|
-
expect(DEFAULT_AGENT_CONFIG.discovery.enabledStrategies).toEqual([...DEFAULT_DISCOVERY_STRATEGIES]);
|
|
94
|
-
});
|
|
95
|
-
it('should have valid approval level', () => {
|
|
96
|
-
expect(['all', 'destructive', 'none']).toContain(DEFAULT_AGENT_CONFIG.approval.level);
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe('CONFIG_PRESETS', () => {
|
|
100
|
-
it('should have all required presets', () => {
|
|
101
|
-
const presetNames = ['conservative', 'balanced', 'aggressive', 'continuous-improvement', 'working-dir'];
|
|
102
|
-
presetNames.forEach((name) => {
|
|
103
|
-
expect(CONFIG_PRESETS[name]).toBeDefined();
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
// REMOVED: Snapshot tests for individual presets
|
|
107
|
-
// These are type-guaranteed constants validated by TypeScript
|
|
108
|
-
it('should have aggressive preset with all discovery strategies', () => {
|
|
109
|
-
expect(CONFIG_PRESETS.aggressive.discovery?.enabledStrategies).toEqual([...ALL_DISCOVERY_STRATEGIES]);
|
|
110
|
-
});
|
|
111
|
-
it('should have conservative preset with default discovery strategies', () => {
|
|
112
|
-
expect(CONFIG_PRESETS.conservative.discovery?.enabledStrategies).toEqual([...DEFAULT_DISCOVERY_STRATEGIES]);
|
|
113
|
-
});
|
|
114
|
-
it('should have continuous-improvement preset with test-coverage', () => {
|
|
115
|
-
const ciStrategies = CONFIG_PRESETS['continuous-improvement'].discovery?.enabledStrategies;
|
|
116
|
-
expect(ciStrategies).toContain('test-coverage');
|
|
117
|
-
});
|
|
118
|
-
it('should have working-dir preset with working-dir strategy', () => {
|
|
119
|
-
const wdStrategies = CONFIG_PRESETS['working-dir'].discovery?.enabledStrategies;
|
|
120
|
-
expect(wdStrategies).toContain('working-dir');
|
|
121
|
-
});
|
|
122
|
-
it('should have all presets with valid approval levels', () => {
|
|
123
|
-
const validLevels = ['all', 'destructive', 'none', 'commits'];
|
|
124
|
-
Object.values(CONFIG_PRESETS).forEach((preset) => {
|
|
125
|
-
if (preset.requireApprovalFor) {
|
|
126
|
-
expect(validLevels).toContain(preset.requireApprovalFor);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
//# sourceMappingURL=constants.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../src/agent/constants.test.ts"],"names":[],"mappings":"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"}
|