@agentic15.com/agentic15-claude-zen 2.0.6 → 3.0.2

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +298 -5
  2. package/README.md +16 -3
  3. package/bin/create-agentic15-claude-zen.js +1 -1
  4. package/package.json +3 -6
  5. package/src/cli/CommitCommand.js +19 -3
  6. package/src/cli/PlanCommand.js +184 -24
  7. package/src/cli/TaskCommand.js +3 -1
  8. package/src/core/ProjectInitializer.js +19 -23
  9. package/src/core/TaskIssueMapper.js +15 -11
  10. package/src/core/TemplateManager.js +2 -1
  11. package/templates/.github/ISSUE_TEMPLATE/task.md +23 -0
  12. package/templates/.github/PULL_REQUEST_TEMPLATE.md +23 -0
  13. package/templates/README.md +52 -55
  14. package/dist/hooks/auto-format.js +0 -2
  15. package/dist/hooks/check-pending-reviews.js +0 -2
  16. package/dist/hooks/complete-task.js +0 -2
  17. package/dist/hooks/detect-pending-reviews.js +0 -2
  18. package/dist/hooks/enforce-hard-requirements.js +0 -2
  19. package/dist/hooks/enforce-migration-workflow.js +0 -2
  20. package/dist/hooks/enforce-plan-template.js +0 -2
  21. package/dist/hooks/enforce-structured-development.js +0 -2
  22. package/dist/hooks/enforce-test-pyramid.js +0 -2
  23. package/dist/hooks/init-task-tracker.js +0 -2
  24. package/dist/hooks/performance-cache.js +0 -2
  25. package/dist/hooks/prevent-read-bypass.js +0 -2
  26. package/dist/hooks/session-start-context.js +0 -2
  27. package/dist/hooks/start-task.js +0 -2
  28. package/dist/hooks/task-status.js +0 -2
  29. package/dist/hooks/validate-component-contract.js +0 -2
  30. package/dist/hooks/validate-database-changes.js +0 -2
  31. package/dist/hooks/validate-e2e-coverage.js +0 -2
  32. package/dist/hooks/validate-git-workflow.js +0 -2
  33. package/dist/hooks/validate-integration-site.js +0 -2
  34. package/dist/hooks/validate-migration-impact.js +0 -2
  35. package/dist/hooks/validate-task-completion.js +0 -2
  36. package/dist/hooks/validate-test-quality.js +0 -2
  37. package/dist/hooks/validate-test-results.js +0 -2
  38. package/dist/hooks/validate-ui-integration.js +0 -2
  39. package/dist/hooks/validate-ui-runtime.js +0 -2
  40. package/dist/hooks/validate-ui-syntax.js +0 -2
  41. package/dist/hooks/validate-ui-visual-native.js +0 -2
  42. package/dist/hooks/validate-ui-visual.js +0 -2
  43. package/dist/hooks/validate-visual-regression.js +0 -2
  44. package/dist/index.js +0 -24
  45. package/dist/index.js.map +0 -7
  46. package/dist/scripts/add-version-headers.js +0 -2
  47. package/dist/scripts/help.js +0 -2
  48. package/dist/scripts/plan-amend.js +0 -2
  49. package/dist/scripts/plan-create.js +0 -2
  50. package/dist/scripts/plan-generate.js +0 -2
  51. package/dist/scripts/plan-help.js +0 -2
  52. package/dist/scripts/plan-init.js +0 -2
  53. package/dist/scripts/plan-manager.js +0 -2
  54. package/dist/scripts/pre-publish-checklist.js +0 -2
  55. package/dist/scripts/production-test.js +0 -2
  56. package/dist/scripts/profile-hooks.js +0 -2
  57. package/dist/scripts/setup-git-hooks.js +0 -2
  58. package/dist/scripts/task-done.js +0 -2
  59. package/dist/scripts/task-merge.js +0 -2
  60. package/dist/scripts/task-next.js +0 -2
  61. package/dist/scripts/task-start.js +0 -2
  62. package/dist/scripts/task-status.js +0 -2
  63. package/dist/scripts/verify-hooks.js +0 -2
  64. package/templates/.claude/CLAUDE.md +0 -408
  65. package/templates/.claude/ONBOARDING.md +0 -723
@@ -53,25 +53,22 @@ export class ProjectInitializer {
53
53
  // Step 1: Copy templates
54
54
  await this.templateManager.copyTemplates(projectName, targetDir);
55
55
 
56
- // Step 2: Extract bundled scripts and hooks
57
- await this.templateManager.extractBundledFiles(targetDir);
58
-
59
- // Step 3: Initialize git repository
56
+ // Step 2: Initialize git repository
60
57
  if (initGit) {
61
58
  await this.gitInitializer.initialize(targetDir);
62
59
  }
63
60
 
64
- // Step 4: Install dependencies
61
+ // Step 3: Install dependencies
65
62
  if (installDeps) {
66
63
  await this.dependencyInstaller.install(targetDir);
67
64
  }
68
65
 
69
- // Step 5: Setup git hooks
66
+ // Step 4: Setup git hooks
70
67
  if (initGit) {
71
68
  await this.hookInstaller.install(targetDir);
72
69
  }
73
70
 
74
- // Step 6: Display onboarding instructions
71
+ // Step 5: Display onboarding instructions
75
72
  this.displayOnboarding();
76
73
  }
77
74
 
@@ -80,26 +77,25 @@ export class ProjectInitializer {
80
77
  */
81
78
  displayOnboarding() {
82
79
  console.log('\n' + '═'.repeat(70));
83
- console.log('🎯 CRITICAL: NEXT STEP FOR CLAUDE CODE');
80
+ console.log('🎯 PROJECT CREATED SUCCESSFULLY');
84
81
  console.log('═'.repeat(70));
85
82
  console.log('\n📖 READ THIS FILE: .claude/POST-INSTALL.md');
86
- console.log('\n This file contains the COMPLETE 6-step setup workflow.');
87
- console.log(' Single clear path - no confusion or multiple options.\n');
88
- console.log('🚀 QUICK START (6 steps):');
89
- console.log(' 1. npm run plan:generate "description"');
90
- console.log(' 2. Claude creates PROJECT-PLAN.json');
91
- console.log(' 3. echo "plan-001-generated" > .claude/ACTIVE-PLAN');
92
- console.log(' 4. npm run plan:init');
93
- console.log(' 5. npm run task:start TASK-001');
94
- console.log(' 6. Work on task (9-step workflow in POST-INSTALL.md)');
83
+ console.log('\n Complete workflow documentation with examples.\n');
84
+ console.log('🚀 QUICK START:');
85
+ console.log(' 1. npx agentic15 auth');
86
+ console.log(' 2. npx agentic15 plan (interactive - paste requirements, Ctrl+D)');
87
+ console.log(' 3. Tell Claude: "Create the project plan"');
88
+ console.log(' 4. npx agentic15 plan (locks the plan)');
89
+ console.log(' 5. npx agentic15 task next');
90
+ console.log(' 6. Tell Claude: "Write code for TASK-001"');
91
+ console.log(' 7. npx agentic15 commit');
95
92
  console.log('\n📂 Your Workspace:');
96
- console.log(' ./Agent/ - Edit your source code here');
97
- console.log(' ./scripts/ - Edit your scripts here');
98
- console.log(' ./.claude/ - Framework files (DO NOT EDIT)');
99
- console.log('\n⚠️ Work on main branch only - NO feature branches');
100
- console.log('⚠️ Hooks enforce rules - violations will be BLOCKED');
93
+ console.log(' ./Agent/src/ - Your source code');
94
+ console.log(' ./Agent/tests/ - Your test files');
95
+ console.log(' ./test-site/ - Test site for visual verification');
96
+ console.log(' ./.claude/ - Framework files (auto-managed)');
101
97
  console.log('\n' + '═'.repeat(70));
102
- console.log('✅ Setup complete! Read .claude/POST-INSTALL.md to continue.');
98
+ console.log('✅ Setup complete! See .claude/POST-INSTALL.md for details.');
103
99
  console.log('═'.repeat(70) + '\n');
104
100
  }
105
101
  }
@@ -34,48 +34,52 @@ export class TaskIssueMapper {
34
34
  }
35
35
 
36
36
  /**
37
- * Generate GitHub issue body from task
37
+ * Generate GitHub issue body from task using issue template format
38
38
  *
39
39
  * @param {Object} task - Task object
40
40
  * @returns {string} Issue body in markdown format
41
41
  */
42
42
  static taskToIssueBody(task) {
43
- let body = `## Task: ${task.title}\n\n`;
43
+ // Follow .github/ISSUE_TEMPLATE/task.md structure
44
+ let body = `## Task Description\n\n`;
44
45
 
45
46
  if (task.description) {
46
47
  body += `${task.description}\n\n`;
47
48
  }
48
49
 
49
- if (task.phase) {
50
- body += `**Phase:** ${task.phase}\n`;
51
- }
52
-
53
50
  if (task.estimatedHours) {
54
- body += `**Estimated Hours:** ${task.estimatedHours}h\n`;
51
+ body += `**Estimated Hours:** ${task.estimatedHours}h\n\n`;
55
52
  }
56
53
 
54
+ body += `## Completion Criteria\n\n`;
57
55
  if (task.completionCriteria && task.completionCriteria.length > 0) {
58
- body += `\n### Completion Criteria\n\n`;
59
56
  task.completionCriteria.forEach(criteria => {
60
57
  body += `- [ ] ${criteria}\n`;
61
58
  });
59
+ } else {
60
+ body += `*No specific criteria defined*\n`;
62
61
  }
63
62
 
63
+ body += `\n## Dependencies\n\n`;
64
64
  if (task.dependencies && task.dependencies.length > 0) {
65
- body += `\n### Dependencies\n\n`;
66
65
  task.dependencies.forEach(dep => {
67
66
  body += `- ${dep}\n`;
68
67
  });
68
+ } else {
69
+ body += `*No dependencies*\n`;
69
70
  }
70
71
 
72
+ body += `\n## Phase\n\n`;
73
+ body += `${task.phase || 'implementation'}\n`;
74
+
71
75
  if (task.testCases && task.testCases.length > 0) {
72
- body += `\n### Test Cases\n\n`;
76
+ body += `\n## Test Cases\n\n`;
73
77
  task.testCases.forEach(test => {
74
78
  body += `- ${test}\n`;
75
79
  });
76
80
  }
77
81
 
78
- body += `\n---\n*Auto-created by Agentic15 Claude Zen*`;
82
+ body += `\n---\n*Auto-generated by Agentic15 Claude Zen*`;
79
83
 
80
84
  return body;
81
85
  }
@@ -28,7 +28,8 @@ const __dirname = dirname(__filename);
28
28
  */
