Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
ac7a613
Squashed 'core/' changes from b691a29f..8d428bb7
hawkeyexl Dec 5, 2025
f4ad597
Merge commit 'ac7a613d195fd62ac8bdc3df183ff8280ff2d187' into cli-v2
hawkeyexl Dec 5, 2025
784459f
Squashed 'resolver/' changes from 0b62b5e9..6ef908c0
hawkeyexl Dec 5, 2025
8705e03
Merge commit '784459fc51433ae6546746d6935c153b23ca842e' into cli-v2
hawkeyexl Dec 5, 2025
4e37348
Squashed 'vscode/' changes from ce838992..23b4b759
hawkeyexl Dec 5, 2025
7dccd98
Merge commit '4e3734867305b158784d8bbfdb225c46adf42b94' into cli-v2
hawkeyexl Dec 5, 2025
e04dd51
Squashed 'cli/' changes from 7a82ced6..9e985467
hawkeyexl Dec 5, 2025
b92b0f8
Merge commit 'e04dd513d189f80da1992054d9a76e528ea7c7b4' into cli-v2
hawkeyexl Dec 5, 2025
4642fea
Inline test support
hawkeyexl Dec 5, 2025
4c001ef
Spacing fixes
hawkeyexl Dec 5, 2025
57ce6c0
Add unsaved changes tracking to TestBuilder and TestEditor
hawkeyexl Dec 5, 2025
bb9d10a
Refactor inline test serialization and add utility functions
hawkeyexl Dec 5, 2025
048f4ac
Support existing statement syntaxes
hawkeyexl Dec 5, 2025
0386267
Debugger first pass
hawkeyexl Dec 5, 2025
bf2b795
Move to local dev depedencies
hawkeyexl Dec 5, 2025
7ce6c50
Fix JSON/YAML paths
hawkeyexl Dec 5, 2025
26869fa
Tests
hawkeyexl Dec 5, 2025
98ee5c6
Fix inline editing
hawkeyexl Dec 6, 2025
c49fcab
More tests
hawkeyexl Dec 6, 2025
4bfed86
simplifi3d runner
hawkeyexl Dec 6, 2025
4def00d
test fixes
hawkeyexl Dec 7, 2025
0d1cc62
Add AI generation to common
hawkeyexl Dec 8, 2025
a8adc32
Add variant selector handling to FieldEditor input
hawkeyexl Dec 8, 2025
77fd02c
Refactor FieldEditor to improve variant handling logic
hawkeyexl Dec 8, 2025
24fee6c
Auto-show variant selector for new values with multiple variants
hawkeyexl Dec 8, 2025
b1ccb05
Add validation for required field value in FieldEditor
hawkeyexl Dec 8, 2025
7cd7af0
Refactor TestEditor to update local test state and trigger onChange c…
hawkeyexl Dec 8, 2025
c5b1345
Add warning for missing field definition in TestEditor metadata view
hawkeyexl Dec 8, 2025
7acde2f
Add file matching logic and sourcePath tracking for specs in CLI
hawkeyexl Dec 8, 2025
37d0caa
Add hasEditorFlag function to check for editor command-line flags
hawkeyexl Dec 8, 2025
8f2984a
Enhance modelMap with OpenAI models and update default model identifi…
hawkeyexl Dec 8, 2025
23ec3e1
Refactor sourceFileUtils to use EXCLUDED_STEP_KEYS constant for bette…
hawkeyexl Dec 8, 2025
7a3845b
Add normalizeForComparison function for deterministic object comparison
hawkeyexl Dec 8, 2025
abef96a
Refactor reportResults function to include config parameter for impro…
hawkeyexl Dec 8, 2025
85653b8
Refactor log function to accept config as the first parameter for imp…
hawkeyexl Dec 8, 2025
7176df0
Refactor error handling in getConfigFromEnv and reportResults functio…
hawkeyexl Dec 8, 2025
f54253c
Refactor App component to remove unused resolvedTests parameter and i…
hawkeyexl Dec 8, 2025
5d59f04
Refactor StepEditor component for improved structure and readability
hawkeyexl Dec 8, 2025
cea535c
Refactor inline source update handling to use useEffect for better co…
hawkeyexl Dec 8, 2025
c31fab1
Refactor pre-save inline source check to use useEffect for improved s…
hawkeyexl Dec 8, 2025
4eb1e65
Refactor runWithUI to improve state flushing and error handling
hawkeyexl Dec 8, 2025
a3c2259
Refactor API endpoint handling and test configuration for improved cl…
hawkeyexl Dec 8, 2025
cf11492
Refactor resolved tests to validate API execution results from stdout…
hawkeyexl Dec 8, 2025
5713249
Refactor version bump logic to streamline patch version increment
hawkeyexl Dec 8, 2025
744e976
typo
hawkeyexl Dec 8, 2025
0a59f4e
Refactor SpecSelector to handle TestBuilder import errors and improve…
hawkeyexl Dec 8, 2025
771ab9c
Fix error handling in runBuilder to ensure terminal is cleared on rej…
hawkeyexl Dec 8, 2025
df193e8
Refactor components for improved readability and maintainability
hawkeyexl Dec 8, 2025
e5a447a
Add waitForCondition and waitForText functions to enhance test synchr…
hawkeyexl Dec 8, 2025
64d6bce
Enhance validation display in StepEditor tests to show specific error…
hawkeyexl Dec 8, 2025
8232ffc
Refactor TestBuilder tests for improved structure and clarity
hawkeyexl Dec 8, 2025
497b57b
Refactor test files to remove unnecessary require statements and impr…
hawkeyexl Dec 8, 2025
7eeeff1
Update modelMap to include new OpenAI GPT-5 models and remove outdate…
hawkeyexl Dec 8, 2025
bbd692b
Formatting
hawkeyexl Dec 8, 2025
fe846b7
Implement truncateGraphemeSafe function for string truncation and upd…
hawkeyexl Dec 8, 2025
67d6884
Add inline source handling and new spec creation tests in TestBuilder
hawkeyexl Dec 8, 2025
ee59664
Fix goTo check in hasGoToBefore function and clear auto-advance timer…
hawkeyexl Dec 8, 2025
2808297
Enhance GoToInput backspace handling for grapheme-safe URL truncation
hawkeyexl Dec 8, 2025
c7e69b2
Refactor inline source file change detection to use Array.from for be…
hawkeyexl Dec 8, 2025
df2c001
Refactor ScrollableSelect to use highlightedIndex for improved scroll…
hawkeyexl Dec 8, 2025
35a0024
deps
hawkeyexl Dec 9, 2025
8df394a
Refactor source file utilities for improved inline test editing funct…
hawkeyexl Dec 9, 2025
629c8fd
local dev
hawkeyexl Dec 9, 2025
3cc926d
Add synthesized user input tests
hawkeyexl Dec 9, 2025
768d54d
Exclude internal metadata from common step properties in StepEditor
hawkeyexl Dec 9, 2025
f883723
Add refineStep()
hawkeyexl Dec 10, 2025
15b6cc5
Overhaul refineStep() and schema
hawkeyexl Dec 10, 2025
fbcf08b
Add analyze module and integrate into resolver; enhance main function…
hawkeyexl Dec 10, 2025
bbc0ac5
Add AI refinement capabilities to DebugRunner; implement step suggest…
hawkeyexl Dec 10, 2025
4b1c246
Enhance analyze module to support partial tests; add functionality fo…
hawkeyexl Dec 10, 2025
da4e678
Set preview version
hawkeyexl Dec 11, 2025
e3184cd
Set preview version
hawkeyexl Dec 11, 2025
8af1768
Set preview version
hawkeyexl Dec 11, 2025
2caf4bf
Set preview version
hawkeyexl Dec 11, 2025
3b7111e
Add Ollama support
hawkeyexl Dec 11, 2025
1163430
Extend media support in `generate()`
hawkeyexl Dec 11, 2025
44145a2
Add screenshot support
hawkeyexl Dec 12, 2025
c2ce3a7
Refactor ollama support
hawkeyexl Dec 12, 2025
24a83c3
Add Google as an AI provider
hawkeyexl Dec 12, 2025
3c336f5
Fix default model mapping
hawkeyexl Dec 12, 2025
6ca40a4
local llm changes
hawkeyexl Dec 12, 2025
19d6310
Revert "local llm changes"
hawkeyexl Dec 12, 2025
9261a8a
Refactor ollama, including pulling unavailable models
hawkeyexl Dec 12, 2025
ffa1b98
Update Ollama integration: fix base URL and remove unused model pull …
hawkeyexl Dec 12, 2025
88a2597
Refactor import statements in refineStep tests for clarity
hawkeyexl Dec 12, 2025
3673d83
Filter models in modelMap to only include those starting with "ollama/"
hawkeyexl Dec 12, 2025
1ea5e3c
Enhance Ollama container management: check Docker installation and ha…
hawkeyexl Dec 13, 2025
c9a11b1
Refactor AI provider availability checks in DebugRunner: streamline d…
hawkeyexl Dec 13, 2025
67308ca
Refactor buildRefinementPrompt for improved readability: format JSON …
hawkeyexl Dec 13, 2025
624a32a
Merge branch 'main' into cli-v2
hawkeyexl Dec 14, 2025
79300c1
Review responses
hawkeyexl Dec 16, 2025
ebab9f9
Fix CI
hawkeyexl Dec 16, 2025
1d9e212
Refactor TestEditor component and update schema
hawkeyexl Dec 17, 2025
4cc8b7f
Add unit tests for parsers module
hawkeyexl Jan 13, 2026
0568f32
Add AI analysis feature to TestBuilder
hawkeyexl Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cli/.github/workflows/auto-dev-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:

- name: Install dependencies
if: steps.check_changes.outputs.skip_release == 'false'
run: npm ci
run: npm install // Intentionally changed from 'npm ci' to 'npm install' to fix CI

- name: Run tests
if: steps.check_changes.outputs.skip_release == 'false'
Expand Down
3 changes: 1 addition & 2 deletions cli/.github/workflows/npm-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ jobs:
- windows-latest
- macos-latest
node:
- 18
- 20
- 22
- 24
Expand All @@ -41,7 +40,7 @@ jobs:
cache: 'npm'
cache-dependency-path: package-lock.json

- run: npm ci
- run: npm install // Intentionally changed from 'npm ci' to 'npm install' to fix CI
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if the workflow file exists and examine the relevant lines
if [ -f "cli/.github/workflows/npm-test.yaml" ]; then
  echo "=== Workflow file content (lines 35-70) ==="
  sed -n '35,70p' "cli/.github/workflows/npm-test.yaml"
else
  echo "File not found at cli/.github/workflows/npm-test.yaml"
  # Try alternative path
  find . -name "npm-test.yaml" -type f
fi

Repository: doc-detective/.github

Length of output: 1087


🏁 Script executed:

#!/bin/bash
# Search git history for changes related to npm install/ci in the workflow
git log --all --oneline --follow -- "**/npm-test.yaml" | head -20