29
29
  export class TemplateManager {
30
30
  constructor() {
31
- this.templatesDir = join(__dirname, '..', 'templates');
31
+ // From src/core/, go up two levels to package root, then into templates
32
+ this.templatesDir = join(__dirname, '..', '..', 'templates');
32
33
  this.distDir = join(__dirname, '.');
33
34
  }
34
35
 
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: Task
3
+ about: Auto-generated task from Agentic15 plan
4
+ title: '[TASK-XXX] '
5
+ labels: 'task'
6
+ assignees: ''
7
+ ---
8
+
9
+ ## Task Description
10
+
11
+ <!-- Auto-generated from PROJECT-PLAN.json -->
12
+
13
+ ## Completion Criteria
14
+
15
+ <!-- Auto-populated from task definition -->
16
+
17
+ ## Dependencies
18
+
19
+ <!-- Auto-populated from task definition -->
20
+
21
+ ## Phase
22
+
23
+ <!-- Auto-populated from task definition -->
@@ -0,0 +1,23 @@
1
+ # Pull Request
2
+
3
+ ## Task
4
+
5
+ Closes #
6
+
7
+ ## Description
8
+
9
+ <!-- Auto-generated from task description -->
10
+
11
+ ## Changes
12
+
13
+ -
14
+
15
+ ## Testing
16
+
17
+ - [ ] Unit tests pass (`npm test`)
18
+ - [ ] Visual tests pass (if applicable) (`npx playwright test`)
19
+ - [ ] Code follows project conventions
20
+
21
+ ## Notes
22
+
23
+ <!-- Additional context or notes -->
@@ -1,76 +1,73 @@
1
1
  # {{PROJECT_NAME}}
2
2
 
3
- Project initialized with [Agentic15 Claude Code Framework](https://github.com/ajayhanda/agentic15-claude-zen)
3
+ Created with [Agentic15 Claude Zen](https://github.com/agentic15/claude-zen)
4
4
 
5
- ## Structured Development Workflow
5
+ ## Quick Start
6
6
 
7
- This project uses the Claude Code enforcement framework for task-based development with built-in guardrails.
7
+ ```bash
8
+ # Setup authentication
9
+ npx agentic15 auth
8
10
 
9
- ### Quick Start
11
+ # Create plan
12
+ npx agentic15 plan "Build your feature"
10
13
 
11
- 1. **Create a project plan:**
12
- ```bash
13
- npm run plan:create
14
- ```
14
+ # Tell Claude to create plan, then lock it
15
+ npx agentic15 plan
15
16
 
16
- 2. **Initialize the plan:**
17
- ```bash
18
- npm run plan:init
19
- ```
17
+ # Start first task
18
+ npx agentic15 task next
20
19
 
21
- 3. **Start the next available task (recommended):**
22
- ```bash
23
- npm run task:next
24
- ```
20
+ # Tell Claude to write code
25
21
 
26
- Or manually start a specific task:
27
- ```bash
28
- npm run task:start TASK-001
29
- ```
22
+ # Test and commit
23
+ npm test
24
+ npx agentic15 commit
30
25
 
31
- 4. **Check task status:**
32
- ```bash
33
- npm run task:status
34
- ```
26
+ # Merge PR on GitHub
35
27
 
36
- 5. **Complete a task:**
37
- ```bash
38
- npm run task:done TASK-001
39
- ```
28
+ # Repeat
29
+ npx agentic15 task next
30
+ ```
40
31
 
41
- ### Available Commands
32
+ ## Commands
42
33
 
43
- - `npm run help` - Show all available commands
44
- - `npm run plan:create` - Create a new project plan
45
- - `npm run plan:init` - Initialize and lock the plan
46
- - `npm run plan:manager` - Manage plans (switch, archive, delete)
47
- - `npm run plan:amend` - Amend locked plan with audit trail
48
- - `npm run task:next` - Start next available task (auto-picks based on dependencies)
49
- - `npm run task:start TASK-XXX` - Start a specific task
50
- - `npm run task:done TASK-XXX` - Complete a task
51
- - `npm run task:status` - View task status
52
- - `npm run task:merge TASK-XXX` - Merge completed task to main
34
+ - `npx agentic15 auth` - Setup GitHub authentication
35
+ - `npx agentic15 plan "description"` - Generate plan requirements
36
+ - `npx agentic15 plan` - Lock plan and create tasks
37
+ - `npx agentic15 task next` - Start next task
38
+ - `npx agentic15 task start TASK-XXX` - Start specific task
39
+ - `npx agentic15 commit` - Test, commit, push, create PR
40
+ - `npx agentic15 status` - Check progress
41
+ - `npm test` - Run tests
53
42
 
54
- ### Framework Features
43
+ ## Workflow
55
44
 
56
- - **Task-Based Development** - Structured workflow with dependencies
57
- - **Git Workflow Enforcement** - Automatic branch management
58
- - **Pre-commit Hooks** - Code quality and test validation
59
- - **Project Plan Management** - Hierarchical plans with milestones
60
- - **Task Tracking** - Automatic progress tracking and time estimates
45
+ 1. **Plan** `npx agentic15 plan "description"`
46
+ 2. **Create** Tell Claude: "Create the project plan"
47
+ 3. **Lock** `npx agentic15 plan`
48
+ 4. **Task** `npx agentic15 task next`
49
+ 5. **Code** Tell Claude: "Write code for TASK-XXX"
50
+ 6. **Test** → `npm test`
51
+ 7. **Ship** → `npx agentic15 commit`
52
+ 8. **Repeat** → Steps 4-7 for each task
61
53
 
62
- ### Documentation
54
+ ## Directory Structure
63
55
 
64
- Configuration files are in [.claude/](.claude/):
65
- - `CLAUDE.md` - Complete framework documentation
66
- - `settings.json` - Permissions and hook configuration
67
- - `PLAN-SCHEMA.json` - Project plan schema
68
- - `PROJECT-PLAN-TEMPLATE.json` - Plan template
56
+ ```
57
+ .
58
+ ├── .claude/ # Framework config
59
+ │ ├── plans/ # Project plans and tasks
60
+ │ └── settings.json # Claude permissions
61
+ ├── Agent/ # Your code
62
+ │ ├── src/ # Source files
63
+ │ └── tests/ # Test files
64
+ └── package.json
65
+ ```
69
66
 
70
- ### Framework Updates
67
+ ## Documentation
71
68
 
72
- See the [agentic15-claude-zen CHANGELOG](https://github.com/ajayhanda/agentic15-claude-zen/blob/main/create-agentic15-claude-zen/CHANGELOG.md) for framework version history and breaking changes.
69
+ See [WORKFLOWS.md](https://github.com/agentic15/claude-zen/blob/main/WORKFLOWS.md) for complete workflows with diagrams.
73
70
 
74
- ## Development
71
+ ## Your Code
75
72
 
76
- Your code goes here!
73
+ Write your source code in `Agent/src/` and tests in `Agent/tests/`.
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- function _0x3c64(_0x302c1a,_0x9eef54){_0x302c1a=_0x302c1a-0x94;var _0x44d243=_0x226f();var _0x3e1e5a=_0x44d243[_0x302c1a];return _0x3e1e5a;}var _0x4791ea=_0x3c64;(function(_0x31064e,_0x12b6a5){var _0x4704fc=_0x3c64,_0x4e83f9=_0x31064e();while(!![]){try{var _0x178d75=parseInt(_0x4704fc(0xb0))/0x1*(parseInt(_0x4704fc(0xa5))/0x2)+parseInt(_0x4704fc(0x9d))/0x3*(parseInt(_0x4704fc(0xbf))/0x4)+-parseInt(_0x4704fc(0x9e))/0x5*(-parseInt(_0x4704fc(0xa2))/0x6)+parseInt(_0x4704fc(0xab))/0x7+parseInt(_0x4704fc(0xc3))/0x8+-parseInt(_0x4704fc(0x9c))/0x9*(-parseInt(_0x4704fc(0x95))/0xa)+-parseInt(_0x4704fc(0xad))/0xb*(parseInt(_0x4704fc(0xae))/0xc);if(_0x178d75===_0x12b6a5)break;else _0x4e83f9['push'](_0x4e83f9['shift']());}catch(_0x419a83){_0x4e83f9['push'](_0x4e83f9['shift']());}}}(_0x226f,0xe30d7));var _0x322c2d=(function(){var _0x420116=_0x3c64,_0x8458f6={};_0x8458f6['vymdq']=_0x420116(0x9f),_0x8458f6['kEGvH']='PmtNV',_0x8458f6[_0x420116(0xa6)]=function(_0x2f523d,_0x1a746a){return _0x2f523d!==_0x1a746a;},_0x8458f6[_0x420116(0xc0)]=_0x420116(0xa0);var _0x2a54f0=_0x8458f6,_0x5ec5bb=!![];return function(_0x41d288,_0x10ef5b){var _0x1657c0=_0x420116,_0x4bbe1c={};_0x4bbe1c['udesG']=_0x2a54f0[_0x1657c0(0x94)],_0x4bbe1c['tcNlY']=_0x2a54f0[_0x1657c0(0xb8)];var _0x5a434b=_0x4bbe1c;if(_0x2a54f0['YiaAD'](_0x2a54f0[_0x1657c0(0xc0)],_0x2a54f0['CHYHZ']))return _0x337223[_0x1657c0(0x9a)]()[_0x1657c0(0xc1)](_0x5a434b[_0x1657c0(0xa3)])[_0x1657c0(0x9a)]()[_0x1657c0(0xbc)](_0xec7b82)[_0x1657c0(0xc1)](_0x5a434b['udesG']);else{var _0x3121f6=_0x5ec5bb?function(){var _0x223ede=_0x1657c0;if(_0x5a434b[_0x223ede(0xa7)]===_0x223ede(0xb7))_0x1b8d76[_0x223ede(0xa1)](_0x223ede(0xb5)+_0x187d5f);else{if(_0x10ef5b){var _0x471eee=_0x10ef5b[_0x223ede(0xaf)](_0x41d288,arguments);return _0x10ef5b=null,_0x471eee;}}}:function(){};return _0x5ec5bb=![],_0x3121f6;}};}()),_0x3e1e5a=_0x322c2d(this,function(){var _0x165b39=_0x3c64,_0x407316={};_0x407316[_0x165b39(0xb1)]=_0x165b39(0x9f);var _0x3b8086=_0x407316;return _0x3e1e5a[_0x165b39(0x9a)]()[_0x165b39(0xc1)](_0x3b8086[_0x165b39(0xb1)])[_0x165b39(0x9a)]()[_0x165b39(0xbc)](_0x3e1e5a)[_0x165b39(0xc1)](_0x3b8086[_0x165b39(0xb1)]);});function _0x226f(){var _0x42c162=['kEGvH','llesW','python\x20-m\x20black\x20--version','file_path','constructor','\x22\x20is\x20not\x20supported','HkdLj','12ZTFWzp','CHYHZ','search','child_process','9877328zXkfkg','vymdq','80QzZlPu','Dynamic\x20require\x20of\x20\x22','tool_input','ignore','match','toString','existsSync','1432071iXABub','234147MJoLtJ','60890ZXVOAV','(((.+)+)+)+$','DkNTk','warn','438VASfZQ','udesG','stdio','188554oaxsFC','YiaAD','tcNlY','npx\x20prettier\x20--version','argv','Formatted:\x20','11908463wojzaP','XXIdb','22xWZCLm','29240076sgWHxi','apply','5EZjVuf','gFnuB','exit','VSLAx','log','Warning:\x20Could\x20not\x20format\x20','parse','JOXHM'];_0x226f=function(){return _0x42c162;};return _0x226f();}_0x3e1e5a();var r=(_0x2f8d52=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2f8d52,{'get':(_0x43f87f,_0x54da00)=>(typeof require<'u'?require:_0x43f87f)[_0x54da00]}):_0x2f8d52)(function(_0x32112d){var _0x2c7494=_0x3c64,_0x3d681f={'XXIdb':function(_0x25c6a9,_0xdbc220){return _0x25c6a9<_0xdbc220;},'GKkIG':function(_0x2b101c,_0x37e673){return _0x2b101c(_0x37e673);},'llesW':function(_0x41b022,_0x4487a5){return _0x41b022+_0x4487a5;},'HkdLj':function(_0x1e9bc5,_0x14ca8f){return _0x1e9bc5+_0x14ca8f;},'VSLAx':_0x2c7494(0x96)};if(_0x3d681f[_0x2c7494(0xac)](typeof require,'u'))return require[_0x2c7494(0xaf)](this,arguments);throw _0x3d681f['GKkIG'](Error,_0x3d681f[_0x2c7494(0xb9)](_0x3d681f[_0x2c7494(0xbe)](_0x3d681f[_0x2c7494(0xb3)],_0x32112d),_0x2c7494(0xbd)));}),{execSync:e}=r(_0x4791ea(0xc2)),i=r('fs'),c=process[_0x4791ea(0xa9)][0x2]||'{}',a=JSON[_0x4791ea(0xb6)](c),t=a[_0x4791ea(0x97)]?.[_0x4791ea(0xbb)];(!t||!i[_0x4791ea(0x9b)](t))&&process['exit'](0x0);try{if(t['match'](/\.(ts|tsx|js|jsx|json)$/))try{var _0x247836={};_0x247836[_0x4791ea(0xa4)]='ignore';var _0xfc8130={};_0xfc8130[_0x4791ea(0xa4)]=_0x4791ea(0x98),(e(_0x4791ea(0xa8),_0x247836),e('npx\x20prettier\x20--write\x20\x22'+t+'\x22',_0xfc8130),console[_0x4791ea(0xb4)](_0x4791ea(0xaa)+t));}catch{}else{if(t[_0x4791ea(0x99)](/\.py$/))try{var _0x3fe97f={};_0x3fe97f['stdio']=_0x4791ea(0x98);var _0x3299d4={};_0x3299d4[_0x4791ea(0xa4)]=_0x4791ea(0x98),(e(_0x4791ea(0xba),_0x3fe97f),e('python\x20-m\x20black\x20\x22'+t+'\x22',_0x3299d4),console[_0x4791ea(0xb4)](_0x4791ea(0xaa)+t));}catch{}}}catch{console[_0x4791ea(0xa1)]('Warning:\x20Could\x20not\x20format\x20'+t);}process[_0x4791ea(0xb2)](0x0);
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const _0x34a0ec=_0x2a6c;(function(_0x53e748,_0x5182cf){const _0x299364=_0x2a6c,_0x46510c=_0x53e748();while(!![]){try{const _0x38f6d9=-parseInt(_0x299364(0xec))/0x1+-parseInt(_0x299364(0x10f))/0x2*(parseInt(_0x299364(0xd8))/0x3)+-parseInt(_0x299364(0x114))/0x4*(-parseInt(_0x299364(0xd9))/0x5)+-parseInt(_0x299364(0xf6))/0x6*(-parseInt(_0x299364(0xe0))/0x7)+-parseInt(_0x299364(0x104))/0x8*(parseInt(_0x299364(0xfb))/0x9)+-parseInt(_0x299364(0x115))/0xa*(parseInt(_0x299364(0x103))/0xb)+parseInt(_0x299364(0xff))/0xc*(parseInt(_0x299364(0xe8))/0xd);if(_0x38f6d9===_0x5182cf)break;else _0x46510c['push'](_0x46510c['shift']());}catch(_0x3d3540){_0x46510c['push'](_0x46510c['shift']());}}}(_0x324d,0xbf37b));var a=(_0x4a7a4c=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x4a7a4c,{'get':(_0x29d7ba,_0x35b4d6)=>(typeof require<'u'?require:_0x29d7ba)[_0x35b4d6]}):_0x4a7a4c)(function(_0x22eee8){const _0x1c3791=_0x2a6c,_0x1a4902={'FDovo':function(_0x493bcf,_0x378f8b){return _0x493bcf<_0x378f8b;},'mbWYc':function(_0x3ee625,_0x5eb7cf){return _0x3ee625(_0x5eb7cf);},'cQqQm':function(_0x4fd945,_0x1dddfe){return _0x4fd945+_0x1dddfe;},'XsRgL':_0x1c3791(0xc9)};if(_0x1a4902['FDovo'](typeof require,'u'))return require[_0x1c3791(0xe9)](this,arguments);throw _0x1a4902['mbWYc'](Error,_0x1a4902[_0x1c3791(0xea)](_0x1a4902[_0x1c3791(0x109)]+_0x22eee8,_0x1c3791(0xe3)));}),t=a('fs'),i=a(_0x34a0ec(0xf9)),c=i['join'](process[_0x34a0ec(0x10d)](),_0x34a0ec(0xf1),_0x34a0ec(0xc2));function l(){const _0x5cffaf=_0x34a0ec,_0x5d5847={};_0x5d5847[_0x5cffaf(0xe7)]=_0x5cffaf(0xd1),_0x5d5847[_0x5cffaf(0x10c)]=_0x5cffaf(0x100);const _0x2bb958=_0x5d5847,_0x12e774={};_0x12e774[_0x5cffaf(0xdd)]=0x0,_0x12e774[_0x5cffaf(0xe2)]=[];if(!t[_0x5cffaf(0xfc)](c))return _0x12e774;let _0x52c7a9=t[_0x5cffaf(0xf8)](c)['filter'](_0x298a63=>_0x298a63[_0x5cffaf(0x111)](_0x5cffaf(0x116))),_0x2e7e8e=[];for(let _0x18213b of _0x52c7a9)try{let _0x4c6f25=i[_0x5cffaf(0xcd)](c,_0x18213b),_0x28d0e7=JSON[_0x5cffaf(0xd0)](t[_0x5cffaf(0xfe)](_0x4c6f25,_0x2bb958['wFDcg']));_0x28d0e7[_0x5cffaf(0x112)]===_0x2bb958[_0x5cffaf(0x10c)]&&_0x2e7e8e[_0x5cffaf(0xef)]({'file':_0x18213b,'componentName':_0x28d0e7[_0x5cffaf(0x102)],'screenshotPath':_0x28d0e7[_0x5cffaf(0xc1)],'createdAt':_0x28d0e7[_0x5cffaf(0xbf)]});}catch{}const _0x6ae917={};return _0x6ae917[_0x5cffaf(0xdd)]=_0x2e7e8e[_0x5cffaf(0xd3)],_0x6ae917['reviews']=_0x2e7e8e,_0x6ae917;}function _0x2a6c(_0x19f800,_0x351f4c){_0x19f800=_0x19f800-0xbf;const _0x46824c=_0x324d();let _0x48b6f5=_0x46824c[_0x19f800];return _0x48b6f5;}function p(){const _0x22af25=_0x34a0ec,_0x473880={'MxrHm':_0x22af25(0xfa),'EFbTz':function(_0x1a99d0,_0x137c73){return _0x1a99d0===_0x137c73;},'zMFJb':_0x22af25(0xf7),'PstoM':_0x22af25(0x100),'qCenp':_0x22af25(0x101),'jtmYf':_0x22af25(0x107),'WZRMB':function(_0x266231,_0xbf96aa){return _0x266231+_0xbf96aa;},'YQpwZ':_0x22af25(0xed),'JuSPI':function(_0x1c7f7b,_0x5f5070){return _0x1c7f7b+_0x5f5070;},'tsSis':function(_0x403cc0,_0x6afd37,_0x3d6918){return _0x403cc0(_0x6afd37,_0x3d6918);},'nqftL':function(_0x2c0822){return _0x2c0822();},'NzdkX':function(_0x4ba1ec){return _0x4ba1ec();},'vVeSE':_0x22af25(0xd2),'sUlQK':'\x20\x20npx\x20tsx\x20Agent/src/visual/batch-approve.ts\x20--approve-all','yTJak':_0x22af25(0xc7),'SQhda':_0x22af25(0xd6),'aRvCE':_0x22af25(0xce)},_0x2f71fe=(function(){const _0x3e9f96=_0x22af25,_0x230377={'wAOUW':function(_0x2a01c5,_0x1d33d5){const _0x1ea92b=_0x2a6c;return _0x473880[_0x1ea92b(0xe4)](_0x2a01c5,_0x1d33d5);},'DDhts':_0x473880[_0x3e9f96(0xd7)]};if(_0x473880[_0x3e9f96(0x10a)]!==_0x473880[_0x3e9f96(0xc4)]){let _0x869672=!![];return function(_0x352e65,_0x7a8385){const _0xf21c9b=_0x3e9f96,_0x163dda={'CyZgq':_0x473880[_0xf21c9b(0xca)],'Gtlxy':function(_0x550874,_0x38c14a){return _0x473880['EFbTz'](_0x550874,_0x38c14a);},'yqfJs':_0x473880[_0xf21c9b(0xde)]},_0x138cd9=_0x869672?function(){const _0x1dd581=_0xf21c9b;if(_0x7a8385){if(_0x163dda[_0x1dd581(0xcc)](_0x1dd581(0xf7),_0x163dda[_0x1dd581(0x105)])){const _0x291987=_0x7a8385[_0x1dd581(0xe9)](_0x352e65,arguments);return _0x7a8385=null,_0x291987;}else return _0x242712[_0x1dd581(0xf3)]()[_0x1dd581(0xdf)](qquyFm['CyZgq'])['toString']()[_0x1dd581(0x10b)](_0x150cee)[_0x1dd581(0xdf)](qquyFm[_0x1dd581(0xdc)]);}}:function(){};return _0x869672=![],_0x138cd9;};}else{let _0xdb0aa3=_0x181650[_0x3e9f96(0xcd)](_0x2bf938,_0x437622),_0x269df8=_0x162a2b[_0x3e9f96(0xd0)](_0x5e7334['readFileSync'](_0xdb0aa3,_0x3e9f96(0xd1)));_0x230377[_0x3e9f96(0xee)](_0x269df8[_0x3e9f96(0x112)],_0x230377[_0x3e9f96(0xf0)])&&_0x48b5be[_0x3e9f96(0xef)]({'file':_0x1d0055,'componentName':_0x269df8[_0x3e9f96(0x102)],'screenshotPath':_0x269df8['screenshotPath'],'createdAt':_0x269df8[_0x3e9f96(0xbf)]});}}()),_0x48d835=_0x473880[_0x22af25(0x106)](_0x2f71fe,this,function(){const _0x3803cf=_0x22af25;if(_0x3803cf(0xe5)!==_0x473880[_0x3803cf(0x10e)])return _0x48d835[_0x3803cf(0xf3)]()[_0x3803cf(0xdf)](_0x473880[_0x3803cf(0xca)])[_0x3803cf(0xf3)]()[_0x3803cf(0x10b)](_0x48d835)['search'](_0x473880[_0x3803cf(0xca)]);else _0x58a689[_0x3803cf(0xda)](_0x473880[_0x3803cf(0xd4)](_0x25cdac,0x1)+'.\x20'+_0x1f5c84[_0x3803cf(0x102)]),_0x3c1f4b[_0x3803cf(0xda)](_0x3803cf(0xc6)+_0x4cfdf8['screenshotPath']);});_0x473880[_0x22af25(0xf2)](_0x48d835);let {total:_0xa43fb,reviews:_0x35e8f6}=_0x473880[_0x22af25(0xeb)](l);_0xa43fb===0x0&&process[_0x22af25(0xe6)](0x0),console[_0x22af25(0xda)](_0x22af25(0xdb)),console[_0x22af25(0xda)]('Cannot\x20commit\x20with\x20'+_0xa43fb+_0x22af25(0xf4)+(_0xa43fb>0x1?'s':'')+'.\x0a'),_0x35e8f6[_0x22af25(0xcf)]((_0x2254b0,_0xec4075)=>{const _0x592762=_0x22af25;console[_0x592762(0xda)](_0x473880[_0x592762(0xc8)](_0xec4075,0x1)+'.\x20'+_0x2254b0[_0x592762(0x102)]),console[_0x592762(0xda)](_0x592762(0xc6)+_0x2254b0[_0x592762(0xc1)]);}),console['error'](_0x22af25(0xc5)),console[_0x22af25(0xda)](_0x473880[_0x22af25(0xf5)]),console['error'](_0x22af25(0xe1)),console[_0x22af25(0xda)](_0x22af25(0x108)),console[_0x22af25(0xda)](_0x473880['sUlQK']),console[_0x22af25(0xda)](_0x473880[_0x22af25(0xc0)]),console[_0x22af25(0xda)](_0x22af25(0xc3)),console['error'](_0x473880[_0x22af25(0xcb)]),console[_0x22af25(0xda)](_0x22af25(0x110)+_0x35e8f6[0x0][_0x22af25(0xc1)]+'\x22)'),console[_0x22af25(0xda)](_0x22af25(0xfd)),console[_0x22af25(0xda)](_0x473880['aRvCE']),console['error'](_0x22af25(0xd5)),console[_0x22af25(0xda)](_0x22af25(0x113)),process[_0x22af25(0xe6)](0x1);}p();function _0x324d(){const _0xdfcfa8=['🔍\x20Manual\x20review:','PstoM','1473MkFbYr','5pvrWPl','error','\x0a🚫\x20PENDING\x20VISUAL\x20REVIEWS\x0a','CyZgq','total','zMFJb','search','19327GRyLPt','\x20\x20npx\x20tsx\x20Agent/src/visual/approve-reviews.ts\x0a','reviews','\x22\x20is\x20not\x20supported','EFbTz','eyiyX','exit','wFDcg','13RDeWLz','apply','cQqQm','NzdkX','979826GrwWKT','wcLdS','wAOUW','push','DDhts','.claude','nqftL','toString','\x20pending\x20visual\x20review','vVeSE','2046BfepHf','oNjKn','readdirSync','path','(((.+)+)+)+$','4623111pqTUKh','existsSync','\x20\x202.\x20Analyze\x20visual\x20issues','readFileSync','55283640eIoGCi','pending','gUXiC','componentName','22ZerQKy','24ohqYKN','yqfJs','tsSis','bxILZ','🤖\x20Batch\x20operations:','XsRgL','qCenp','constructor','tPFhM','cwd','YQpwZ','4372enZhEC','\x20\x201.\x20Read\x20screenshot:\x20Read(\x22','endsWith','status','\x20\x205.\x20Try\x20commit\x20again\x0a','675492tTwdGd','6699640XEOtuK','.json','createdAt','yTJak','screenshotPath','pending-reviews','\x20\x20npx\x20tsx\x20Agent/src/visual/batch-approve.ts\x20--status\x0a','jtmYf','\x0aReview\x20options:\x0a','\x20\x20\x20Screenshot:\x20','\x20\x20npx\x20tsx\x20Agent/src/visual/batch-approve.ts\x20--reject-all\x20--reason=\x22...\x22','JuSPI','Dynamic\x20require\x20of\x20\x22','MxrHm','SQhda','Gtlxy','join','\x20\x203.\x20Update\x20review\x20JSON\x20status\x20field','forEach','parse','utf8','📋\x20Interactive\x20approval\x20(recommended):','length','WZRMB','\x20\x204.\x20Fix\x20issues\x20if\x20needed'];_0x324d=function(){return _0xdfcfa8;};return _0x324d();}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- var _0x168d66=_0x4fe0;(function(_0x12feed,_0x383704){var _0x14b187=_0x4fe0,_0x287018=_0x12feed();while(!![]){try{var _0x1ae1ef=parseInt(_0x14b187(0x1ae))/0x1*(-parseInt(_0x14b187(0x169))/0x2)+-parseInt(_0x14b187(0x1b2))/0x3+parseInt(_0x14b187(0x183))/0x4*(parseInt(_0x14b187(0x197))/0x5)+-parseInt(_0x14b187(0x1a4))/0x6*(parseInt(_0x14b187(0x166))/0x7)+-parseInt(_0x14b187(0x1b3))/0x8+-parseInt(_0x14b187(0x18d))/0x9+parseInt(_0x14b187(0x1ac))/0xa;if(_0x1ae1ef===_0x383704)break;else _0x287018['push'](_0x287018['shift']());}catch(_0x3415be){_0x287018['push'](_0x287018['shift']());}}}(_0x2f53,0xdf7ab));var _0x3b1d68=(function(){var _0x534280=!![];return function(_0x5cfff0,_0x564dc7){var _0x216ff9=_0x534280?function(){var _0x3ec352=_0x4fe0;if(_0x564dc7){var _0x16a3a4=_0x564dc7[_0x3ec352(0x16f)](_0x5cfff0,arguments);return _0x564dc7=null,_0x16a3a4;}}:function(){};return _0x534280=![],_0x216ff9;};}()),_0x31fa60=_0x3b1d68(this,function(){var _0x3081cb=_0x4fe0,_0x5d0f77={};_0x5d0f77[_0x3081cb(0x16b)]=_0x3081cb(0x170);var _0x11da2c=_0x5d0f77;return _0x31fa60[_0x3081cb(0x1b5)]()[_0x3081cb(0x174)](_0x11da2c[_0x3081cb(0x16b)])['toString']()[_0x3081cb(0x178)](_0x31fa60)[_0x3081cb(0x174)](_0x11da2c[_0x3081cb(0x16b)]);});_0x31fa60();var i=(_0x3ec1ee=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3ec1ee,{'get':(_0x24e5c9,_0x107548)=>(typeof require<'u'?require:_0x24e5c9)[_0x107548]}):_0x3ec1ee)(function(_0x54eb22){var _0x3f90da=_0x4fe0,_0x352b43={'eOWtU':function(_0x45a95f,_0x3deed6){return _0x45a95f<_0x3deed6;},'pahJJ':function(_0x846732,_0x1f35b4){return _0x846732(_0x1f35b4);},'TnEhV':function(_0x5c30eb,_0x4a793d){return _0x5c30eb+_0x4a793d;},'poUzc':'Dynamic\x20require\x20of\x20\x22'};if(_0x352b43[_0x3f90da(0x1a2)](typeof require,'u'))return require[_0x3f90da(0x16f)](this,arguments);throw _0x352b43[_0x3f90da(0x1a3)](Error,_0x352b43['TnEhV'](_0x352b43[_0x3f90da(0x194)](_0x352b43['poUzc'],_0x54eb22),'\x22\x20is\x20not\x20supported'));}),n=i('fs'),d=i(_0x168d66(0x18a)),a=process[_0x168d66(0x1b4)][0x2];a||(console['error'](_0x168d66(0x192)),console[_0x168d66(0x17f)](_0x168d66(0x16e)),process[_0x168d66(0x1a9)](0x1));var p='.claude/ACTIVE-PLAN';n[_0x168d66(0x1b1)](p)||(console['error'](_0x168d66(0x165)),console['error']('Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a'),process[_0x168d66(0x1a9)](0x1));var u=n[_0x168d66(0x1a6)](p,_0x168d66(0x168))[_0x168d66(0x190)](),k=d[_0x168d66(0x18c)](_0x168d66(0x184),u),r=d[_0x168d66(0x18c)](k,'TASK-TRACKER.json'),l=d['join'](k,'tasks',a+_0x168d66(0x19b));n[_0x168d66(0x1b1)](r)||(console[_0x168d66(0x17f)](_0x168d66(0x16c)),console[_0x168d66(0x17f)](_0x168d66(0x191)+u),console[_0x168d66(0x17f)]('Initialize\x20first:\x20npm\x20run\x20plan:init\x0a'),process[_0x168d66(0x1a9)](0x1)),n[_0x168d66(0x1b1)](l)||(console[_0x168d66(0x17f)](_0x168d66(0x175)+l+'\x0a'),process['exit'](0x1));var e=JSON['parse'](n[_0x168d66(0x1a6)](r,_0x168d66(0x168))),s=JSON[_0x168d66(0x18e)](n[_0x168d66(0x1a6)](l,_0x168d66(0x168))),f=s[_0x168d66(0x1ad)]==='completed';if(f){console[_0x168d66(0x19a)]('\x0a✅\x20Task\x20'+a+_0x168d66(0x182)),console['log']('Syncing\x20tracker\x20status...\x0a');let t=e[_0x168d66(0x17a)][_0x168d66(0x1af)](_0x55b187=>_0x55b187['id']===a);t&&t[_0x168d66(0x1ad)]!==_0x168d66(0x176)?(t[_0x168d66(0x1ad)]=_0x168d66(0x176),e['statistics']={'totalTasks':e[_0x168d66(0x17a)]['length'],'pending':e[_0x168d66(0x17a)][_0x168d66(0x19e)](_0x323dd2=>_0x323dd2[_0x168d66(0x1ad)]===_0x168d66(0x1a7))[_0x168d66(0x18f)],'inProgress':e[_0x168d66(0x17a)][_0x168d66(0x19e)](_0x125683=>_0x125683[_0x168d66(0x1ad)]===_0x168d66(0x17c))[_0x168d66(0x18f)],'completed':e[_0x168d66(0x17a)]['filter'](_0x4ece67=>_0x4ece67['status']===_0x168d66(0x176))[_0x168d66(0x18f)],'blocked':e['taskFiles']['filter'](_0x573672=>_0x573672[_0x168d66(0x1ad)]===_0x168d66(0x195))[_0x168d66(0x18f)]},e[_0x168d66(0x186)]=null,e[_0x168d66(0x19c)]=new Date()[_0x168d66(0x1b0)](),n[_0x168d66(0x19d)](r,JSON['stringify'](e,null,0x2)),console[_0x168d66(0x19a)](_0x168d66(0x1a8))):console[_0x168d66(0x19a)](_0x168d66(0x1a5)),process['exit'](0x0);}var {execSync:S}=i(_0x168d66(0x18b));try{var _0x347198={};_0x347198['encoding']=_0x168d66(0x168);let t=S(_0x168d66(0x196),_0x347198);t['trim']()&&(console['error'](_0x168d66(0x198)),console['error'](_0x168d66(0x181)),console['error'](t),console['error'](_0x168d66(0x1a1)),console['error'](_0x168d66(0x193)),console[_0x168d66(0x17f)]('\x20\x20git\x20commit\x20-m\x20\x22['+a+_0x168d66(0x173)),console[_0x168d66(0x17f)](''),process[_0x168d66(0x1a9)](0x1));}catch{console[_0x168d66(0x17e)](_0x168d66(0x16d)),console['warn'](_0x168d66(0x179));}s[_0x168d66(0x1ad)]=_0x168d66(0x176),s[_0x168d66(0x187)]=new Date()[_0x168d66(0x1b0)]();if(s[_0x168d66(0x17d)]){let t=new Date(s[_0x168d66(0x17d)]),o=new Date(s['completedAt']);s[_0x168d66(0x167)]=Math[_0x168d66(0x1b6)]((o-t)/(0x3e8*0x3c*0x3c)*0xa)/0xa;}n[_0x168d66(0x19d)](l,JSON[_0x168d66(0x17b)](s,null,0x2)),e['activeTask']=null,e[_0x168d66(0x19c)]=new Date()['toISOString']();var g=e['taskFiles'][_0x168d66(0x1af)](_0x202c17=>_0x202c17['id']===a);g&&(g['status']=_0x168d66(0x176)),e[_0x168d66(0x180)]={'totalTasks':e['taskFiles']['length'],'pending':e[_0x168d66(0x17a)][_0x168d66(0x19e)](_0x11b1a6=>_0x11b1a6[_0x168d66(0x1ad)]===_0x168d66(0x1a7))[_0x168d66(0x18f)],'inProgress':e[_0x168d66(0x17a)]['filter'](_0x13779e=>_0x13779e[_0x168d66(0x1ad)]==='in_progress')['length'],'completed':e[_0x168d66(0x17a)][_0x168d66(0x19e)](_0x37ada7=>_0x37ada7[_0x168d66(0x1ad)]===_0x168d66(0x176))[_0x168d66(0x18f)],'blocked':e['taskFiles']['filter'](_0x5b5317=>_0x5b5317[_0x168d66(0x1ad)]===_0x168d66(0x195))[_0x168d66(0x18f)]},n[_0x168d66(0x19d)](r,JSON[_0x168d66(0x17b)](e,null,0x2)),console['log'](_0x168d66(0x19f)+a),console[_0x168d66(0x19a)](_0x168d66(0x185)+u+'\x0a'),console['log']('📌\x20'+s[_0x168d66(0x188)]),s[_0x168d66(0x167)]&&console[_0x168d66(0x19a)]('⏱️\x20\x20Time\x20taken:\x20'+s['actualHours']+_0x168d66(0x189));if(s[_0x168d66(0x199)]&&s[_0x168d66(0x167)]){let t=((s[_0x168d66(0x167)]-s[_0x168d66(0x199)])/s[_0x168d66(0x199)]*0x64)['toFixed'](0x1);console[_0x168d66(0x19a)]('📊\x20Estimated:\x20'+s[_0x168d66(0x199)]+_0x168d66(0x1aa)+t+'%');}var h=(e['statistics'][_0x168d66(0x176)]/e[_0x168d66(0x180)][_0x168d66(0x171)]*0x64)['toFixed'](0x1);function _0x2f53(){var _0x52fbce=['Usage:\x20npm\x20run\x20task:done\x20TASK-001\x0a','apply','(((.+)+)+)+$','totalTasks','%)\x0a',']\x20Description\x20of\x20changes\x22','search','\x0a❌\x20ERROR:\x20Task\x20file\x20not\x20found:\x20','completed','📌\x20Next\x20task\x20available:','constructor','Make\x20sure\x20all\x20changes\x20are\x20committed!\x0a','taskFiles','stringify','in_progress','startedAt','warn','error','statistics','\x0aUncommitted\x20files:','\x20is\x20already\x20completed','60dLBhGE','.claude/plans','📋\x20Plan:\x20','activeTask','completedAt','title','\x20hours','path','child_process','join','3940695DYsbqP','parse','length','trim','Plan:\x20','\x0a❌\x20ERROR:\x20Task\x20ID\x20required','\x20\x20git\x20add\x20.','TnEhV','blocked','git\x20status\x20--porcelain','201080AfssRJ','\x0a❌\x20ERROR:\x20You\x20have\x20uncommitted\x20changes','estimatedHours','log','.json','lastUpdated','writeFileSync','filter','\x0a✅\x20Completed\x20task:\x20','\x20\x20Start:\x20npm\x20run\x20task:next\x0a','\x0aCommit\x20all\x20changes\x20before\x20completing\x20task:','eOWtU','pahJJ','19992ozbFCS','✅\x20Tracker\x20already\x20synchronized\x0a','readFileSync','pending','✅\x20Tracker\x20synchronized\x0a','exit','h\x20|\x20Variance:\x20','🎉\x20ALL\x20TASKS\x20COMPLETED!\x20Project\x20finished.\x0a','51990140JRavFv','status','11971FmlRTf','find','toISOString','existsSync','1851120DSCIht','14009352hbKKdN','argv','toString','round','\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found','1932CgrZqY','actualHours','utf8','194qJYGfI','\x20tasks\x20(','AytOX','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','\x0a⚠️\x20\x20WARNING:\x20Could\x20not\x20check\x20git\x20status'];_0x2f53=function(){return _0x52fbce;};return _0x2f53();}console[_0x168d66(0x19a)]('\x0a📈\x20Project\x20progress:\x20'+e[_0x168d66(0x180)][_0x168d66(0x176)]+'/'+e[_0x168d66(0x180)]['totalTasks']+_0x168d66(0x16a)+h+_0x168d66(0x172));function _0x4fe0(_0x366b24,_0x1e85a9){_0x366b24=_0x366b24-0x165;var _0x2f7008=_0x2f53();var _0x31fa60=_0x2f7008[_0x366b24];return _0x31fa60;}var c=e[_0x168d66(0x17a)][_0x168d66(0x1af)](_0x3cc9ca=>_0x3cc9ca[_0x168d66(0x1ad)]==='pending');c?(console[_0x168d66(0x19a)](_0x168d66(0x177)),console[_0x168d66(0x19a)]('\x20\x20'+c['id']+':\x20'+c[_0x168d66(0x188)]),console['log'](_0x168d66(0x1a0))):e[_0x168d66(0x180)][_0x168d66(0x176)]===e[_0x168d66(0x180)][_0x168d66(0x171)]&&console['log'](_0x168d66(0x1ab)),process[_0x168d66(0x1a9)](0x0);
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const _0x59d3a3=_0x1d70;function _0x481a(){const _0x182c54=['oXlzd','93640WokhgY','514655KpiLIR','toString','mzLuc','VfKPv','yRkPf','1262542nrQNYF','\x0a📋\x20Review\x20options:\x0a','parse','(((.+)+)+)+$','gOPkM','readFileSync','componentName','FDlKk','constructor','filter','pending','search','FdwZt','HNpHC','iSjQb','1695096eBxemd','nMnaW','IylFz','QOvMa','path','toLocaleString','utf8','2288308PokGdU','knIKN','now','24958890uTQwcO','AZsrc','endsWith','hHEOL','JqHTh','OboSP','status','urlpV','\x20\x20Read(\x22','Voave','apply','\x0a\x20\x20\x20Created:\x20','screenshotPath','dScwh','Interactive\x20approval\x20(recommended):','2919266AcfQUH','423scJjKZ','lVlqz','cwd','NqCWc','.claude','LDJPj','CkhVQ','\x22)\x0a','type','soiVP','nQxxD','kggCu','lLBnn','length','JJFwW','baselinePath','log','\x20\x20npx\x20tsx\x20Agent/src/visual/batch-approve.ts\x20--status','qzAqW','cdRqa','createdAt','join','WJXbS','getTime','\x0a\x20\x20\x20Baseline:\x20','readdirSync','\x22\x20is\x20not\x20supported','floor','existsSync','Batch\x20operations:','12YqubdZ','exit','pending-reviews','1FBWudG','Dynamic\x20require\x20of\x20\x22','clhld','YRkUG','push'];_0x481a=function(){return _0x182c54;};return _0x481a();}(function(_0x1dc9f9,_0x2ac6bd){const _0x38ab5c=_0x1d70,_0x526415=_0x1dc9f9();while(!![]){try{const _0x28e94a=-parseInt(_0x38ab5c(0xc3))/0x1*(-parseInt(_0x38ab5c(0xcf))/0x2)+parseInt(_0x38ab5c(0xde))/0x3+parseInt(_0x38ab5c(0xe5))/0x4+parseInt(_0x38ab5c(0xca))/0x5*(parseInt(_0x38ab5c(0xc0))/0x6)+parseInt(_0x38ab5c(0xa1))/0x7+parseInt(_0x38ab5c(0xc9))/0x8*(parseInt(_0x38ab5c(0xa2))/0x9)+-parseInt(_0x38ab5c(0xe8))/0xa;if(_0x28e94a===_0x2ac6bd)break;else _0x526415['push'](_0x526415['shift']());}catch(_0x5c0d38){_0x526415['push'](_0x526415['shift']());}}}(_0x481a,0x6cc56));function _0x1d70(_0x18b2c4,_0xb14c4a){_0x18b2c4=_0x18b2c4-0x9d;const _0x2bc0ac=_0x481a();let _0x1cfbc7=_0x2bc0ac[_0x18b2c4];return _0x1cfbc7;}var i=(_0x362e72=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x362e72,{'get':(_0xcff07b,_0x46c605)=>(typeof require<'u'?require:_0xcff07b)[_0x46c605]}):_0x362e72)(function(_0x1cca9e){const _0x23f15c=_0x1d70,_0x1997f8={};_0x1997f8[_0x23f15c(0xa3)]=function(_0x3c7b18,_0x48319f){return _0x3c7b18+_0x48319f;},_0x1997f8[_0x23f15c(0xdf)]=_0x23f15c(0xc4),_0x1997f8[_0x23f15c(0xa8)]=_0x23f15c(0xbc);const _0x207eff=_0x1997f8;if(typeof require<'u')return require[_0x23f15c(0xf2)](this,arguments);throw Error(_0x207eff[_0x23f15c(0xa3)](_0x207eff[_0x23f15c(0xa3)](_0x207eff[_0x23f15c(0xdf)],_0x1cca9e),_0x207eff[_0x23f15c(0xa8)]));}),s=i('fs'),r=i(_0x59d3a3(0xe2)),a=r[_0x59d3a3(0xb7)](process[_0x59d3a3(0xa4)](),_0x59d3a3(0xa6),_0x59d3a3(0xc2));function l(){const _0x59b797=_0x59d3a3,_0x215bb6={};_0x215bb6[_0x59b797(0xcc)]=_0x59b797(0xe4),_0x215bb6[_0x59b797(0xb5)]=function(_0x524300,_0x15b73f){return _0x524300===_0x15b73f;};const _0x22a0de=_0x215bb6;if(!s[_0x59b797(0xbe)](a))return[];let _0x4db44c=s[_0x59b797(0xbb)](a)[_0x59b797(0xd8)](_0x197f84=>_0x197f84[_0x59b797(0xea)]('.json')),_0xcce5b8=[];for(let _0x51a5e4 of _0x4db44c)try{let _0x535dd9=r[_0x59b797(0xb7)](a,_0x51a5e4),_0x324fb9=JSON[_0x59b797(0xd1)](s[_0x59b797(0xd4)](_0x535dd9,_0x22a0de[_0x59b797(0xcc)]));_0x22a0de['cdRqa'](_0x324fb9[_0x59b797(0xee)],_0x59b797(0xd9))&&_0xcce5b8[_0x59b797(0xc7)]({'file':_0x51a5e4,'path':_0x535dd9,..._0x324fb9});}catch{}return _0xcce5b8;}function p(_0x2ceeb6,_0x1da97b){const _0x3c1f82=_0x59d3a3,_0x26fbff={};_0x26fbff[_0x3c1f82(0xad)]=function(_0x12233b,_0x268603){return _0x12233b/_0x268603;},_0x26fbff[_0x3c1f82(0xce)]=function(_0x1b631b,_0x41b522){return _0x1b631b/_0x41b522;},_0x26fbff[_0x3c1f82(0xf1)]=function(_0xa19bf,_0x2e5512){return _0xa19bf-_0x2e5512;},_0x26fbff['JqHTh']=function(_0x27854c,_0x243454){return _0x27854c+_0x243454;};const _0x5a4dbd=_0x26fbff;let _0x3e8d6f=new Date(_0x2ceeb6[_0x3c1f82(0xb6)]),_0x46a731=Math[_0x3c1f82(0xbd)](_0x5a4dbd[_0x3c1f82(0xad)](_0x5a4dbd[_0x3c1f82(0xce)](_0x5a4dbd[_0x3c1f82(0xf1)](Date[_0x3c1f82(0xe7)](),_0x3e8d6f[_0x3c1f82(0xb9)]()),0x3e8),0x3c));return'\x0a'+_0x5a4dbd[_0x3c1f82(0xec)](_0x1da97b,0x1)+'.\x20'+_0x2ceeb6[_0x3c1f82(0xd5)]+'\x20('+_0x2ceeb6[_0x3c1f82(0xaa)]+')\x0a\x20\x20\x20Screenshot:\x20'+_0x2ceeb6['screenshotPath']+'\x0a\x20\x20\x20Created:\x20'+_0x3e8d6f[_0x3c1f82(0xe3)]()+'\x20('+_0x46a731+'\x20min\x20ago)'+(_0x2ceeb6[_0x3c1f82(0xb1)]?_0x3c1f82(0xba)+_0x2ceeb6[_0x3c1f82(0xb1)]:'');}function g(){const _0x1f88d9=_0x59d3a3,_0x5dde08={'hHEOL':function(_0xc7559c,_0x39c7cf){return _0xc7559c===_0x39c7cf;},'lLBnn':'QLkPd','FDlKk':_0x1f88d9(0xb4),'dScwh':function(_0x48071a,_0x4bd202){return _0x48071a/_0x4bd202;},'clhld':function(_0x38e18c,_0xb0356c){return _0x38e18c-_0xb0356c;},'WJXbS':function(_0x5681b5,_0xaaf56d){return _0x5681b5+_0xaaf56d;},'iSjQb':function(_0x228aa4,_0x410433){return _0x228aa4<_0x410433;},'oXlzd':'\x22\x20is\x20not\x20supported','QOvMa':_0x1f88d9(0xcd),'OboSP':function(_0x2ec729,_0x553408,_0x2db7b8){return _0x2ec729(_0x553408,_0x2db7b8);},'gOPkM':function(_0x95077b){return _0x95077b();},'qaVlt':function(_0x358c14,_0x4f044c){return _0x358c14>_0x4f044c;},'IylFz':_0x1f88d9(0xa0),'Iyapw':_0x1f88d9(0xbf),'LDJPj':'Manual\x20analysis:'},_0x1a4b95=(function(){const _0x473f2c=_0x1f88d9,_0x403fa4={'JJFwW':function(_0x161676,_0x41a1d3){const _0xfc241b=_0x1d70;return _0x5dde08[_0xfc241b(0x9f)](_0x161676,_0x41a1d3);},'soiVP':function(_0x10eaf0,_0x44eccb){const _0x7974e8=_0x1d70;return _0x5dde08[_0x7974e8(0xc5)](_0x10eaf0,_0x44eccb);},'xVrAm':function(_0xea6b4d,_0x530ea6){const _0x3720d5=_0x1d70;return _0x5dde08[_0x3720d5(0xb8)](_0xea6b4d,_0x530ea6);},'AZsrc':function(_0x378fdd,_0x18e646){const _0x55c413=_0x1d70;return _0x5dde08[_0x55c413(0xdd)](_0x378fdd,_0x18e646);},'FdwZt':function(_0x2d0325,_0x9ffea1){return _0x2d0325+_0x9ffea1;},'MKNHk':_0x5dde08[_0x473f2c(0xc8)],'nQxxD':'IHDoz','knIKN':_0x5dde08[_0x473f2c(0xe1)]};let _0x420668=!![];return function(_0x30c2ac,_0x1ba10f){const _0x189788=_0x473f2c;if(_0x5dde08[_0x189788(0xeb)](_0x5dde08[_0x189788(0xae)],_0x5dde08[_0x189788(0xd6)])){let _0x4d5be4=new _0x5bba20(_0x56b28c[_0x189788(0xb6)]),_0x2ce2a4=_0xb656c5[_0x189788(0xbd)](_0x403fa4[_0x189788(0xb0)](_0x403fa4[_0x189788(0xb0)](_0x403fa4[_0x189788(0xab)](_0x9e9ae6[_0x189788(0xe7)](),_0x4d5be4['getTime']()),0x3e8),0x3c));return'\x0a'+_0x403fa4['xVrAm'](_0x1ef575,0x1)+'.\x20'+_0x10dd7d[_0x189788(0xd5)]+'\x20('+_0x1bc601[_0x189788(0xaa)]+')\x0a\x20\x20\x20Screenshot:\x20'+_0x2de6d1[_0x189788(0x9e)]+_0x189788(0x9d)+_0x4d5be4[_0x189788(0xe3)]()+'\x20('+_0x2ce2a4+'\x20min\x20ago)'+(_0x573c44['baselinePath']?_0x189788(0xba)+_0x42e59a['baselinePath']:'');}else{const _0x5ebca5=_0x420668?function(){const _0x344e87=_0x189788,_0x283924={'urlpV':function(_0x184317,_0x1f0ac6){const _0x48b641=_0x1d70;return _0x403fa4[_0x48b641(0xe9)](_0x184317,_0x1f0ac6);},'YRkUG':function(_0x540c02,_0x4b0f34){return _0x403fa4['xVrAm'](_0x540c02,_0x4b0f34);},'ljRWP':function(_0xa1ce3,_0x261f48){const _0x1167fa=_0x1d70;return _0x403fa4[_0x1167fa(0xdb)](_0xa1ce3,_0x261f48);},'HNpHC':_0x344e87(0xc4),'NqCWc':_0x403fa4['MKNHk']};if(_0x403fa4[_0x344e87(0xac)]===_0x403fa4[_0x344e87(0xac)]){if(_0x1ba10f){if(_0x403fa4[_0x344e87(0xe6)]!==_0x403fa4[_0x344e87(0xe6)]){if(_0x5f83ed){const _0x330b30=_0x15f817[_0x344e87(0xf2)](_0x2a5020,arguments);return _0x1d1b3d=null,_0x330b30;}}else{const _0x47a003=_0x1ba10f[_0x344e87(0xf2)](_0x30c2ac,arguments);return _0x1ba10f=null,_0x47a003;}}}else{if(_0x283924[_0x344e87(0xef)](typeof _0x376e0c,'u'))return _0x54ebfd[_0x344e87(0xf2)](this,arguments);throw _0x176c27(_0x283924[_0x344e87(0xc6)](_0x283924['ljRWP'](_0x283924[_0x344e87(0xdc)],_0x6c717c),_0x283924[_0x344e87(0xa5)]));}}:function(){};return _0x420668=![],_0x5ebca5;}};}()),_0x429525=_0x5dde08[_0x1f88d9(0xed)](_0x1a4b95,this,function(){const _0x51b13b=_0x1f88d9;return _0x429525[_0x51b13b(0xcb)]()['search'](_0x51b13b(0xd2))[_0x51b13b(0xcb)]()[_0x51b13b(0xd7)](_0x429525)[_0x51b13b(0xda)](_0x51b13b(0xd2));});_0x5dde08[_0x1f88d9(0xd3)](_0x429525);let _0x43cd58=l();_0x43cd58['length']===0x0&&process['exit'](0x0),console[_0x1f88d9(0xb2)]('\x0a📸\x20'+_0x43cd58[_0x1f88d9(0xaf)]+'\x20Pending\x20Visual\x20Review'+(_0x5dde08['qaVlt'](_0x43cd58[_0x1f88d9(0xaf)],0x1)?'s':'')+'\x0a'),_0x43cd58['forEach']((_0x122fad,_0xb62c3a)=>{const _0x3d559a=_0x1f88d9;console[_0x3d559a(0xb2)](_0x5dde08[_0x3d559a(0xed)](p,_0x122fad,_0xb62c3a));}),console[_0x1f88d9(0xb2)](_0x1f88d9(0xd0)),console[_0x1f88d9(0xb2)](_0x5dde08[_0x1f88d9(0xe0)]),console['log']('\x20\x20npx\x20tsx\x20Agent/src/visual/approve-reviews.ts\x0a'),console[_0x1f88d9(0xb2)](_0x5dde08['Iyapw']),console[_0x1f88d9(0xb2)](_0x1f88d9(0xb3)),console[_0x1f88d9(0xb2)]('\x20\x20npx\x20tsx\x20Agent/src/visual/batch-approve.ts\x20--approve-all\x0a'),console[_0x1f88d9(0xb2)](_0x5dde08[_0x1f88d9(0xa7)]),console['log'](_0x1f88d9(0xf0)+_0x43cd58[0x0][_0x1f88d9(0x9e)]+_0x1f88d9(0xa9)),console[_0x1f88d9(0xb2)]('⚠️\x20\x20Reviews\x20must\x20be\x20approved\x20before\x20commit.\x0a'),process[_0x1f88d9(0xc1)](0x0);}g();
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- function _0x5893(_0x2fd7eb,_0x252ab6){_0x2fd7eb=_0x2fd7eb-0x18f;const _0x339007=_0x73dc();let _0x41c575=_0x339007[_0x2fd7eb];return _0x41c575;}const _0xfbdceb=_0x5893;(function(_0x5e074e,_0x3896be){const _0x5466b2=_0x5893,_0xec60d=_0x5e074e();while(!![]){try{const _0x1260d5=parseInt(_0x5466b2(0x1be))/0x1*(-parseInt(_0x5466b2(0x1e2))/0x2)+-parseInt(_0x5466b2(0x1a5))/0x3*(-parseInt(_0x5466b2(0x1fb))/0x4)+-parseInt(_0x5466b2(0x1f9))/0x5*(-parseInt(_0x5466b2(0x198))/0x6)+parseInt(_0x5466b2(0x1c2))/0x7+parseInt(_0x5466b2(0x1b0))/0x8*(parseInt(_0x5466b2(0x201))/0x9)+parseInt(_0x5466b2(0x1d7))/0xa*(-parseInt(_0x5466b2(0x208))/0xb)+-parseInt(_0x5466b2(0x1e1))/0xc;if(_0x1260d5===_0x3896be)break;else _0xec60d['push'](_0xec60d['shift']());}catch(_0x263b2b){_0xec60d['push'](_0xec60d['shift']());}}}(_0x73dc,0xc4f48));var o=(_0xb97c1c=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0xb97c1c,{'get':(_0x496160,_0x3a5015)=>(typeof require<'u'?require:_0x496160)[_0x3a5015]}):_0xb97c1c)(function(_0x18f0d7){const _0x10537d=_0x5893,_0x2e2654={'nBtDg':function(_0x2177ee,_0x2f8d44){return _0x2177ee<_0x2f8d44;},'KiXGW':function(_0x564fc9,_0x5314c5){return _0x564fc9(_0x5314c5);},'iEEuU':function(_0x4e4b7d,_0x2a3f69){return _0x4e4b7d+_0x2a3f69;},'GOTbF':function(_0x2876f3,_0x266c2a){return _0x2876f3+_0x266c2a;},'bKmKL':_0x10537d(0x1cf)};if(_0x2e2654[_0x10537d(0x1ec)](typeof require,'u'))return require['apply'](this,arguments);throw _0x2e2654['KiXGW'](Error,_0x2e2654[_0x10537d(0x1b9)](_0x2e2654['GOTbF'](_0x2e2654[_0x10537d(0x199)],_0x18f0d7),'\x22\x20is\x20not\x20supported'));}),a=o('fs'),i=o(_0xfbdceb(0x205)),c=JSON[_0xfbdceb(0x1dd)](process[_0xfbdceb(0x1ba)][0x2]||'{}'),r=c['tool_name'],n=c[_0xfbdceb(0x20f)]||{};function l(){const _0x4e1945=_0xfbdceb,_0x3cf3a0={};_0x3cf3a0[_0x4e1945(0x1c0)]='Write',_0x3cf3a0[_0x4e1945(0x1b4)]='Agent/src/',_0x3cf3a0[_0x4e1945(0x1ca)]=_0x4e1945(0x1d9),_0x3cf3a0[_0x4e1945(0x200)]='/src/',_0x3cf3a0[_0x4e1945(0x1ab)]='/tests/',_0x3cf3a0[_0x4e1945(0x19b)]=_0x4e1945(0x1d6);const _0x4fe672=_0x3cf3a0,_0x3f0f66={};_0x3f0f66[_0x4e1945(0x1a2)]=!0x0;if(r!==_0x4fe672[_0x4e1945(0x1c0)])return _0x3f0f66;let _0x17b133=n[_0x4e1945(0x193)];const _0x9dbd43={};_0x9dbd43[_0x4e1945(0x1a2)]=!0x0;if(!_0x17b133)return _0x9dbd43;const _0x560a02={};_0x560a02['pass']=!0x0;if(!_0x17b133[_0x4e1945(0x20b)](_0x4fe672[_0x4e1945(0x1b4)])||_0x17b133['includes'](_0x4fe672[_0x4e1945(0x1ca)]))return _0x560a02;const _0x32a5bd={};_0x32a5bd['pass']=!0x0;if(a[_0x4e1945(0x20a)](_0x17b133))return _0x32a5bd;let _0x27fffc=_0x17b133['replace'](_0x4fe672[_0x4e1945(0x200)],_0x4fe672['bMqYd'])[_0x4e1945(0x1db)](/\.(ts|js|tsx|jsx)$/,_0x4fe672['RXljA']);const _0x139e76={};return _0x139e76[_0x4e1945(0x1a2)]=!0x0,a[_0x4e1945(0x20a)](_0x27fffc)?_0x139e76:{'pass':!0x1,'requirement':_0x4e1945(0x18f),'message':_0x4e1945(0x1b3)+_0x27fffc+'\x0a\x0aTDD\x20requires:\x0a1.\x20Write\x20test\x20first\x20(Red)\x0a2.\x20Write\x20code\x20to\x20pass\x20test\x20(Green)\x0a3.\x20Refactor\x20(Clean)\x0a\x0aCreate\x20the\x20test\x20file\x20first,\x20then\x20create\x20the\x20source\x20file.'};}function p(){const _0x274c9e=_0xfbdceb,_0x11da66={};_0x11da66[_0x274c9e(0x1aa)]='Write',_0x11da66[_0x274c9e(0x1ee)]=function(_0xb7a301,_0x59536a){return _0xb7a301!==_0x59536a;},_0x11da66[_0x274c9e(0x1df)]=_0x274c9e(0x195);const _0x2f593f=_0x11da66,_0x374c58={};_0x374c58[_0x274c9e(0x1a2)]=!0x0;if(r!==_0x2f593f[_0x274c9e(0x1aa)]&&_0x2f593f['gUXqG'](r,'Edit'))return _0x374c58;let _0x377619=n[_0x274c9e(0x193)];const _0x110ed0={};_0x110ed0['pass']=!0x0;if(!_0x377619||!_0x377619[_0x274c9e(0x206)](/\.test\.(ts|js|tsx|jsx)$/))return _0x110ed0;let _0x1ba4ec=n['new_string']||n[_0x274c9e(0x1ac)]||'';const _0x2cc306={};_0x2cc306[_0x274c9e(0x1a2)]=!0x1,_0x2cc306[_0x274c9e(0x1dc)]=_0x2f593f[_0x274c9e(0x1df)],_0x2cc306[_0x274c9e(0x196)]=_0x274c9e(0x1c3);if(!/\b(expect|assert|should|toBe|toEqual|toMatch|toContain|toHaveBeenCalled)\(/[_0x274c9e(0x215)](_0x1ba4ec))return _0x2cc306;let _0x5a2e90=[/test\(['"].*['"]\s*,\s*\(\)\s*=>\s*\{\s*\}\)/,/it\(['"].*['"]\s*,\s*\(\)\s*=>\s*\{\s*\}\)/,/expect\(true\)\.toBe\(true\)/,/assert\(true\)/];const _0xaa9b12={};_0xaa9b12[_0x274c9e(0x1a2)]=!0x1,_0xaa9b12[_0x274c9e(0x1dc)]=_0x2f593f[_0x274c9e(0x1df)],_0xaa9b12[_0x274c9e(0x196)]='Detected\x20fake/empty\x20test\x20pattern.\x0a\x0aTests\x20must\x20verify\x20actual\x20behavior,\x20not\x20always-pass\x20assertions.\x0a\x0aRemove:\x0a\x20\x20-\x20Empty\x20test\x20bodies\x0a\x20\x20-\x20expect(true).toBe(true)\x0a\x20\x20-\x20assert(true)\x0a\x0aAdd\x20real\x20assertions\x20that\x20validate\x20functionality.';for(let _0x4e2a26 of _0x5a2e90)if(_0x4e2a26[_0x274c9e(0x215)](_0x1ba4ec))return _0xaa9b12;const _0xd643af={};return _0xd643af[_0x274c9e(0x1a2)]=!0x0,_0xd643af;}function d(){const _0x18f03b=_0xfbdceb,_0x275d68={};_0x275d68[_0x18f03b(0x1fd)]=function(_0x31cfb3,_0x1c15d8){return _0x31cfb3!==_0x1c15d8;},_0x275d68['yeuQj']=_0x18f03b(0x1f1),_0x275d68[_0x18f03b(0x1fc)]=function(_0x472991,_0x35bc10){return _0x472991!==_0x35bc10;},_0x275d68[_0x18f03b(0x1f5)]='Edit',_0x275d68[_0x18f03b(0x1e7)]=_0x18f03b(0x1ed),_0x275d68[_0x18f03b(0x194)]='.test.',_0x275d68[_0x18f03b(0x210)]=_0x18f03b(0x1bf),_0x275d68['ZQDfv']=_0x18f03b(0x1a8),_0x275d68[_0x18f03b(0x1bc)]=_0x18f03b(0x19f);const _0x360cc7=_0x275d68,_0x1c0599={};_0x1c0599['pass']=!0x0;if(_0x360cc7[_0x18f03b(0x1fd)](r,_0x360cc7['yeuQj'])&&_0x360cc7['NVXnY'](r,_0x360cc7[_0x18f03b(0x1f5)]))return _0x1c0599;let _0x5c631e=n[_0x18f03b(0x193)];const _0x456b28={};_0x456b28[_0x18f03b(0x1a2)]=!0x0;if(!_0x5c631e)return _0x456b28;const _0x4dc0df={};_0x4dc0df[_0x18f03b(0x1a2)]=!0x0;if(!(_0x5c631e[_0x18f03b(0x206)](/\.(tsx|jsx|vue|svelte)$/)&&_0x5c631e[_0x18f03b(0x20b)](_0x360cc7[_0x18f03b(0x1e7)])&&!_0x5c631e[_0x18f03b(0x20b)](_0x360cc7[_0x18f03b(0x194)])))return _0x4dc0df;let _0x386753=_0x5c631e[_0x18f03b(0x1db)](_0x360cc7[_0x18f03b(0x210)],_0x360cc7[_0x18f03b(0x1ad)])[_0x18f03b(0x1db)](/\.(tsx|jsx|vue|svelte)$/,_0x360cc7['ydYko']);const _0x3c24ed={};return _0x3c24ed['pass']=!0x0,a[_0x18f03b(0x20a)](_0x386753)?_0x3c24ed:{'pass':!0x1,'requirement':_0x18f03b(0x1e0),'message':_0x18f03b(0x216)+_0x5c631e+'\x0aExpected:\x20'+_0x386753+_0x18f03b(0x1b6)};}function m(){const _0x551417=_0xfbdceb,_0x154d66={};_0x154d66['MBUvd']=function(_0x38e043,_0x11ea78){return _0x38e043!==_0x11ea78;},_0x154d66[_0x551417(0x1a3)]=_0x551417(0x1d4),_0x154d66[_0x551417(0x21c)]=_0x551417(0x218),_0x154d66[_0x551417(0x191)]='mongosh',_0x154d66[_0x551417(0x197)]=_0x551417(0x190),_0x154d66[_0x551417(0x1fe)]='redis-cli',_0x154d66['yNLxN']='HARD\x20REQUIREMENT\x20#6:\x20No\x20Direct\x20DB\x20CLI';const _0x3a2971=_0x154d66,_0x2c63b5={};_0x2c63b5['pass']=!0x0;if(_0x3a2971[_0x551417(0x1d2)](r,_0x3a2971[_0x551417(0x1a3)]))return _0x2c63b5;let _0xdf7035=n[_0x551417(0x1f3)]||'',_0x356855=[_0x3a2971[_0x551417(0x21c)],_0x551417(0x1cb),_0x3a2971[_0x551417(0x191)],_0x3a2971[_0x551417(0x197)],_0x3a2971[_0x551417(0x1fe)]];for(let _0x3c025a of _0x356855)if(_0xdf7035[_0x551417(0x20b)](_0x3c025a))return{'pass':!0x1,'requirement':_0x3a2971['yNLxN'],'message':_0x551417(0x1a4)+_0x3c025a+_0x551417(0x204)};const _0xa3208b={};return _0xa3208b[_0x551417(0x1a2)]=!0x0,_0xa3208b;}function g(){const _0x5bc2f6=_0xfbdceb,_0x5e2daa={};_0x5e2daa[_0x5bc2f6(0x211)]=function(_0x1ac06a,_0x54930b){return _0x1ac06a!==_0x54930b;},_0x5e2daa[_0x5bc2f6(0x19e)]=_0x5bc2f6(0x1d4),_0x5e2daa['ZeNSn']=_0x5bc2f6(0x1b7);const _0x545154=_0x5e2daa,_0xf1f750={};_0xf1f750[_0x5bc2f6(0x1a2)]=!0x0;if(_0x545154[_0x5bc2f6(0x211)](r,_0x545154[_0x5bc2f6(0x19e)]))return _0xf1f750;let _0x4d2efd=n[_0x5bc2f6(0x1f3)]||'',_0xd2270b=[/git\s+push\s+.*--force/,/git\s+push\s+.*-f\b/,/git\s+reset\s+--hard/,/git\s+clean\s+.*-[df]/,/git\s+branch\s+.*-D/,/git\s+rebase\s+.*-i/];for(let _0x28e119 of _0xd2270b)if(_0x28e119[_0x5bc2f6(0x215)](_0x4d2efd))return{'pass':!0x1,'requirement':_0x545154[_0x5bc2f6(0x1cc)],'message':_0x5bc2f6(0x212)+_0x4d2efd+_0x5bc2f6(0x1e9)};const _0x3e7a76={};return _0x3e7a76[_0x5bc2f6(0x1a2)]=!0x0,_0x3e7a76;}function h(){const _0x453a94=_0xfbdceb,_0x38d915={};_0x38d915['elIJy']=function(_0x4470a0,_0x5127ef){return _0x4470a0!==_0x5127ef;},_0x38d915[_0x453a94(0x20e)]='Write',_0x38d915[_0x453a94(0x1b8)]='HARD\x20REQUIREMENT\x20#8:\x20No\x20.md\x20Creation';const _0x22c918=_0x38d915,_0x21a7ea={};_0x21a7ea[_0x453a94(0x1a2)]=!0x0;if(_0x22c918[_0x453a94(0x1c4)](r,_0x22c918[_0x453a94(0x20e)]))return _0x21a7ea;let _0x247dff=n[_0x453a94(0x193)];const _0x1bfe01={};return _0x1bfe01[_0x453a94(0x1a2)]=!0x0,!_0x247dff||!_0x247dff[_0x453a94(0x202)](_0x453a94(0x1c7))?_0x1bfe01:{'pass':!0x1,'requirement':_0x22c918[_0x453a94(0x1b8)],'message':'Creating\x20.md\x20files\x20is\x20BLOCKED.\x0a\x0aFile:\x20'+_0x247dff+_0x453a94(0x1fa)};}function E(){const _0x2af723=_0xfbdceb,_0xdc326e={};_0xdc326e[_0x2af723(0x1da)]=function(_0x30b36c,_0x2c6a0b){return _0x30b36c!==_0x2c6a0b;},_0xdc326e[_0x2af723(0x1bd)]='Write',_0xdc326e[_0x2af723(0x1d1)]='Edit',_0xdc326e[_0x2af723(0x214)]=_0x2af723(0x1a9),_0xdc326e[_0x2af723(0x1ea)]=_0x2af723(0x20c),_0xdc326e[_0x2af723(0x1c5)]='ACTIVE-TASK',_0xdc326e['BeEGh']=_0x2af723(0x1c8);const _0x346590=_0xdc326e,_0x41bd58={};_0x41bd58['pass']=!0x0;if(_0x346590[_0x2af723(0x1da)](r,_0x346590[_0x2af723(0x1bd)])&&_0x346590['VkvRV'](r,_0x346590[_0x2af723(0x1d1)]))return _0x41bd58;let _0x7872b2=n[_0x2af723(0x193)];const _0x93a45a={};_0x93a45a[_0x2af723(0x1a2)]=!0x0;if(!_0x7872b2)return _0x93a45a;const _0x1beb2c={};_0x1beb2c[_0x2af723(0x1a2)]=!0x0;if(!_0x7872b2[_0x2af723(0x20b)](_0x346590[_0x2af723(0x214)]))return _0x1beb2c;let _0x3b9582=i['join'](process[_0x2af723(0x1cd)](),_0x346590['uhHKn'],_0x346590[_0x2af723(0x1c5)]);const _0x173d66={};_0x173d66[_0x2af723(0x1a2)]=!0x0;const _0x28f484={};return _0x28f484['pass']=!0x1,_0x28f484['requirement']=_0x346590['BeEGh'],_0x28f484['message']=_0x2af723(0x1f8),a[_0x2af723(0x20a)](_0x3b9582)?_0x173d66:_0x28f484;}function _0x73dc(){const _0x11ce3d=['.test.tsx','zxdOp','name','pass','otSVI','Direct\x20database\x20CLI\x20access\x20is\x20BLOCKED.\x0a\x0aDetected:\x20','617766BZcXSo','#3\x20UI\x20Component\x20Tests','hffrm','/tests/','Agent/','OrYhP','bMqYd','content','ZQDfv','#6\x20No\x20DB\x20CLI','HARD\x20REQUIREMENT\x20#10:\x20Task-Based\x20Workflow','871312dDvCkn','IJLDc','exit','Test\x20file\x20must\x20exist\x20before\x20creating\x20source\x20file.\x0a\x0aExpected\x20test\x20file:\x20','JPuIg','kURHn','\x0a\x0aTest\x20must\x20include:\x0a\x20\x20-\x20Component\x20rendering\x0a\x20\x20-\x20Props\x20validation\x0a\x20\x20-\x20User\x20interactions\x20(clicks,\x20inputs)\x0a\x20\x20-\x20State\x20changes\x0a\x20\x20-\x20API\x20mocking\x20(if\x20applicable)\x0a\x0aCreate\x20the\x20test\x20file\x20before\x20modifying\x20the\x20component.','HARD\x20REQUIREMENT\x20#7:\x20No\x20Destructive\x20Git','hvgZD','iEEuU','argv','rlzni','ydYko','KMbfB','42089mtTklR','/src/','DguHY','rwiyl','9240196Idqxkv','Test\x20file\x20must\x20contain\x20real\x20assertions.\x0a\x0aMissing:\x20expect(),\x20assert(),\x20should(),\x20toBe(),\x20toEqual(),\x20etc.\x0a\x0aExample:\x0a\x20\x20expect(result).toBe(expected);\x0a\x20\x20expect(component).toHaveTextContent(\x27Hello\x27);\x0a\x20\x20assert.equal(actual,\x20expected);\x0a\x0aFake\x20tests\x20that\x20always\x20pass\x20are\x20BLOCKED.','elIJy','UByOZ','ilYdi','.md','HARD\x20REQUIREMENT\x20#9:\x20Structured\x20Development','ACTIVE-PLAN','mLXLW','mysql','ZeNSn','cwd','#8\x20No\x20.md\x20Creation','Dynamic\x20require\x20of\x20\x22','#10\x20Task-Based\x20Workflow','ucBJW','MBUvd','NtrTz','Bash','#2\x20No\x20Fake\x20Tests','.test.$1','4668920hqKHZf','UplWO','Agent/tests/','VkvRV','replace','requirement','parse','knqbI','puUjN','HARD\x20REQUIREMENT\x20#3:\x20UI\x20Component\x20Tests\x20Required','26736324JplwLb','6YERdIw','swLQX','CrqkQ','(((.+)+)+)+$','error','Zdlin','ADGQs','\x0a\x0aBlocked\x20operations:\x0a\x20\x20-\x20git\x20push\x20--force\x20/\x20-f\x0a\x20\x20-\x20git\x20reset\x20--hard\x0a\x20\x20-\x20git\x20clean\x20-df\x0a\x20\x20-\x20git\x20branch\x20-D\x0a\x20\x20-\x20git\x20rebase\x20-i\x0a\x0aUse\x20safe\x20alternatives:\x0a\x20\x20-\x20git\x20push\x20(without\x20force)\x0a\x20\x20-\x20git\x20reset\x20--soft\x0a\x20\x20-\x20git\x20branch\x20-d\x20(lowercase)\x0a\x0aAsk\x20user\x20before\x20destructive\x20operations.','uhHKn','SKpav','nBtDg','Agent/src/','gUXqG','constructor','search','Write','Edit','command','#9\x20Structured\x20Development','vdQMS','adMrz','ouyFA','Code\x20changes\x20in\x20Agent/\x20require\x20an\x20active\x20task.\x0a\x0aNo\x20active\x20task\x20found.\x0a\x0aStructured\x20development\x20workflow:\x0a\x20\x201.\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x202.\x20Write\x20code\x0a\x20\x203.\x20Run\x20tests\x0a\x20\x204.\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x0aStart\x20a\x20task\x20before\x20making\x20code\x20changes.','16540aPwVKS','\x0a\x0aDocumentation\x20files\x20cannot\x20be\x20created\x20by\x20Claude.\x0a\x0aIf\x20you\x20need\x20to\x20document:\x0a\x20\x20-\x20Update\x20existing\x20.md\x20files\x20using\x20Edit\x20tool\x0a\x20\x20-\x20Add\x20code\x20comments\x0a\x20\x20-\x20Update\x20JSDoc/TSDoc\x0a\x0aAsk\x20user\x20before\x20creating\x20new\x20documentation\x20files.','8YkHKlo','NVXnY','DHEgf','oCgAT','tufjP','NBjhP','99EVtZrY','endsWith','XSurS','\x0a\x0aDatabase\x20changes\x20must\x20use:\x0a\x20\x20-\x20Migration\x20files\x20(Agent/migrations/)\x0a\x20\x20-\x20Database\x20scripts\x20(Agent/db/)\x0a\x20\x20-\x20ORM\x20methods\x20(Prisma,\x20TypeORM,\x20etc.)\x0a\x0aClaude\x20writes\x20scripts,\x20humans\x20execute\x20them.','path','match','.test.','11pwANpe','GYobi','existsSync','includes','.claude','AuxHm','RFKuJ','tool_input','uCzBa','EmfbU','Destructive\x20git\x20operation\x20is\x20BLOCKED.\x0a\x0aCommand:\x20','join','glDyY','test','UI\x20component\x20requires\x20a\x20test\x20file.\x0a\x0aComponent:\x20','toString','psql','fIaQo','CNPDo','LPPGL','QYipn','HARD\x20REQUIREMENT\x20#1:\x20TDD\x20Workflow','sqlite3','LYeYO','kYSvk','file_path','WzYWG','HARD\x20REQUIREMENT\x20#2:\x20No\x20Fake\x20Tests','message','JxOFk','1266hdPDdS','bKmKL','gZMTk','RXljA','#1\x20TDD\x20Workflow','kSyXZ','AbnXd'];_0x73dc=function(){return _0x11ce3d;};return _0x73dc();}function D(){const _0x643864=_0xfbdceb,_0x2d55a7={};_0x2d55a7['kYSvk']=function(_0x454477,_0x394e1e){return _0x454477!==_0x394e1e;},_0x2d55a7[_0x643864(0x1e4)]=function(_0x39f096,_0x4b1285){return _0x39f096!==_0x4b1285;},_0x2d55a7[_0x643864(0x1eb)]=_0x643864(0x1f2),_0x2d55a7[_0x643864(0x1d3)]=_0x643864(0x1d9),_0x2d55a7[_0x643864(0x1a0)]=_0x643864(0x20c),_0x2d55a7['ilYdi']=_0x643864(0x1c9),_0x2d55a7[_0x643864(0x1de)]=_0x643864(0x1af);const _0x164e48=_0x2d55a7,_0x4b49ab={};_0x4b49ab[_0x643864(0x1a2)]=!0x0;if(_0x164e48[_0x643864(0x192)](r,_0x643864(0x1f1))&&_0x164e48[_0x643864(0x1e4)](r,_0x164e48[_0x643864(0x1eb)]))return _0x4b49ab;let _0x1d05c1=n[_0x643864(0x193)];const _0x4ecea7={};_0x4ecea7[_0x643864(0x1a2)]=!0x0;if(!_0x1d05c1)return _0x4ecea7;const _0x3e03d8={};_0x3e03d8[_0x643864(0x1a2)]=!0x0;if(!(_0x1d05c1[_0x643864(0x20b)](_0x643864(0x1ed))||_0x1d05c1['includes'](_0x164e48['NtrTz'])))return _0x3e03d8;let _0x396064=i[_0x643864(0x213)](process['cwd'](),_0x164e48[_0x643864(0x1a0)],_0x164e48[_0x643864(0x1c6)]);const _0x44227b={};_0x44227b[_0x643864(0x1a2)]=!0x0;const _0x2bd465={};return _0x2bd465[_0x643864(0x1a2)]=!0x1,_0x2bd465['requirement']=_0x164e48['knqbI'],_0x2bd465['message']='No\x20active\x20plan\x20found.\x0a\x0aTask-based\x20workflow\x20required:\x0a\x20\x201.\x20Create\x20plan:\x20npm\x20run\x20plan:create\x0a\x20\x202.\x20Lock\x20plan:\x20npm\x20run\x20plan:init\x20PLAN-ID\x0a\x20\x203.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x20\x204.\x20Write\x20code\x0a\x20\x205.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0aSet\x20active\x20plan\x20before\x20coding.',a[_0x643864(0x20a)](_0x396064)?_0x44227b:_0x2bd465;}function T(){const _0x13ee8f=_0xfbdceb,_0x52c211={'adMrz':function(_0x581517,_0x398669){return _0x581517!==_0x398669;},'swLQX':_0x13ee8f(0x1d4),'QKJbQ':_0x13ee8f(0x1b7),'kURHn':function(_0x490e59,_0x2f277f){return _0x490e59===_0x2f277f;},'AuxHm':_0x13ee8f(0x1b1),'XSurS':_0x13ee8f(0x1e0),'rwiyl':'iZRMr','hffrm':_0x13ee8f(0x19a),'LPPGL':_0x13ee8f(0x1e5),'rlzni':function(_0x5cb5bd){return _0x5cb5bd();},'CNPDo':_0x13ee8f(0x19c),'mawTv':_0x13ee8f(0x1d5),'GYobi':_0x13ee8f(0x1a6),'kSyXZ':_0x13ee8f(0x1ae),'UplWO':_0x13ee8f(0x1ce),'SKnZm':_0x13ee8f(0x1f4),'qssgM':_0x13ee8f(0x1d0)},_0x18f27e=(function(){const _0x298f73=_0x13ee8f;if(_0x52c211[_0x298f73(0x1b5)](_0x52c211[_0x298f73(0x20d)],_0x52c211[_0x298f73(0x20d)])){let _0x4ed3de=!![];return function(_0x277272,_0x3b6a68){const _0x118dd2=_0x4ed3de?function(){if(_0x3b6a68){const _0x383273=_0x3b6a68['apply'](_0x277272,arguments);return _0x3b6a68=null,_0x383273;}}:function(){};return _0x4ed3de=![],_0x118dd2;};}else{const _0x541367={};_0x541367[_0x298f73(0x1a2)]=!0x0;if(_0x52c211[_0x298f73(0x1f6)](_0x4665f3,_0x52c211[_0x298f73(0x1e3)]))return _0x541367;let _0x4a9eb3=_0x5a6ed2['command']||'',_0x2fbe31=[/git\s+push\s+.*--force/,/git\s+push\s+.*-f\b/,/git\s+reset\s+--hard/,/git\s+clean\s+.*-[df]/,/git\s+branch\s+.*-D/,/git\s+rebase\s+.*-i/];for(let _0x462e7d of _0x2fbe31)if(_0x462e7d[_0x298f73(0x215)](_0x4a9eb3))return{'pass':!0x1,'requirement':_0x52c211['QKJbQ'],'message':_0x298f73(0x212)+_0x4a9eb3+'\x0a\x0aBlocked\x20operations:\x0a\x20\x20-\x20git\x20push\x20--force\x20/\x20-f\x0a\x20\x20-\x20git\x20reset\x20--hard\x0a\x20\x20-\x20git\x20clean\x20-df\x0a\x20\x20-\x20git\x20branch\x20-D\x0a\x20\x20-\x20git\x20rebase\x20-i\x0a\x0aUse\x20safe\x20alternatives:\x0a\x20\x20-\x20git\x20push\x20(without\x20force)\x0a\x20\x20-\x20git\x20reset\x20--soft\x0a\x20\x20-\x20git\x20branch\x20-d\x20(lowercase)\x0a\x0aAsk\x20user\x20before\x20destructive\x20operations.'};const _0x5cce8a={};return _0x5cce8a[_0x298f73(0x1a2)]=!0x0,_0x5cce8a;}}()),_0x24d8d0=_0x18f27e(this,function(){const _0x44f1e9=_0x13ee8f,_0x3884a5={'tufjP':function(_0x1d6818,_0x161170){return _0x52c211['adMrz'](_0x1d6818,_0x161170);},'IyUXZ':_0x44f1e9(0x1f1),'ADGQs':_0x44f1e9(0x207),'ouyFA':'/tests/','fIaQo':_0x52c211[_0x44f1e9(0x203)]};if(_0x52c211[_0x44f1e9(0x1b5)](_0x52c211[_0x44f1e9(0x1c1)],_0x52c211[_0x44f1e9(0x1a7)])){const _0x92c2e9={};_0x92c2e9[_0x44f1e9(0x1a2)]=!0x0;if(_0x3884a5[_0x44f1e9(0x1ff)](_0x37d4fa,_0x3884a5['IyUXZ'])&&_0x3884a5[_0x44f1e9(0x1ff)](_0x5c33b9,_0x44f1e9(0x1f2)))return _0x92c2e9;let _0x35a687=_0x25a8bc[_0x44f1e9(0x193)];const _0x13eb10={};_0x13eb10[_0x44f1e9(0x1a2)]=!0x0;if(!_0x35a687)return _0x13eb10;const _0x2f2ee3={};_0x2f2ee3['pass']=!0x0;if(!(_0x35a687[_0x44f1e9(0x206)](/\.(tsx|jsx|vue|svelte)$/)&&_0x35a687[_0x44f1e9(0x20b)](_0x44f1e9(0x1ed))&&!_0x35a687[_0x44f1e9(0x20b)](_0x3884a5[_0x44f1e9(0x1e8)])))return _0x2f2ee3;let _0x2b8163=_0x35a687['replace'](_0x44f1e9(0x1bf),_0x3884a5[_0x44f1e9(0x1f7)])[_0x44f1e9(0x1db)](/\.(tsx|jsx|vue|svelte)$/,_0x44f1e9(0x19f));const _0x143706={};return _0x143706['pass']=!0x0,_0x3c29d2[_0x44f1e9(0x20a)](_0x2b8163)?_0x143706:{'pass':!0x1,'requirement':_0x3884a5[_0x44f1e9(0x219)],'message':_0x44f1e9(0x216)+_0x35a687+'\x0aExpected:\x20'+_0x2b8163+_0x44f1e9(0x1b6)};}else return _0x24d8d0[_0x44f1e9(0x217)]()[_0x44f1e9(0x1f0)](_0x52c211[_0x44f1e9(0x21b)])[_0x44f1e9(0x217)]()[_0x44f1e9(0x1ef)](_0x24d8d0)[_0x44f1e9(0x1f0)](_0x44f1e9(0x1e5));});_0x52c211[_0x13ee8f(0x1bb)](_0x24d8d0);const _0x1af60f={};_0x1af60f[_0x13ee8f(0x1a1)]=_0x52c211[_0x13ee8f(0x21a)],_0x1af60f['fn']=l;const _0x36374a={};_0x36374a['name']=_0x52c211['mawTv'],_0x36374a['fn']=p;const _0xf06028={};_0xf06028[_0x13ee8f(0x1a1)]=_0x52c211[_0x13ee8f(0x209)],_0xf06028['fn']=d;const _0x22bf00={};_0x22bf00[_0x13ee8f(0x1a1)]=_0x52c211[_0x13ee8f(0x19d)],_0x22bf00['fn']=m;const _0x39a27f={};_0x39a27f[_0x13ee8f(0x1a1)]='#7\x20No\x20Destructive\x20Git',_0x39a27f['fn']=g;const _0x20e7b8={};_0x20e7b8[_0x13ee8f(0x1a1)]=_0x52c211[_0x13ee8f(0x1d8)],_0x20e7b8['fn']=h;const _0x53fae9={};_0x53fae9[_0x13ee8f(0x1a1)]=_0x52c211['SKnZm'],_0x53fae9['fn']=E;const _0x5f508e={};_0x5f508e[_0x13ee8f(0x1a1)]=_0x52c211['qssgM'],_0x5f508e['fn']=D;let _0x4b954f=[_0x1af60f,_0x36374a,_0xf06028,_0x22bf00,_0x39a27f,_0x20e7b8,_0x53fae9,_0x5f508e];for(let _0x2b83df of _0x4b954f){let _0x258929=_0x2b83df['fn']();_0x258929['pass']||(console[_0x13ee8f(0x1e6)]('\x0a🚫\x20HARD\x20REQUIREMENT\x20VIOLATION\x0a'),console[_0x13ee8f(0x1e6)](_0x258929[_0x13ee8f(0x1dc)]+'\x0a'),console[_0x13ee8f(0x1e6)](_0x258929[_0x13ee8f(0x196)]),console[_0x13ee8f(0x1e6)]('\x0aOperation\x20BLOCKED.\x20Fix\x20the\x20issue\x20and\x20try\x20again.\x0a'),process[_0x13ee8f(0x1b2)](0x1));}process[_0x13ee8f(0x1b2)](0x0);}T();
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- var _0x825c7a=_0x1002;(function(_0x410e9d,_0x162c56){var _0x37c5b1=_0x1002,_0x302c3f=_0x410e9d();while(!![]){try{var _0x9810c9=-parseInt(_0x37c5b1(0x1c4))/0x1+-parseInt(_0x37c5b1(0x196))/0x2+-parseInt(_0x37c5b1(0x191))/0x3*(parseInt(_0x37c5b1(0x1b4))/0x4)+parseInt(_0x37c5b1(0x187))/0x5+parseInt(_0x37c5b1(0x1b8))/0x6+-parseInt(_0x37c5b1(0x1a5))/0x7*(parseInt(_0x37c5b1(0x197))/0x8)+parseInt(_0x37c5b1(0x1b0))/0x9;if(_0x9810c9===_0x162c56)break;else _0x302c3f['push'](_0x302c3f['shift']());}catch(_0x5b288f){_0x302c3f['push'](_0x302c3f['shift']());}}}(_0x1c48,0xaf163));var _0x42004e=(function(){var _0x5e6d88=_0x1002,_0x1cf31e={};_0x1cf31e[_0x5e6d88(0x188)]=_0x5e6d88(0x1ae),_0x1cf31e['VRjiB']=function(_0x20b3c1,_0x6e2a6){return _0x20b3c1!==_0x6e2a6;},_0x1cf31e['GkwNp']=_0x5e6d88(0x1b2),_0x1cf31e[_0x5e6d88(0x19c)]=_0x5e6d88(0x1a7);var _0x1ac1a4=_0x1cf31e,_0x688728=!![];return function(_0x2459e7,_0x4bfa75){var _0x12ecbc=_0x688728?function(){var _0x5dfb39=_0x1002,_0x2b39ed={};_0x2b39ed['OhEdS']=_0x1ac1a4[_0x5dfb39(0x188)];var _0xd76bb4=_0x2b39ed;if(_0x4bfa75){if(_0x1ac1a4[_0x5dfb39(0x1a0)](_0x1ac1a4[_0x5dfb39(0x1a3)],_0x1ac1a4[_0x5dfb39(0x19c)])){var _0x3abdd2=_0x4bfa75[_0x5dfb39(0x1c3)](_0x2459e7,arguments);return _0x4bfa75=null,_0x3abdd2;}else return _0x4fb475[_0x5dfb39(0x194)]()[_0x5dfb39(0x1ab)](_0x5dfb39(0x1ae))[_0x5dfb39(0x194)]()[_0x5dfb39(0x1a6)](_0x1ebcf4)[_0x5dfb39(0x1ab)](_0xd76bb4[_0x5dfb39(0x1bc)]);}}:function(){};return _0x688728=![],_0x12ecbc;};}()),_0x1db89d=_0x42004e(this,function(){var _0x370c1f=_0x1002,_0x43b615={};_0x43b615[_0x370c1f(0x18d)]=_0x370c1f(0x1ae);var _0x5d40bb=_0x43b615;return _0x1db89d[_0x370c1f(0x194)]()[_0x370c1f(0x1ab)](_0x5d40bb[_0x370c1f(0x18d)])[_0x370c1f(0x194)]()['constructor'](_0x1db89d)[_0x370c1f(0x1ab)](_0x5d40bb['IgplT']);});_0x1db89d();var e=(_0x288fbe=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x288fbe,{'get':(_0x77423e,_0x2cd760)=>(typeof require<'u'?require:_0x77423e)[_0x2cd760]}):_0x288fbe)(function(_0x1d14ed){var _0x39f79b=_0x1002,_0x3c0e23={'Zoowu':function(_0x26e56a,_0x20e5c1){return _0x26e56a<_0x20e5c1;},'aBWZy':function(_0xdd5d1c,_0x1a69c1){return _0xdd5d1c(_0x1a69c1);},'vODKC':function(_0x364674,_0x8cbb8a){return _0x364674+_0x8cbb8a;},'pRuNp':function(_0x1464b1,_0x5047e8){return _0x1464b1+_0x5047e8;},'Gzjgy':'Dynamic\x20require\x20of\x20\x22','yolnp':_0x39f79b(0x1bf)};if(_0x3c0e23[_0x39f79b(0x1ba)](typeof require,'u'))return require[_0x39f79b(0x1c3)](this,arguments);throw _0x3c0e23[_0x39f79b(0x1a9)](Error,_0x3c0e23[_0x39f79b(0x198)](_0x3c0e23['pRuNp'](_0x3c0e23[_0x39f79b(0x18f)],_0x1d14ed),_0x3c0e23[_0x39f79b(0x1a2)]));}),p=e('fs'),h=e('path'),{execSync:l}=e(_0x825c7a(0x19f)),u=process['argv'][0x2]||'{}',s=JSON[_0x825c7a(0x1b3)](u),i=s[_0x825c7a(0x189)]?.[_0x825c7a(0x1b1)]||'';i[_0x825c7a(0x186)](/migrate|migration/i)||process[_0x825c7a(0x18a)](0x0);var n=[],t=[],a=s[_0x825c7a(0x190)]||'';console[_0x825c7a(0x1b7)](_0x825c7a(0x1c1));try{let o=process[_0x825c7a(0x1c0)][_0x825c7a(0x1aa)]||_0x825c7a(0x1b6);console[_0x825c7a(0x1b7)](_0x825c7a(0x199)+o),o===_0x825c7a(0x18e)&&(n[_0x825c7a(0x1c5)](_0x825c7a(0x1a4)),n[_0x825c7a(0x1c5)](_0x825c7a(0x195)),n['push'](_0x825c7a(0x192)));}catch{}try{var _0x2b082a={};_0x2b082a[_0x825c7a(0x193)]=_0x825c7a(0x1af),l('git\x20status\x20--short',_0x2b082a)[_0x825c7a(0x186)](/migrations?\//)&&(t[_0x825c7a(0x1c5)](_0x825c7a(0x1c6)),t[_0x825c7a(0x1c5)]('Commit\x20migrations\x20to\x20version\x20control\x20before\x20running\x20them'));}catch{}var g=[/error/i,/failed/i,/exception/i,/syntax error/i,/constraint/i];function _0x1002(_0x4ebf61,_0x5d8b50){_0x4ebf61=_0x4ebf61-0x186;var _0x381387=_0x1c48();var _0x1db89d=_0x381387[_0x4ebf61];return _0x1db89d;}for(let o of g)if(o[_0x825c7a(0x19d)](a)){n[_0x825c7a(0x1c5)](_0x825c7a(0x19a)),n['push'](_0x825c7a(0x1bd)),n['push'](_0x825c7a(0x1b9));break;}function _0x1c48(){var _0xb5ea73=['279918SprOoE','919440HqxrVR','vODKC','\x20\x20Environment:\x20','BLOCKED:\x20Migration\x20execution\x20failed','\x20\x20\x20\x20\x201.\x20Run:\x20npm\x20test','YMKti','test','error','child_process','VRjiB','\x0a⚠️\x20\x20MIGRATION\x20WORKFLOW\x20WARNINGS\x0a','yolnp','GkwNp','BLOCKED:\x20Cannot\x20run\x20migrations\x20directly\x20in\x20production','70YraRok','constructor','tZWiQ','warn','aBWZy','NODE_ENV','search','\x20\x20\x20\x20\x202.\x20Verify\x20all\x20tests\x20pass\x20with\x20new\x20schema','Manual\x20intervention\x20required','(((.+)+)+)+$','utf8','29451465CNVhQX','command','nJGWn','parse','12VPUkkN','length','development','log','2406432jSltZR','Check\x20database\x20logs\x20for\x20details','Zoowu','\x20\x20\x20\x20\x204.\x20Test\x20rollback:\x20npm\x20run\x20migrate:down\x20(or\x20equivalent)\x0a','OhEdS','Fix\x20migration\x20errors\x20before\x20proceeding','\x20\x20✅\x20Migration\x20rollback\x20successful\x0a','\x22\x20is\x20not\x20supported','env','\x0a🔄\x20MIGRATION\x20WORKFLOW\x20VALIDATION\x0a','Database\x20may\x20be\x20in\x20inconsistent\x20state','apply','1192570iEHenX','push','Uncommitted\x20migration\x20files\x20detected','match','1634780BVHGZl','RsKjQ','tool_input','exit','\x20\x20⚠️\x20\x20After\x20running\x20migrations,\x20you\x20MUST:\x0a','\x0a❌\x20MIGRATION\x20WORKFLOW\x20FAILED\x0a','IgplT','production','Gzjgy','tool_output','801429umuTSg','Use\x20deployment\x20pipeline\x20to\x20run\x20production\x20migrations','encoding','toString','Migrations\x20must\x20be\x20tested\x20in\x20development/staging\x20first'];_0x1c48=function(){return _0xb5ea73;};return _0x1c48();}i['match'](/migrate.*up|migration.*run/i)&&(console['log'](_0x825c7a(0x18b)),console[_0x825c7a(0x1b7)](_0x825c7a(0x19b)),console['log'](_0x825c7a(0x1ac)),console[_0x825c7a(0x1b7)]('\x20\x20\x20\x20\x203.\x20Check\x20for\x20type\x20errors:\x20npm\x20run\x20build'),console['log'](_0x825c7a(0x1bb)),t[_0x825c7a(0x1c5)]('After\x20migration,\x20run\x20npm\x20test\x20to\x20verify\x20schema\x20compatibility')),i[_0x825c7a(0x186)](/migrate.*down|migration.*rollback/i)&&(console[_0x825c7a(0x1b7)]('\x20\x20🔙\x20Rolling\x20back\x20migration...\x0a'),a['match'](/error|failed/i)?(n[_0x825c7a(0x1c5)]('BLOCKED:\x20Migration\x20rollback\x20failed'),n[_0x825c7a(0x1c5)](_0x825c7a(0x1c2)),n[_0x825c7a(0x1c5)](_0x825c7a(0x1ad))):console[_0x825c7a(0x1b7)](_0x825c7a(0x1be))),n[_0x825c7a(0x1b5)]>0x0&&(console['error'](_0x825c7a(0x18c)),n['forEach'](_0x4eb697=>console[_0x825c7a(0x19e)]('\x20\x20'+_0x4eb697)),console[_0x825c7a(0x19e)]('\x0a'),process[_0x825c7a(0x18a)](0x2)),t['length']>0x0&&(console[_0x825c7a(0x1a8)](_0x825c7a(0x1a1)),t['forEach'](_0x159e87=>console[_0x825c7a(0x1a8)]('\x20\x20'+_0x159e87)),console[_0x825c7a(0x1a8)]('\x0a')),process[_0x825c7a(0x18a)](0x0);
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const _0x2b7e57=_0x5e6c;(function(_0x4bdb33,_0x2d6e78){const _0x4c1056=_0x5e6c,_0x19da9f=_0x4bdb33();while(!![]){try{const _0x2f997f=parseInt(_0x4c1056(0x192))/0x1*(parseInt(_0x4c1056(0x1ac))/0x2)+-parseInt(_0x4c1056(0x1b4))/0x3+parseInt(_0x4c1056(0x1ad))/0x4*(-parseInt(_0x4c1056(0x18e))/0x5)+parseInt(_0x4c1056(0x1e0))/0x6+parseInt(_0x4c1056(0x19a))/0x7+-parseInt(_0x4c1056(0x191))/0x8+parseInt(_0x4c1056(0x1cd))/0x9;if(_0x2f997f===_0x2d6e78)break;else _0x19da9f['push'](_0x19da9f['shift']());}catch(_0x48f5ed){_0x19da9f['push'](_0x19da9f['shift']());}}}(_0xa007,0x5e440));function _0xa007(){const _0x30483c=['ugzIk','xZbSn','uhSNM','RXDBY','hDEri','design','implementation','oiDqC','parse','jePdY','\x0a❌\x20BLOCKED:\x20PROJECT-PLAN.json\x20does\x20NOT\x20follow\x20template','VUBaL','toString','IrqQK','\x20\x20\x201.\x20Read\x20.claude/PLAN-SCHEMA.json\x20for\x20structure','VhdJv','tool','forEach','xvIqI','message','join','dependencies','7855677anPUlq','apply','✅\x20PROJECT-PLAN.json\x20follows\x20official\x20template','description',':\x20Invalid\x20ID\x20format.\x20Must\x20be\x20TASK-XXX\x20(e.g.,\x20TASK-001)','Dynamic\x20require\x20of\x20\x22','Nbxvg','file_path','search','log','length','testing','tool_input',':\x20Missing\x20required\x20field\x20\x22','(((.+)+)+)+$','error','planId','projectName','push','1354566LrUMoR','PROJECT-PLAN.json','isArray','Field\x20\x22tasks\x22\x20must\x20be\x20an\x20array','10mTKsNH','Task\x20','string','4331864HdaCdF','17TYXECs',':\x20Invalid\x20phase\x20\x22','\x0a\x20\x20\x20Required\x20fields:','\x0a\x20\x20\x20Validation\x20errors:','LqrHA','estimatedHours','\x20\x20\x20•\x20','HPWpv','3029145pDfRgk','\x0a❌\x20BLOCKED:\x20PROJECT-PLAN.json\x20must\x20be\x20valid\x20JSON','boGpf','\x20\x20\x203.\x20Follow\x20the\x20exact\x20structure','\x20\x20\x202.\x20Read\x20.claude/PROJECT-PLAN-TEMPLATE.json\x20for\x20format','\x22\x20is\x20not\x20supported','structure','\x0a\x20\x20\x20✅\x20Use\x20the\x20official\x20template:','GTAkN','\x22.\x20Must\x20be\x20one\x20of:\x20','path','match','RKqAf','XhoDD',':\x20dependencies\x20must\x20be\x20an\x20array','deployment','doYgb','argv','18366tlRTir','665572CbzCYS','content','\x20\x20\x20Parse\x20error:\x20','phase','zjoKD','includes','Field\x20\x22structure\x22\x20must\x20be\x20\x22flat\x22\x20or\x20\x22hierarchical\x22','1281237fhHvxm','exit','tasks'];_0xa007=function(){return _0x30483c;};return _0xa007();}function _0x5e6c(_0x16cc50,_0x1aeb96){_0x16cc50=_0x16cc50-0x18b;const _0xecc7d=_0xa007();let _0x2b55cb=_0xecc7d[_0x16cc50];return _0x2b55cb;}const _0x7305d8=(function(){const _0x169f83=_0x5e6c,_0x4cc8cc={};_0x4cc8cc['ONxsg']=function(_0x35a3e6,_0x4e8efa){return _0x35a3e6===_0x4e8efa;},_0x4cc8cc['boGpf']='implementation',_0x4cc8cc[_0x169f83(0x1bb)]='testing',_0x4cc8cc[_0x169f83(0x1ba)]=_0x169f83(0x1b1),_0x4cc8cc[_0x169f83(0x1be)]=function(_0x407022,_0x42dd0d){return _0x407022===_0x42dd0d;},_0x4cc8cc[_0x169f83(0x1a2)]='faZuI',_0x4cc8cc[_0x169f83(0x1a7)]=_0x169f83(0x1b7);const _0x12b7f4=_0x4cc8cc;let _0x39dd5f=!![];return function(_0x65f5cc,_0x5f445d){const _0x327f80=_0x169f83,_0xd5ae1a={'LqrHA':function(_0x34b5cf,_0x2ccf6d){return _0x12b7f4['ONxsg'](_0x34b5cf,_0x2ccf6d);},'uhSNM':_0x12b7f4[_0x327f80(0x19c)],'VhdJv':_0x12b7f4[_0x327f80(0x1bb)],'xZbSn':_0x12b7f4[_0x327f80(0x1ba)]};if(_0x12b7f4[_0x327f80(0x1be)](_0x12b7f4[_0x327f80(0x1a2)],_0x12b7f4[_0x327f80(0x1a7)])){for(let _0x11aa71 of _0x383ab7)_0xd5ae1a[_0x327f80(0x196)](_0x5ca81e[_0x11aa71],void 0x0)&&_0x2b0580[_0x327f80(0x1df)](_0x327f80(0x18f)+(_0x1ed288['id']||_0x994b32)+_0x327f80(0x1da)+_0x11aa71+'\x22');_0x52a1e8['id']&&!_0x33738e['id']['match'](/^TASK-\d{3}$/)&&_0x31f5b1[_0x327f80(0x1df)](_0x327f80(0x18f)+(_0x5bbb2b['id']||_0x541bb3)+':\x20Invalid\x20ID\x20format.\x20Must\x20be\x20TASK-XXX\x20(e.g.,\x20TASK-001)'),_0x1133c1[_0x327f80(0x1cc)]&&!_0x32b4c3[_0x327f80(0x18c)](_0x4cb3f4[_0x327f80(0x1cc)])&&_0x44ec22['push']('Task\x20'+(_0x3699ac['id']||_0x4cca21)+_0x327f80(0x1a8));let _0x18d21b=['design',_0xd5ae1a[_0x327f80(0x1b9)],_0xd5ae1a[_0x327f80(0x1c6)],_0x327f80(0x1a9)];_0x257154[_0x327f80(0x1b0)]&&!_0x18d21b[_0x327f80(0x1b2)](_0x7108a5[_0x327f80(0x1b0)])&&_0x17e6b5[_0x327f80(0x1df)](_0x327f80(0x18f)+(_0x14b62f['id']||_0x290966)+_0x327f80(0x193)+_0x961da3[_0x327f80(0x1b0)]+'\x22.\x20Must\x20be\x20one\x20of:\x20'+_0x18d21b[_0x327f80(0x1cb)](',\x20'));}else{const _0x1fbf8f=_0x39dd5f?function(){const _0x5b1c2e=_0x327f80;if(_0xd5ae1a[_0x5b1c2e(0x1b8)]!==_0x5b1c2e(0x1b1))_0x38d866[_0x5b1c2e(0x1dc)](_0x5b1c2e(0x19b)),_0x36779b[_0x5b1c2e(0x1dc)](_0x5b1c2e(0x1af)+_0x5624a1[_0x5b1c2e(0x1ca)]+'\x0a'),_0x45d133['exit'](0x2);else{if(_0x5f445d){const _0x3ccd91=_0x5f445d[_0x5b1c2e(0x1ce)](_0x65f5cc,arguments);return _0x5f445d=null,_0x3ccd91;}}}:function(){};return _0x39dd5f=![],_0x1fbf8f;}};}()),_0x2b55cb=_0x7305d8(this,function(){const _0x1229ac=_0x5e6c,_0x523b4b={};_0x523b4b['GMGrm']=_0x1229ac(0x1db);const _0x4d24e3=_0x523b4b;return _0x2b55cb[_0x1229ac(0x1c3)]()[_0x1229ac(0x1d5)](_0x4d24e3['GMGrm'])['toString']()['constructor'](_0x2b55cb)[_0x1229ac(0x1d5)](_0x1229ac(0x1db));});_0x2b55cb();var l=(_0x39542e=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x39542e,{'get':(_0x214199,_0x4a21e1)=>(typeof require<'u'?require:_0x214199)[_0x4a21e1]}):_0x39542e)(function(_0x4fa908){const _0x418430=_0x5e6c,_0x5135e2={};_0x5135e2[_0x418430(0x1c4)]=function(_0x2058c3,_0x1090e1){return _0x2058c3+_0x1090e1;},_0x5135e2[_0x418430(0x1c9)]=function(_0x9ac8a0,_0x5c81f0){return _0x9ac8a0+_0x5c81f0;},_0x5135e2[_0x418430(0x1c2)]=_0x418430(0x1d2),_0x5135e2[_0x418430(0x199)]=_0x418430(0x19f);const _0x33aeb0=_0x5135e2;if(typeof require<'u')return require['apply'](this,arguments);throw Error(_0x33aeb0['IrqQK'](_0x33aeb0[_0x418430(0x1c9)](_0x33aeb0[_0x418430(0x1c2)],_0x4fa908),_0x33aeb0[_0x418430(0x199)]));}),m=l('fs'),A=l(_0x2b7e57(0x1a4)),u=process[_0x2b7e57(0x1ab)][0x2]||'{}',n=JSON['parse'](u),d=n[_0x2b7e57(0x1d9)]?.[_0x2b7e57(0x1d4)],p=n[_0x2b7e57(0x1d9)]?.[_0x2b7e57(0x1ae)],f=n[_0x2b7e57(0x1c7)];if(f==='Write'&&d&&d[_0x2b7e57(0x1b2)](_0x2b7e57(0x18b))){let e;try{e=JSON[_0x2b7e57(0x1bf)](p);}catch(_0xc290b2){console['error']('\x0a❌\x20BLOCKED:\x20PROJECT-PLAN.json\x20must\x20be\x20valid\x20JSON'),console[_0x2b7e57(0x1dc)](_0x2b7e57(0x1af)+_0xc290b2[_0x2b7e57(0x1ca)]+'\x0a'),process[_0x2b7e57(0x1b5)](0x2);}let s=[],i=[_0x2b7e57(0x1dd),_0x2b7e57(0x1de),_0x2b7e57(0x1d0),_0x2b7e57(0x1a0),_0x2b7e57(0x1b6)];for(let o of i)e[o]||s[_0x2b7e57(0x1df)]('Missing\x20required\x20field:\x20'+o);if(e[_0x2b7e57(0x1a0)]&&typeof e[_0x2b7e57(0x1a0)]!=_0x2b7e57(0x190)&&s[_0x2b7e57(0x1df)](_0x2b7e57(0x1b3)),e[_0x2b7e57(0x1b6)]&&!Array['isArray'](e[_0x2b7e57(0x1b6)])&&s[_0x2b7e57(0x1df)](_0x2b7e57(0x18d)),Array['isArray'](e[_0x2b7e57(0x1b6)])){let o=['id','title',_0x2b7e57(0x1d0),_0x2b7e57(0x1b0),_0x2b7e57(0x1cc),_0x2b7e57(0x197)];e[_0x2b7e57(0x1b6)][_0x2b7e57(0x1c8)]((_0x1813a2,_0x6d624c)=>{const _0x2e045f=_0x2b7e57,_0x56d68c={};_0x56d68c[_0x2e045f(0x1a6)]=function(_0x37e0b9,_0x173420){return _0x37e0b9===_0x173420;},_0x56d68c['jePdY']=_0x2e045f(0x1bc),_0x56d68c[_0x2e045f(0x1aa)]=_0x2e045f(0x1bd),_0x56d68c[_0x2e045f(0x1d3)]=_0x2e045f(0x1d8);const _0x10cb5d=_0x56d68c;for(let _0x46ee54 of o)_0x10cb5d['RKqAf'](_0x1813a2[_0x46ee54],void 0x0)&&s[_0x2e045f(0x1df)](_0x2e045f(0x18f)+(_0x1813a2['id']||_0x6d624c)+_0x2e045f(0x1da)+_0x46ee54+'\x22');_0x1813a2['id']&&!_0x1813a2['id'][_0x2e045f(0x1a5)](/^TASK-\d{3}$/)&&s[_0x2e045f(0x1df)](_0x2e045f(0x18f)+(_0x1813a2['id']||_0x6d624c)+_0x2e045f(0x1d1)),_0x1813a2[_0x2e045f(0x1cc)]&&!Array[_0x2e045f(0x18c)](_0x1813a2[_0x2e045f(0x1cc)])&&s[_0x2e045f(0x1df)](_0x2e045f(0x18f)+(_0x1813a2['id']||_0x6d624c)+':\x20dependencies\x20must\x20be\x20an\x20array');let _0x4bf809=[_0x10cb5d[_0x2e045f(0x1c0)],_0x10cb5d[_0x2e045f(0x1aa)],_0x10cb5d[_0x2e045f(0x1d3)],'deployment'];_0x1813a2[_0x2e045f(0x1b0)]&&!_0x4bf809[_0x2e045f(0x1b2)](_0x1813a2[_0x2e045f(0x1b0)])&&s[_0x2e045f(0x1df)]('Task\x20'+(_0x1813a2['id']||_0x6d624c)+_0x2e045f(0x193)+_0x1813a2['phase']+_0x2e045f(0x1a3)+_0x4bf809[_0x2e045f(0x1cb)](',\x20'));});}s[_0x2b7e57(0x1d7)]>0x0&&(console['error'](_0x2b7e57(0x1c1)),console['error'](_0x2b7e57(0x195)),s[_0x2b7e57(0x1c8)](_0x44bf5a=>console['error'](_0x2b7e57(0x198)+_0x44bf5a)),console[_0x2b7e57(0x1dc)](_0x2b7e57(0x1a1)),console[_0x2b7e57(0x1dc)](_0x2b7e57(0x1c5)),console['error'](_0x2b7e57(0x19e)),console[_0x2b7e57(0x1dc)](_0x2b7e57(0x19d)),console[_0x2b7e57(0x1dc)](_0x2b7e57(0x194)),console[_0x2b7e57(0x1dc)]('\x20\x20\x20-\x20planId,\x20projectName,\x20description,\x20structure,\x20tasks'),console[_0x2b7e57(0x1dc)]('\x20\x20\x20-\x20Each\x20task:\x20id\x20(TASK-XXX),\x20title,\x20description,\x20phase,\x20dependencies,\x20estimatedHours\x0a'),process[_0x2b7e57(0x1b5)](0x2)),console[_0x2b7e57(0x1d6)](_0x2b7e57(0x1cf));}process[_0x2b7e57(0x1b5)](0x0);
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- function _0x5ee4(_0x1b11fc,_0x47405e){_0x1b11fc=_0x1b11fc-0x161;const _0x10b676=_0x2d4c();let _0x46b8e8=_0x10b676[_0x1b11fc];return _0x46b8e8;}const _0xdb181=_0x5ee4;(function(_0x4ea050,_0x1567e8){const _0xa90745=_0x5ee4,_0x16b6de=_0x4ea050();while(!![]){try{const _0x3969d4=parseInt(_0xa90745(0x186))/0x1*(-parseInt(_0xa90745(0x1d1))/0x2)+parseInt(_0xa90745(0x1df))/0x3+-parseInt(_0xa90745(0x164))/0x4*(-parseInt(_0xa90745(0x17f))/0x5)+-parseInt(_0xa90745(0x191))/0x6*(parseInt(_0xa90745(0x182))/0x7)+parseInt(_0xa90745(0x17d))/0x8*(-parseInt(_0xa90745(0x16c))/0x9)+parseInt(_0xa90745(0x1a3))/0xa+-parseInt(_0xa90745(0x1bf))/0xb*(-parseInt(_0xa90745(0x1d7))/0xc);if(_0x3969d4===_0x1567e8)break;else _0x16b6de['push'](_0x16b6de['shift']());}catch(_0x2500f6){_0x16b6de['push'](_0x16b6de['shift']());}}}(_0x2d4c,0xef8a5));var k=(_0x15c240=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x15c240,{'get':(_0x21ba06,_0x3e8789)=>(typeof require<'u'?require:_0x21ba06)[_0x3e8789]}):_0x15c240)(function(_0x350e3c){const _0x2b5ef1=_0x5ee4,_0x320caf={'WRQfR':function(_0x30d016,_0x59a872){return _0x30d016<_0x59a872;},'PmQBC':function(_0x4ecbea,_0xdf869b){return _0x4ecbea(_0xdf869b);},'lnMax':function(_0x1d7de9,_0x3b39d0){return _0x1d7de9+_0x3b39d0;},'GOTNe':function(_0x185108,_0x17611a){return _0x185108+_0x17611a;},'mHPMf':_0x2b5ef1(0x176)};if(_0x320caf[_0x2b5ef1(0x194)](typeof require,'u'))return require[_0x2b5ef1(0x18e)](this,arguments);throw _0x320caf['PmQBC'](Error,_0x320caf['lnMax'](_0x320caf[_0x2b5ef1(0x178)](_0x2b5ef1(0x1a0),_0x350e3c),_0x320caf[_0x2b5ef1(0x1aa)]));}),a=k('fs'),i=k(_0xdb181(0x1ae)),P=process[_0xdb181(0x1c7)][0x2]||'{}',u=JSON['parse'](P),n=u['tool_input']?.['file_path'],c=u[_0xdb181(0x167)]?.[_0xdb181(0x19d)],m=u['tool_input']?.['command'],e=u['tool'],s=[],E=[],D=[/^npm run help$/,/^npm run task:status$/,/^npm run task:start/,/^npm run plan:/,/^git status/,/^git log/,/^git diff/,/^git branch/];function T(_0x20e6b5){const _0x160272=_0xdb181,_0x45cab9={'Xnhgx':_0x160272(0x185),'ymSXa':_0x160272(0x1a6),'EQvaC':_0x160272(0x190),'jwHMt':_0x160272(0x19a),'JzdvF':function(_0x2193b0,_0x5c76f5){return _0x2193b0===_0x5c76f5;},'TzhCx':_0x160272(0x1a8),'nkbBn':'utf8','GRcSj':'Start\x20a\x20task\x20first:','EbWmB':'Start\x20the\x20task:','cYNpw':_0x160272(0x1d8),'ReFEi':_0x160272(0x1c2),'jALwp':_0x160272(0x1d2),'XdEQW':function(_0x16e310,_0x503e1f){return _0x16e310!==_0x503e1f;},'JijaU':_0x160272(0x19f),'EveoJ':_0x160272(0x1e1),'UVXsF':_0x160272(0x173),'Ckzvt':function(_0x939206,_0x32c97a,_0x12b125){return _0x939206(_0x32c97a,_0x12b125);},'gHCmR':function(_0x10f749){return _0x10f749();}},_0x18f5f4=(function(){let _0x5157b2=!![];return function(_0x264ab1,_0x312dbd){const _0x2538e4=_0x5ee4,_0x2e677a={'MFOVV':_0x2538e4(0x19b),'HPKer':_0x45cab9[_0x2538e4(0x17e)],'JRlwo':_0x45cab9[_0x2538e4(0x1bc)],'IubSn':_0x45cab9['EQvaC'],'IVrFc':_0x45cab9[_0x2538e4(0x1e3)],'uiSzR':_0x2538e4(0x1c3),'AZgnK':_0x2538e4(0x1db),'aUeVk':function(_0x3eb1ba,_0x4e1e11){const _0x4b8f65=_0x2538e4;return _0x45cab9[_0x4b8f65(0x1bd)](_0x3eb1ba,_0x4e1e11);},'uMbZs':_0x45cab9[_0x2538e4(0x17b)],'RZHDC':_0x45cab9[_0x2538e4(0x1e5)],'KqUPQ':_0x45cab9['GRcSj'],'Doduo':_0x2538e4(0x188),'YrQQz':'BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','IFDqW':_0x45cab9[_0x2538e4(0x1a9)],'PaNym':_0x45cab9['cYNpw'],'iiGTZ':_0x2538e4(0x183),'XNaFR':_0x45cab9['ReFEi'],'ZCZYe':_0x2538e4(0x198),'HrRfB':_0x45cab9[_0x2538e4(0x1b8)]},_0x5ef313=_0x5157b2?function(){const _0x1ce6e5=_0x2538e4,_0x4b3ef6={'DHQFX':_0x2e677a[_0x1ce6e5(0x1d6)],'TLdbB':_0x1ce6e5(0x180),'QOfZU':_0x2e677a[_0x1ce6e5(0x175)],'LUbnu':'Initialize\x20task\x20tracker\x20first:','GCRME':_0x2e677a[_0x1ce6e5(0x192)],'MNjaV':_0x1ce6e5(0x1a7),'Xikhn':_0x2e677a['IubSn'],'gyQQx':_0x2e677a[_0x1ce6e5(0x184)],'DJbJl':_0x2e677a[_0x1ce6e5(0x1c5)],'bpmLS':_0x2e677a[_0x1ce6e5(0x18f)],'rPbLh':function(_0x3d5ce0,_0x510fa0){const _0x213f25=_0x1ce6e5;return _0x2e677a[_0x213f25(0x1da)](_0x3d5ce0,_0x510fa0);},'iKCOl':_0x2e677a[_0x1ce6e5(0x1cc)],'oTaxE':function(_0x430096,_0x157b13){return _0x430096(_0x157b13);},'FEJlH':_0x2e677a[_0x1ce6e5(0x1a2)],'tGPKn':'BLOCKED:\x20No\x20active\x20task','sZiZx':_0x2e677a[_0x1ce6e5(0x1b6)],'zBPMN':_0x2e677a['Doduo'],'TsYhy':_0x1ce6e5(0x19f),'wCrXY':_0x2e677a[_0x1ce6e5(0x162)],'KoNiG':_0x2e677a[_0x1ce6e5(0x16f)],'PTrLt':_0x2e677a[_0x1ce6e5(0x1dd)],'OnODm':_0x2e677a[_0x1ce6e5(0x166)],'cXjly':_0x2e677a[_0x1ce6e5(0x1d5)],'xUkKD':_0x2e677a['ZCZYe']};if(_0x312dbd){if(_0x2e677a['aUeVk'](_0x2e677a[_0x1ce6e5(0x1dc)],_0x2e677a[_0x1ce6e5(0x1dc)])){const _0x2a1646=_0x312dbd[_0x1ce6e5(0x18e)](_0x264ab1,arguments);return _0x312dbd=null,_0x2a1646;}else{let _0x5163ef=_0x4b7529[_0x1ce6e5(0x1c1)](_0x1f173f,_0x4b3ef6[_0x1ce6e5(0x196)]),_0x26991a=_0x3e7545[_0x1ce6e5(0x1c1)](_0x517729,_0x4b3ef6[_0x1ce6e5(0x19e)]);_0x1821a5[_0x1ce6e5(0x1b5)](_0x26991a)&&!_0x3274['existsSync'](_0x5163ef)&&(_0x42a159[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x18b)]),_0x5b5bb5[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x1c0)+_0x246479),_0x4133a9[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x16e)]),_0x3a5c54[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x1b9)]));let _0x32f6dd=[_0x4b3ef6['MNjaV'],_0x4b3ef6[_0x1ce6e5(0x1be)],_0x4b3ef6['gyQQx'],'Edit',_0x4b3ef6[_0x1ce6e5(0x16a)],_0x4b3ef6[_0x1ce6e5(0x1e0)]],_0x43eb76=_0x4b3ef6[_0x1ce6e5(0x1b7)](_0x458ce0,_0x4b3ef6[_0x1ce6e5(0x197)])&&_0x4b3ef6[_0x1ce6e5(0x1ca)](_0x581aa1,_0x2b4a87);if(_0x32f6dd[_0x1ce6e5(0x1a1)](_0x12ad26)&&!_0x43eb76&&_0x564b05[_0x1ce6e5(0x1b5)](_0x5163ef)){let _0x1c0fd6=_0x21a6c7['parse'](_0x64fa5a['readFileSync'](_0x5163ef,_0x4b3ef6['FEJlH']));if(!_0x1c0fd6[_0x1ce6e5(0x1cb)])_0x55a603[_0x1ce6e5(0x1d3)](_0x4b3ef6['tGPKn']),_0x263dd9[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x1c0)+_0x5adbea),_0x1cc0db[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x1a4)+_0x2bef51),_0x4ed4d9&&_0x525b85[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x187)+_0x12cd8c['basename'](_0x4ad875)),_0x428e07&&_0x3ed11d[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x170)+_0x19e980),_0x1b513b[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x1e4)]),_0x2e7ad6[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x161)]);else{let _0x58e5cb=_0x47f617[_0x1ce6e5(0x1c1)](_0x229105,'tasks',_0x1c0fd6[_0x1ce6e5(0x1cb)]+_0x1ce6e5(0x1e2));if(_0x2d9108[_0x1ce6e5(0x1b5)](_0x58e5cb)){let _0x24e94b=_0x2484ef[_0x1ce6e5(0x1af)](_0xd1eef1[_0x1ce6e5(0x17c)](_0x58e5cb,_0x1ce6e5(0x1cf)));_0x24e94b['status']!==_0x4b3ef6['TsYhy']&&(_0x150df8[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x189)]),_0x7d230[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x1c0)+_0x54b6b2),_0x143947[_0x1ce6e5(0x1d3)]('Task:\x20'+_0x1c0fd6[_0x1ce6e5(0x1cb)]+'\x20['+_0x24e94b[_0x1ce6e5(0x1b4)]+']'),_0x3f9012[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x1ad)]),_0x6ee9ae[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x1ac)+_0x1c0fd6[_0x1ce6e5(0x1cb)]));}}}_0x4af84a&&_0xd84ed9[_0x1ce6e5(0x195)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(_0x4b3ef6['rPbLh'](_0x250f17,_0x4b3ef6[_0x1ce6e5(0x1d9)])||_0x4b3ef6['rPbLh'](_0x5b2372,_0x4b3ef6[_0x1ce6e5(0x16a)]))&&(_0x4e52ec[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x172)]),_0x252ee0[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x187)+_0x37361a[_0x1ce6e5(0x16d)](_0x4f5133)),_0x4e140e[_0x1ce6e5(0x1d3)](_0x4b3ef6[_0x1ce6e5(0x168)]),_0x8fa933[_0x1ce6e5(0x1d3)](_0x1ce6e5(0x188)),_0x5f1ffe['push'](_0x4b3ef6[_0x1ce6e5(0x1b0)]));}}}:function(){};return _0x5157b2=![],_0x5ef313;};}()),_0x31033b=_0x45cab9[_0x160272(0x18c)](_0x18f5f4,this,function(){const _0xc01191=_0x160272,_0x3e0de7={'KcMCb':_0xc01191(0x1cf),'NsvYh':function(_0x1129f6,_0x4b1caf){const _0x3da28a=_0xc01191;return _0x45cab9[_0x3da28a(0x1de)](_0x1129f6,_0x4b1caf);},'hXzHg':_0x45cab9['JijaU'],'JtRlA':'BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','rqhAD':'Start\x20the\x20task:'};if(_0x45cab9[_0xc01191(0x1ba)]!==_0x45cab9[_0xc01191(0x1ba)]){let _0x21e295=_0x2c001d['parse'](_0x21aaa1[_0xc01191(0x17c)](_0x56bd30,_0x3e0de7[_0xc01191(0x199)]));_0x3e0de7[_0xc01191(0x193)](_0x21e295[_0xc01191(0x1b4)],_0x3e0de7['hXzHg'])&&(_0x1f2db8[_0xc01191(0x1d3)](_0x3e0de7[_0xc01191(0x171)]),_0x391b65['push']('Plan:\x20'+_0x3117c6),_0x3c9344[_0xc01191(0x1d3)](_0xc01191(0x1cd)+_0x6724ba['activeTask']+'\x20['+_0x21e295[_0xc01191(0x1b4)]+']'),_0x6172bf['push'](_0x3e0de7[_0xc01191(0x1b1)]),_0x3ff663[_0xc01191(0x1d3)]('\x20\x20npm\x20run\x20task:start\x20'+_0x432451[_0xc01191(0x1cb)]));}else return _0x31033b[_0xc01191(0x165)]()[_0xc01191(0x1bb)](_0x45cab9['UVXsF'])[_0xc01191(0x165)]()[_0xc01191(0x1b2)](_0x31033b)[_0xc01191(0x1bb)](_0x45cab9[_0xc01191(0x1c9)]);});return _0x45cab9[_0x160272(0x181)](_0x31033b),_0x20e6b5?D['some'](_0x1bddfa=>_0x1bddfa[_0x160272(0x1b3)](_0x20e6b5[_0x160272(0x1c4)]())):!0x1;}var S=_0xdb181(0x18a),l=null,r=null;a['existsSync'](S)&&(l=a[_0xdb181(0x17c)](S,'utf8')[_0xdb181(0x1c4)](),r=i[_0xdb181(0x1c1)]('.claude/plans',l)),n&&n[_0xdb181(0x1a1)](_0xdb181(0x16b))&&e==='Edit'&&r&&a[_0xdb181(0x1b5)](i[_0xdb181(0x1c1)](r,_0xdb181(0x180)))&&(s['push'](_0xdb181(0x1d4)),s[_0xdb181(0x1d3)](_0xdb181(0x187)+i['basename'](n)),s[_0xdb181(0x1d3)](_0xdb181(0x1ab)),s[_0xdb181(0x1d3)](_0xdb181(0x1c6)));if(l&&r){let t=i['join'](r,_0xdb181(0x19b)),o=i[_0xdb181(0x1c1)](r,_0xdb181(0x180));a['existsSync'](o)&&!a[_0xdb181(0x1b5)](t)&&(s[_0xdb181(0x1d3)](_0xdb181(0x185)),s[_0xdb181(0x1d3)]('Plan:\x20'+l),s[_0xdb181(0x1d3)](_0xdb181(0x1c8)),s[_0xdb181(0x1d3)]('\x20\x20npm\x20run\x20plan:init'));let h=[_0xdb181(0x1a7),_0xdb181(0x190),_0xdb181(0x19a),'Edit',_0xdb181(0x1c3),_0xdb181(0x1db)],$=e===_0xdb181(0x1a8)&&T(m);if(h['includes'](e)&&!$&&a[_0xdb181(0x1b5)](t)){let p=JSON[_0xdb181(0x1af)](a[_0xdb181(0x17c)](t,_0xdb181(0x1cf)));if(!p[_0xdb181(0x1cb)])s['push'](_0xdb181(0x177)),s[_0xdb181(0x1d3)](_0xdb181(0x1c0)+l),s[_0xdb181(0x1d3)](_0xdb181(0x1a4)+e),n&&s['push'](_0xdb181(0x187)+i[_0xdb181(0x16d)](n)),c&&s[_0xdb181(0x1d3)](_0xdb181(0x170)+c),s['push'](_0xdb181(0x18d)),s['push'](_0xdb181(0x188));else{let f=i[_0xdb181(0x1c1)](r,_0xdb181(0x1a5),p[_0xdb181(0x1cb)]+_0xdb181(0x1e2));if(a['existsSync'](f)){let d=JSON['parse'](a['readFileSync'](f,_0xdb181(0x1cf)));d[_0xdb181(0x1b4)]!==_0xdb181(0x19f)&&(s[_0xdb181(0x1d3)](_0xdb181(0x169)),s[_0xdb181(0x1d3)](_0xdb181(0x1c0)+l),s[_0xdb181(0x1d3)](_0xdb181(0x1cd)+p['activeTask']+'\x20['+d[_0xdb181(0x1b4)]+']'),s[_0xdb181(0x1d3)]('Start\x20the\x20task:'),s[_0xdb181(0x1d3)](_0xdb181(0x1ac)+p['activeTask']));}}}n&&n[_0xdb181(0x195)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(e===_0xdb181(0x1d8)||e===_0xdb181(0x1c3))&&(s[_0xdb181(0x1d3)](_0xdb181(0x183)),s[_0xdb181(0x1d3)](_0xdb181(0x187)+i[_0xdb181(0x16d)](n)),s[_0xdb181(0x1d3)](_0xdb181(0x1c2)),s['push'](_0xdb181(0x188)),s[_0xdb181(0x1d3)](_0xdb181(0x198)));}else{let t=[_0xdb181(0x1a7),_0xdb181(0x190),_0xdb181(0x19a),_0xdb181(0x1d8),_0xdb181(0x1c3),'TodoWrite'],o=e===_0xdb181(0x1a8)&&T(m);t['includes'](e)&&!o&&(s[_0xdb181(0x1d3)]('BLOCKED:\x20No\x20active\x20plan\x20found'),s['push'](_0xdb181(0x1a4)+e),n&&s[_0xdb181(0x1d3)](_0xdb181(0x187)+i['basename'](n)),c&&s[_0xdb181(0x1d3)](_0xdb181(0x170)+c),s[_0xdb181(0x1d3)](_0xdb181(0x163)),s[_0xdb181(0x1d3)]('\x20\x20npm\x20run\x20plan:manager'));}s[_0xdb181(0x1d0)]>0x0&&(console[_0xdb181(0x19c)](_0xdb181(0x174)),s[_0xdb181(0x17a)](_0x1d9337=>console['error']('\x20\x20'+_0x1d9337)),console['error']('\x0a'),process['exit'](0x2)),E[_0xdb181(0x1d0)]>0x0&&(console['warn']('\x0a⚠️\x20\x20STRUCTURED\x20DEVELOPMENT\x20WARNINGS\x0a'),E[_0xdb181(0x17a)](_0x38d993=>console[_0xdb181(0x179)]('\x20\x20'+_0x38d993)),console[_0xdb181(0x179)]('\x0a')),process[_0xdb181(0x1ce)](0x0);function _0x2d4c(){const _0x3ef6c3=['PROJECT-PLAN.json','27AdNDVH','basename','LUbnu','IFDqW','Pattern:\x20','JtRlA','OnODm','(((.+)+)+)+$','\x0a❌\x20STRUCTURED\x20DEVELOPMENT\x20ENFORCEMENT\x20FAILED\x0a','HPKer','\x22\x20is\x20not\x20supported','BLOCKED:\x20No\x20active\x20task','GOTNe','warn','forEach','TzhCx','readFileSync','1333784XqULin','Xnhgx','976240bRiwQy','.plan-locked','gHCmR','938WDThZv','BLOCKED:\x20Task\x20files\x20are\x20read-only','IVrFc','BLOCKED:\x20Project\x20plan\x20is\x20locked\x20but\x20task\x20tracker\x20is\x20missing','548absipR','File:\x20','\x20\x20npm\x20run\x20task:start\x20TASK-XXX','wCrXY','.claude/ACTIVE-PLAN','QOfZU','Ckzvt','Start\x20a\x20task\x20first:','apply','AZgnK','Grep','18354WEUjWu','JRlwo','NsvYh','WRQfR','match','DHQFX','iKCOl','\x20\x20npm\x20run\x20task:done\x20TASK-XXX','KcMCb','Glob','TASK-TRACKER.json','error','pattern','TLdbB','in_progress','Dynamic\x20require\x20of\x20\x22','includes','RZHDC','13246890Zgrhyn','Tool:\x20','tasks','\x20\x20npm\x20run\x20plan:init','Read','Bash','EbWmB','mHPMf','To\x20make\x20changes,\x20use\x20the\x20amendment\x20tool:','\x20\x20npm\x20run\x20task:start\x20','KoNiG','path','parse','xUkKD','rqhAD','constructor','test','status','existsSync','KqUPQ','rPbLh','jALwp','GCRME','EveoJ','search','ymSXa','JzdvF','Xikhn','5555epqewC','Plan:\x20','join','Use\x20task\x20management\x20commands:','Write','trim','uiSzR','\x20\x20npm\x20run\x20plan:amend','argv','Initialize\x20task\x20tracker\x20first:','UVXsF','oTaxE','activeTask','uMbZs','Task:\x20','exit','utf8','length','5026SRQRGU','JlZrP','push','BLOCKED:\x20Project\x20plan\x20is\x20LOCKED\x20and\x20immutable','XNaFR','MFOVV','4908ZEWRgf','Edit','PTrLt','aUeVk','TodoWrite','HrRfB','PaNym','XdEQW','3454134rFWmNj','bpmLS','FOfLo','.json','jwHMt','sZiZx','nkbBn','zBPMN','YrQQz','Set\x20active\x20plan\x20first:','12TBLvHK','toString','iiGTZ','tool_input','cXjly','BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','DJbJl'];_0x2d4c=function(){return _0x3ef6c3;};return _0x2d4c();}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- const _0x191883=_0x4423;(function(_0x5d7045,_0x380ba){const _0x3f0546=_0x4423,_0x5cc828=_0x5d7045();while(!![]){try{const _0x7b66a=parseInt(_0x3f0546(0x14a))/0x1*(-parseInt(_0x3f0546(0x126))/0x2)+parseInt(_0x3f0546(0x12e))/0x3+parseInt(_0x3f0546(0x14b))/0x4*(-parseInt(_0x3f0546(0x130))/0x5)+-parseInt(_0x3f0546(0x144))/0x6*(parseInt(_0x3f0546(0x148))/0x7)+-parseInt(_0x3f0546(0x14e))/0x8*(-parseInt(_0x3f0546(0x122))/0x9)+parseInt(_0x3f0546(0x117))/0xa+parseInt(_0x3f0546(0x129))/0xb;if(_0x7b66a===_0x380ba)break;else _0x5cc828['push'](_0x5cc828['shift']());}catch(_0x75ec5b){_0x5cc828['push'](_0x5cc828['shift']());}}}(_0x8676,0xe002b));const _0x332525=(function(){const _0x3d7be2=_0x4423,_0x4fdaac={};_0x4fdaac[_0x3d7be2(0x11c)]=function(_0xc53d4f,_0x260247){return _0xc53d4f===_0x260247;},_0x4fdaac[_0x3d7be2(0x146)]='bSfck';const _0x3fe8ca=_0x4fdaac;let _0x11b3d3=!![];return function(_0x341958,_0x2c56a3){const _0x5ef2f3=_0x11b3d3?function(){const _0x93806f=_0x4423;if(_0x2c56a3){if(_0x3fe8ca[_0x93806f(0x11c)](_0x3fe8ca[_0x93806f(0x146)],_0x93806f(0x13f))){const _0x409006=_0xb14ad9?function(){const _0x176c8b=_0x93806f;if(_0x4b3f38){const _0x298cad=_0x4cd708[_0x176c8b(0x143)](_0x15b603,arguments);return _0x749373=null,_0x298cad;}}:function(){};return _0x436388=![],_0x409006;}else{const _0x449048=_0x2c56a3[_0x93806f(0x143)](_0x341958,arguments);return _0x2c56a3=null,_0x449048;}}}:function(){};return _0x11b3d3=![],_0x5ef2f3;};}()),_0x3fc2ec=_0x332525(this,function(){const _0x3b5b22=_0x4423,_0x233ea0={};_0x233ea0[_0x3b5b22(0x13a)]=_0x3b5b22(0x11e);const _0x8a8ff5=_0x233ea0;return _0x3fc2ec[_0x3b5b22(0x110)]()[_0x3b5b22(0x12f)](_0x8a8ff5[_0x3b5b22(0x13a)])[_0x3b5b22(0x110)]()[_0x3b5b22(0x141)](_0x3fc2ec)[_0x3b5b22(0x12f)](_0x8a8ff5['fJUXk']);});_0x3fc2ec();var g=(_0x43848f=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x43848f,{'get':(_0x3ae6de,_0x2bb514)=>(typeof require<'u'?require:_0x3ae6de)[_0x2bb514]}):_0x43848f)(function(_0x5942fe){const _0x539947=_0x4423,_0x4e32a2={};_0x4e32a2[_0x539947(0x149)]=function(_0x3202a6,_0x49d614){return _0x3202a6<_0x49d614;},_0x4e32a2[_0x539947(0x11b)]=_0x539947(0x147);const _0x3b17d3=_0x4e32a2;if(_0x3b17d3[_0x539947(0x149)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x3b17d3[_0x539947(0x11b)]+_0x5942fe+'\x22\x20is\x20not\x20supported');}),c=g('fs'),E=g(_0x191883(0x116)),{execSync:f}=g('child_process'),h=process[_0x191883(0x115)][0x2]||'{}',I=JSON[_0x191883(0x13c)](h),T=I[_0x191883(0x11d)]?.[_0x191883(0x133)]||'';T[_0x191883(0x145)](/npm\s+(run\s+)?test|jest|vitest/)||process['exit'](0x0);var d=[],t=[],r=0x0,m=0x0,p=0x0,i=0x0;try{const _0x306f1c={};_0x306f1c['encoding']=_0x191883(0x118),_0x306f1c[_0x191883(0x13d)]=[_0x191883(0x12c),'pipe','ignore'];let e=f(_0x191883(0x125),_0x306f1c)['trim']()[_0x191883(0x14c)]('\x0a')['filter'](Boolean);for(let n of e)if(c[_0x191883(0x150)](n)){let o=c['readFileSync'](n,'utf8'),u=(o[_0x191883(0x145)](/\b(it|test)\s*\(/g)||[])[_0x191883(0x14d)];o[_0x191883(0x145)](/render\(|mount\(|screen\.|fireEvent\./)?i+=u:r+=u;}const _0x2ab6b4={};_0x2ab6b4['encoding']=_0x191883(0x118),_0x2ab6b4[_0x191883(0x13d)]=[_0x191883(0x12c),_0x191883(0x12c),_0x191883(0x121)];let l=f(_0x191883(0x128),_0x2ab6b4)['trim']()[_0x191883(0x14c)]('\x0a')[_0x191883(0x123)](Boolean);for(let n of l)if(c[_0x191883(0x150)](n)){let o=c['readFileSync'](n,_0x191883(0x118));m+=(o[_0x191883(0x145)](/\b(it|test)\s*\(/g)||[])[_0x191883(0x14d)];}const _0x1c2f71={};_0x1c2f71[_0x191883(0x140)]=_0x191883(0x118),_0x1c2f71[_0x191883(0x13d)]=[_0x191883(0x12c),_0x191883(0x12c),_0x191883(0x121)];let a=f(_0x191883(0x139),_0x1c2f71)[_0x191883(0x127)]()[_0x191883(0x14c)]('\x0a')[_0x191883(0x123)](Boolean);for(let n of a)if(c[_0x191883(0x150)](n)){let o=c[_0x191883(0x120)](n,_0x191883(0x118));p+=(o['match'](/\b(it|test)\s*\(/g)||[])['length'];}}catch{process[_0x191883(0x151)](0x0);}function _0x4423(_0x50b4c2,_0x77bb49){_0x50b4c2=_0x50b4c2-0x110;const _0x2282d7=_0x8676();let _0x3fc2ec=_0x2282d7[_0x50b4c2];return _0x3fc2ec;}var s=r+m+p+i;s===0x0&&(d[_0x191883(0x137)](_0x191883(0x135)),d[_0x191883(0x137)]('Create\x20tests\x20before\x20claiming\x20functionality\x20works'));function _0x8676(){const _0x4107cc=['search','70Wuqvlh','E2E\x20tests\x20are\x20slow\x20and\x20brittle,\x20use\x20integration\x20tests\x20instead','\x0a⚠️\x20\x20TEST\x20PYRAMID\x20WARNINGS\x0a','command','Every\x20UI\x20component\x20should\x20have\x20component\x20tests','BLOCKED:\x20No\x20tests\x20found\x20in\x20the\x20project','warn','push','WARNING:\x20Inverted\x20test\x20pyramid\x20detected','find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20find\x20./cypress\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','fJUXk','\x20\x20E2E\x20Tests:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','parse','stdio','UI\x20bugs\x20are\x20not\x20caught\x20by\x20API-only\x20tests!','onCmL','encoding','constructor','WARNING:\x20Multiple\x20UI\x20components\x20but\x20NO\x20E2E\x20integration\x20tests','apply','137118gPGBgz','match','fXCmy','Dynamic\x20require\x20of\x20\x22','546EaZlNY','mdxEM','5672NqZgNO','189032ZsxHQz','split','length','160HVhOwo','\x20component\x20tests','existsSync','exit','log','toString','WARNING:\x20Too\x20many\x20E2E\x20tests\x20(>30%\x20of\x20total)','toFixed','find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20|\x20wc\x20-l','Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20','argv','path','12899260ntYAHZ','utf8','\x20UI\x20components\x20but\x20only\x20','\x20\x20Total:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','Qlxch','PzoDj','tool_input','(((.+)+)+)+$','forEach','readFileSync','ignore','680958pmZnIa','filter','CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!','find\x20./tests\x20-name\x20\x22*.test.*\x22\x20-o\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20|\x20grep\x20-v\x20-E\x20\x22(integration|e2e|component)\x22\x20||\x20echo\x20\x22\x22','356hVyhGd','trim','find\x20./tests\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.test.*\x22\x20-o\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','10251538UrdkPE','WARNING:\x20','error','pipe','Add\x20E2E\x20tests\x20to\x20validate\x20complete\x20user\x20flows','1908555rCGYgN'];_0x8676=function(){return _0x4107cc;};return _0x8676();}if(s>0x0){let e=(r+i)/s*0x64,l=m/s*0x64,a=p/s*0x64;console[_0x191883(0x152)]('\x0a📊\x20TEST\x20PYRAMID\x20ANALYSIS\x0a'),console['log']('\x20\x20Unit/Component\x20Tests:\x20'+(r+i)+'\x20('+e[_0x191883(0x112)](0x1)+'%)'),console[_0x191883(0x152)]('\x20\x20Integration\x20Tests:\x20\x20\x20\x20'+m+'\x20('+l['toFixed'](0x1)+'%)'),console[_0x191883(0x152)](_0x191883(0x13b)+p+'\x20('+a[_0x191883(0x112)](0x1)+'%)'),console[_0x191883(0x152)](_0x191883(0x11a)+s+'\x0a'),i===0x0&&r>0x0&&(t[_0x191883(0x137)]('WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests'),t[_0x191883(0x137)]('Add\x20component\x20tests\x20for\x20React/Vue/etc.\x20components'),t['push'](_0x191883(0x13e))),r+i<s*0.5&&(t[_0x191883(0x137)](_0x191883(0x138)),t[_0x191883(0x137)](_0x191883(0x114)+e[_0x191883(0x112)](0x1)+'%'),t[_0x191883(0x137)]('Add\x20more\x20unit\x20and\x20component\x20tests')),p>s*0.3&&(t[_0x191883(0x137)](_0x191883(0x111)),t[_0x191883(0x137)](_0x191883(0x131)));try{const _0x29d324={};_0x29d324[_0x191883(0x140)]=_0x191883(0x118),_0x29d324[_0x191883(0x13d)]=[_0x191883(0x12c),_0x191883(0x12c),'ignore'];let n=f(_0x191883(0x113),_0x29d324)[_0x191883(0x127)](),o=parseInt(n)||0x0;if(o>0x0){let u=i/o;u<0.5&&(t['push'](_0x191883(0x12a)+o+_0x191883(0x119)+i+_0x191883(0x14f)),t[_0x191883(0x137)]('Component\x20test\x20coverage:\x20'+(u*0x64)[_0x191883(0x112)](0x1)+'%'),t['push'](_0x191883(0x124)),t[_0x191883(0x137)](_0x191883(0x134))),p===0x0&&o>0x5&&(t[_0x191883(0x137)](_0x191883(0x142)),t['push'](_0x191883(0x12d)));}}catch{}}d[_0x191883(0x14d)]>0x0&&(console[_0x191883(0x12b)]('\x0a❌\x20TEST\x20PYRAMID\x20VALIDATION\x20FAILED\x0a'),d['forEach'](_0x17ec0f=>console[_0x191883(0x12b)]('\x20\x20'+_0x17ec0f)),console[_0x191883(0x12b)]('\x0a'),process[_0x191883(0x151)](0x2)),t[_0x191883(0x14d)]>0x0&&(console[_0x191883(0x136)](_0x191883(0x132)),t[_0x191883(0x11f)](_0x5c905a=>console[_0x191883(0x136)]('\x20\x20'+_0x5c905a)),console['warn']('\x0a')),process['exit'](0x0);