Repository: doc-detective/.github

Length of output: 359


🏁 Script executed:

#!/bin/bash
# Search for any npm install vs npm ci discussions in recent commits
git log --all -p -- "**/npm-test.yaml" | grep -A 5 -B 5 "npm install\|npm ci" | head -80

Repository: doc-detective/.github

Length of output: 2324


The npm command inconsistency requires clarification.

The test job uses npm install (line 43) while the publish-npm job uses npm ci (line 60). The inline comment indicates the change to npm install was intentional to fix CI, but this leaves the publish job unchanged. Either update the publish-npm job to use npm install for consistency, or add a clear comment explaining why npm ci is retained there (e.g., if exact version matching is critical for publishing).

🤖 Prompt for AI Agents
In cli/.github/workflows/npm-test.yaml around line 43, the workflow uses 'npm
install' while the publish-npm job (around line 60) still uses 'npm ci', causing
an inconsistency; either make both steps use the same command or document the
rationale. Update the publish-npm job to use 'npm install' to match the test
job, or if 'npm ci' must remain for deterministic installs during publish, add a
clear inline comment next to line 60 explaining why 'npm ci' is required (e.g.,
for reproducible lockfile-based installs during publishing). Ensure both places
are consistent or clearly documented.

- run: npm test

publish-npm:
Expand Down
2 changes: 1 addition & 1 deletion cli/.github/workflows/update-core.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
# Remove ^ or ~ if present
CORE_VERSION_CLEAN=$(echo "$CORE_VERSION" | sed 's/^[^0-9]*//')
# Query GitHub API for release notes
RELEASE_INFO=$(gh release view "v$CORE_VERSION_CLEAN" --repo doc-detective/doc-detective-core --json body --jq .body || echo "No release notes found.")
RELEASE_INFO=$(gh release view "v$CORE_VERSION_CLEAN" --repo doc-detective/core --json body --jq .body || echo "No release notes found.")
echo "release_notes<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_INFO" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
Expand Down
4 changes: 4 additions & 0 deletions cli/dev/dev.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"input": "dev.spec.json",
"logLevel": "debug"
}
34 changes: 1 addition & 33 deletions cli/dev/dev.spec.json
Original file line number Diff line number Diff line change
@@ -1,45 +1,19 @@
{
"id": "Do all the things! - Spec",
"tests": [
{
"id": "Do all the things! - Test",
"description": "This test includes nearly every property across all actions.",
"steps": [
{
"action": "setVariables",
"path": ".env"
},
{
"action": "runShell",
"command": "echo",
"args": ["$USER"]
"command": "echo Hello, World!"
},
{
"action": "checkLink",
"url": "https://www.duckduckgo.com"
},
{
"action": "httpRequest",
"url": "https://reqres.in/api/users",
"method": "post",
"requestData": {
"name": "morpheus",
"job": "leader"
},
"responseData": {
"name": "morpheus",
"job": "leader"
},
"statusCodes": [200, 201]
},
{
"action": "goTo",
"url": "https://www.google.com"
},
{
"action": "startRecording",
"path": "test.mp4"
},
{
"action": "find",
"selector": "[title=Search]",
Expand All @@ -49,12 +23,6 @@
"typeKeys": {
"keys": ["shorthair cat", "$ENTER$"]
}
},
{
"action": "wait"
},
{
"action": "stopRecording"
}
]
}
Expand Down
Loading