cursortoys 0.2.0 โ†’ 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,10 +4,10 @@ Command-line utilities for CursorToys: HTTP testing, skill management, automatio
4
4
 
5
5
  ## Features
6
6
 
7
- - ๐Ÿงช **HTTP Testing**: Run `.req` / `.request` files as automated tests
8
- - ๐ŸŽฏ **Skill Management**: Create and manage AI agent skills
9
- - ๐Ÿค– **LLM Instructions**: Built-in usage guide for LLMs
10
- - ๐Ÿ”ง **Productivity Tools**: Utilities for development workflow
7
+ - **HTTP Testing**: Run `.req` / `.request` files as automated tests
8
+ - **Skill Management**: Create and manage AI agent skills
9
+ - **LLM Instructions**: Built-in usage guide for LLMs
10
+ - **Productivity Tools**: Utilities for development workflow
11
11
 
12
12
  ## Requirements
13
13
 
@@ -25,7 +25,7 @@ npm install -g cursortoys-cli
25
25
  ### Use with npx (no installation)
26
26
 
27
27
  ```bash
28
- npx cursortoys-cli http test
28
+ npx cursortoys http test
29
29
  ```
30
30
 
31
31
  ### Local Development
@@ -41,9 +41,7 @@ npm link
41
41
 
42
42
  ### HTTP Testing
43
43
 
44
- Run HTTP request files (`.req` / `.request`) from the project's `http` folder as automated tests. Uses the same format and behavior as the CursorToys VS Code extension (REST Client format, `# @var`, `# @env`, `{{VAR}}`, `.env` files), without depending on VS Code.
45
-
46
- ### HTTP Testing
44
+ Run HTTP request files (`.req` / `.request`) from the project's `http` folder as automated tests. Uses the same format and behavior as the CursorToys VS Code extension (REST Client format, `# @var`, `# @env`, `{{VAR}}`, project-root `.env` files).
47
45
 
48
46
  #### Run all HTTP tests
49
47
 
@@ -53,13 +51,15 @@ From the project root (where `.cursor/http/` or your configured base folder live
53
51
  cursortoys http test
54
52
  ```
55
53
 
56
- Discovers all `.req` and `.request` files under the `http` folder (excluding the environments subfolder), runs the first request in each file (before the first `###`), and reports pass/fail. A request is considered **passed** if the response status code is 2xx.
54
+ Discovers all `.req` and `.request` files under the `http` folder (recursively), runs every request block in each file, and reports pass/fail. A request **passes** when status is 2xx, or when all `@assert` blocks pass (assertions override status).
57
55
 
58
- #### Run a single file
56
+ #### Run a single file or folder
59
57
 
60
58
  ```bash
61
59
  cursortoys http test --file path/to/file.req
62
60
  cursortoys http test -f .cursor/http/api.req
61
+ cursortoys http test -f .cursor/http/auth
62
+ cursortoys http test --folder auth
63
63
  ```
64
64
 
65
65
  #### HTTP Test Options
@@ -68,28 +68,29 @@ cursortoys http test -f .cursor/http/api.req
68
68
  |-------|-------------|
69
69
  | `-p, --project <dir>` | Project directory (default: current working directory) |
70
70
  | `--base-folder <name>` | Base folder name (default: `cursor`; or set `CURSORTOYS_BASE_FOLDER`) |
71
- | `--environments-folder <name>` | Environments subfolder under `http` (default: `.environments`; or `CURSORTOYS_ENVIRONMENTS_FOLDER`) |
72
- | `-e, --env <name>` | Environment to use; overrides `# @env` in the file (default when not set: `dev`) |
71
+ | `-e, --env <name>` | Environment to use; overrides `# @env` in the file (default: `dev`) |
73
72
  | `-t, --timeout <seconds>` | Request timeout in seconds (default: `10`) |
74
- | `-f, --file <path>` | Run a single `.req` or `.request` file |
75
- | `-V, --verbose` | Show request and response for each test (method, URL, headers, body, status, response body) |
76
- | `--var <key=value>` | Override a variable (e.g. `BASE_URL=https://api.example.com`); can be repeated |
73
+ | `-f, --file <path>` | Run a single file or all request files in a directory |
74
+ | `--folder <path>` | Run all request files under a subfolder of the http directory |
75
+ | `-V, --verbose` | Show request and response for each test |
76
+ | `--var <key=value>` | Override a variable; can be repeated |
77
77
 
78
- #### HTTP Paths (no VS Code)
78
+ #### Paths (no VS Code)
79
79
 
80
- - **Workspace**: `process.cwd()` or `--project <dir>`.
81
- - **Base folder**: `CURSORTOYS_BASE_FOLDER` or `--base-folder` (default: `cursor`).
82
- - **HTTP folder**: `{workspace}/.{baseFolder}/http/` (e.g. `.cursor/http/`).
83
- - **Environments**: `{workspace}/.{baseFolder}/http/{environmentsFolder}/` (e.g. `.cursor/http/.environments/`), with files like `.env.dev`, `.env`, etc.
80
+ - **Workspace**: `process.cwd()` or `--project <dir>`
81
+ - **Base folder**: `CURSORTOYS_BASE_FOLDER` or `--base-folder` (default: `cursor`)
82
+ - **HTTP folder**: `{workspace}/.{baseFolder}/http/` (e.g. `.cursor/http/`)
83
+ - **Environments**: project root โ€” `.env`, `.env.dev`, `.env.staging`, etc. (not inside `http/`)
84
84
 
85
85
  #### HTTP Request File Format
86
86
 
87
87
  Same as in the CursorToys extension:
88
88
 
89
- - **REST Client**: `METHOD URL` then optional headers and body; multiple requests separated by `###` (only the first is run in this first version).
90
- - **Variables**: `# @var VAR_NAME=value` (or `VAR_NAME value`); `# @env name` to select environment.
91
- - **Substitution**: `{{VAR_NAME}}` in URL, headers, and body; resolved first from file `# @var`, then from `.env.{name}` (or `.env`) in the environments folder.
92
- - **Delay**: `# @delay(milliseconds)` to add a delay before executing the request block. Useful for rate limiting or waiting for async operations.
89
+ - **REST Client**: `METHOD URL` then optional headers and body; multiple requests separated by `###` or `##` sections
90
+ - **Variables**: `# @var VAR_NAME=value`; `# @env name` to select environment (`default` uses `.env`)
91
+ - **Substitution**: `{{VAR_NAME}}` resolved from `# @var`, then from `.env.{name}` at project root
92
+ - **Delay**: `# @delay(milliseconds)` before executing a block
93
+ - **Assertions**: block comments with `@assert(...)` โ€” when present, all must pass
93
94
 
94
95
  Example:
95
96
 
@@ -97,149 +98,92 @@ Example:
97
98
  # @env dev
98
99
  # @var BASE_URL=https://api.example.com
99
100
 
100
- ### Get health
101
+ ## Get health
101
102
  GET {{BASE_URL}}/health
102
103
  Accept: application/json
103
104
 
104
105
  ###
105
106
 
106
- ### Create user (with 1 second delay)
107
+ ## Create user
107
108
  # @delay(1000)
108
109
  POST {{BASE_URL}}/users
109
110
  Content-Type: application/json
110
111
 
111
- {
112
- "name": "John Doe",
113
- "email": "john@example.com"
114
- }
112
+ {"name": "John Doe"}
113
+ ```
114
+
115
+ Project root `.env.dev`:
116
+
117
+ ```env
118
+ BASE_URL=https://api.dev.example.com
119
+ API_KEY=dev-key
115
120
  ```
116
121
 
117
- #### HTTP Verbose Mode and Overrides
122
+ #### Verbose Mode and Overrides
118
123
 
119
- - **Verbose** (`-V` / `--verbose`): prints for each test the request (method, URL, headers, body) and the response (status, body), so you can inspect what was sent and received.
120
- - **Environment** (`-e` / `--env`): chooses which environment to use (e.g. `.env.qa`). If you pass `-e qa`, the fileโ€™s `# @env` (if any) is ignored and `qa` is used.
121
- - **Variable overrides** (`--var KEY=value`): overrides variables for the run. You can pass multiple: `--var BASE_URL=https://api.example.com --var API_KEY=secret`. These override both `# @var` in the file and values from `.env.*`.
124
+ - **Verbose** (`-V`): prints request (method, URL, headers, body) and response
125
+ - **Environment** (`-e`): uses `.env.{name}` at project root; `# @env default` maps to `.env`
126
+ - **Variable overrides** (`--var KEY=value`): override file and env values for the run
122
127
 
123
128
  Examples:
124
129
 
125
130
  ```bash
126
131
  cursortoys http test -V
127
- cursortoys http test -e qa --var BASE_URL=https://staging.example.com
132
+ cursortoys http test -e staging --var BASE_URL=https://staging.example.com
128
133
  cursortoys http test -f .cursor/http/api.req --verbose --var API_KEY=xxx
134
+ cursortoys http test --folder integrations
129
135
  ```
130
136
 
131
137
  ### Skill Management
132
138
 
133
139
  Create and manage AI agent skills for Cursor AI.
134
140
 
135
- #### Create a new skill
136
-
137
141
  ```bash
138
142
  cursortoys skill add my-skill
139
- ```
140
-
141
- #### Create with description
142
-
143
- ```bash
144
143
  cursortoys skill add http-testing -d "Skill for testing HTTP APIs"
145
- ```
146
-
147
- #### Create project-specific skill
148
-
149
- ```bash
150
144
  cursortoys skill add api-docs -t project -p /path/to/project
151
145
  ```
152
146
 
153
- #### Skill Options
154
-
155
147
  | Option | Description |
156
148
  |-------|-------------|
157
149
  | `-d, --description <text>` | Skill description |
158
- | `-t, --target <type>` | Target directory (`personal` or `project`, default: `personal`) |
150
+ | `-t, --target <type>` | `personal` or `project` (default: `personal`) |
159
151
  | `-p, --project <dir>` | Project directory (required if target is `project`) |
160
- | `--base-folder <name>` | Base folder name (default: `cursor`, or `CURSORTOYS_BASE_FOLDER`) |
161
-
162
- #### Skill Paths
163
-
164
- - **Personal skills**: `~/.cursor/skills/{skill-name}/SKILL.md`
165
- - **Project skills**: `{project}/.cursor/skills/{skill-name}/SKILL.md`
166
-
167
- The command creates a `SKILL.md` file with a template that you can customize.
152
+ | `--base-folder <name>` | Base folder name (default: `cursor`) |
168
153
 
169
154
  ### LLM Instructions
170
155
 
171
- Display instructions for LLMs on how to use the CLI:
172
-
173
156
  ```bash
174
157
  cursortoys --llm
175
158
  ```
176
159
 
177
- This shows comprehensive documentation about all commands, options, and usage patterns, formatted for LLMs to understand and use the CLI effectively.
178
-
179
- ## HTTP Test Output (Jest/Vitest style)
180
-
181
- The CLI uses a visual style similar to Jest/Vitest: checkmarks for pass, crosses for fail, and a short summary with duration.
182
-
183
- **Example when all tests pass:**
160
+ ## HTTP Test Output
184
161
 
185
162
  ```
186
163
  โœ“ .cursor/http/health.req 200 OK
187
- โœ“ .cursor/http/users.req 201 Created
164
+ โœ“ .cursor/http/users.req (2/3) 201 Created
188
165
 
189
166
  Tests: 2 passed, 2 total
190
167
  Time: 1.23s
191
168
  ```
192
169
 
193
- **Example when some tests fail:**
194
-
195
- ```
196
- โœ“ .cursor/http/health.req 200 OK
197
- โœ— .cursor/http/users.req 404 Not Found
198
- Failed to parse HTTP request (check METHOD URL and format)
199
-
200
- Tests: 1 passed, 1 failed, 2 total
201
- Time: 2.45s
202
- ```
203
-
204
- **Example when using `-f` and the file is not found:**
205
-
206
- ```
207
- FAIL No file found at: /path/to/missing.req
208
-
209
- Tests: 0 total
210
- Time: 0.01s
211
- ```
212
-
213
- **Example with `--verbose` (request and response shown):**
214
-
215
- ```
216
- โœ“ .cursor/http/health.req 200 OK
217
- Request: GET https://api.example.com/health
218
- Response: 200 OK
219
- Body: {"status":"ok"}
220
-
221
- Tests: 1 passed, 1 total
222
- Time: 0.45s
223
- ```
224
-
225
170
  Exit code is `0` if all tests passed, `1` if any failed or no files were run.
226
171
 
227
172
  ## Environment Variables
228
173
 
229
- - `CURSORTOYS_BASE_FOLDER`: Default base folder (default: `cursor`)
230
- - `CURSORTOYS_ENVIRONMENTS_FOLDER`: Environments subfolder (default: `.environments`)
174
+ | Variable | Description |
175
+ |----------|-------------|
176
+ | `CURSORTOYS_BASE_FOLDER` | Default base folder (default: `cursor`) |
177
+ | `CURSORTOYS_DEFAULT_ENV` | Default environment when not set in file (default: `dev`) |
231
178
 
232
179
  ## Integration with CursorToys Extension
233
180
 
234
- The CLI uses the same format and conventions as the CursorToys VS Code extension:
181
+ The CLI matches the CursorToys VS Code extension:
182
+
235
183
  - Same `.req` / `.request` file format
236
- - Same environment variable resolution
184
+ - Project-root `.env*` files (not under `http/`)
237
185
  - Same base folder configuration
238
- - Skills are compatible with Cursor AI Agent Skills
239
-
240
- ## Contributing
241
-
242
- Contributions are welcome! Please feel free to submit a Pull Request.
186
+ - Compatible with Cursor AI Agent Skills
243
187
 
244
188
  ## License
245
189
 
package/dist/cli.js CHANGED
@@ -47,16 +47,16 @@ const program = new commander_1.Command();
47
47
  program
48
48
  .name('cursortoys')
49
49
  .description('Command-line utilities for CursorToys - HTTP testing, automation, and productivity tools')
50
- .version('0.2.0');
50
+ .version('0.3.0');
51
51
  program
52
52
  .command('http test')
53
53
  .description('Run .req/.request files in the project http folder as tests')
54
54
  .option('-p, --project <dir>', 'Project directory (default: cwd)')
55
55
  .option('--base-folder <name>', 'Base folder name (default: cursor, or CURSORTOYS_BASE_FOLDER)')
56
- .option('--environments-folder <name>', 'Environments subfolder (default: .environments)')
57
- .option('-e, --env <name>', 'Environment to use (overrides # @env in file)')
56
+ .option('-e, --env <name>', 'Environment to use (overrides # @env in file; loads .env.{name} at project root)')
58
57
  .option('-t, --timeout <seconds>', 'Request timeout in seconds (default: 10)', '10')
59
- .option('-f, --file <path>', 'Run a single .req/.request file')
58
+ .option('-f, --file <path>', 'Run a single .req/.request file or a directory of request files')
59
+ .option('--folder <path>', 'Run all request files under this subfolder of the http directory')
60
60
  .option('-V, --verbose', 'Show request and response for each test')
61
61
  .option('--var <key=value>', 'Override variable (KEY=value); can be repeated', (v, acc) => {
62
62
  acc = acc || [];
@@ -164,20 +164,21 @@ program
164
164
  const results = await (0, http_test_1.runHttpTest)({
165
165
  project: opts?.project,
166
166
  baseFolder: opts?.baseFolder,
167
- environmentsFolder: opts?.environmentsFolder,
168
167
  env: opts?.env,
169
168
  timeout: isNaN(timeout) ? 10 : timeout,
170
169
  file: opts?.file,
170
+ folder: opts?.folder,
171
171
  verbose: opts?.verbose,
172
172
  varOverrides: Object.keys(varOverrides).length > 0 ? varOverrides : undefined,
173
- onProgress: displayResult, // Display results in real-time
173
+ onProgress: displayResult,
174
174
  });
175
175
  const passed = results.filter((r) => r.passed);
176
176
  const failed = results.filter((r) => !r.passed);
177
177
  const duration = ((Date.now() - startTime) / 1000).toFixed(2);
178
178
  if (results.length === 0) {
179
- if (opts?.file) {
180
- console.log(chalk_1.default.red(' FAIL ') + chalk_1.default.dim('No file found at: ') + opts.file);
179
+ if (opts?.file || opts?.folder) {
180
+ const target = opts?.file || opts?.folder;
181
+ console.log(chalk_1.default.red(' FAIL ') + chalk_1.default.dim('No request files found at: ') + target);
181
182
  console.log('');
182
183
  console.log(chalk_1.default.red('Tests: ') + chalk_1.default.red('0 total'));
183
184
  console.log(chalk_1.default.dim(`Time: ${duration}s`));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,oDAAmE;AACnE,oDAAgD;AAChD,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,0FAA0F,CAAC;KACvG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACjE,MAAM,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;KAC/F,MAAM,CAAC,kBAAkB,EAAE,kFAAkF,CAAC;KAC9G,MAAM,CAAC,yBAAyB,EAAE,0CAA0C,EAAE,IAAI,CAAC;KACnF,MAAM,CAAC,mBAAmB,EAAE,iEAAiE,CAAC;KAC9F,MAAM,CAAC,iBAAiB,EAAE,kEAAkE,CAAC;KAC7F,MAAM,CAAC,eAAe,EAAE,yCAAyC,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,EAAE,CAAC,CAAS,EAAE,GAAa,EAAE,EAAE;IAC1G,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;IAChB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACZ,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAc,CAAC;KACjB,MAAM,CAAC,KAAK,EACX,IAAY,EACZ,IASC,EACD,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,GAAG;oBAAE,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,aAAa,GAAG,CAAC,CAAiB,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI;YAClF,CAAC,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,GAAG;YACtD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QAEhG,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC;YACjE,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,eAAe,cAAc;YAC5D,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1H,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACpH,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,KAAK,MAAM,SAAS,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEpE,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;gBAEzC,iEAAiE;gBACjE,IAAI,gBAAgB,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAEvC,+BAA+B;gBAC/B,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY;oBAC1F,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpG,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClE,gBAAgB,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnC,CAAC;gBAED,sEAAsE;gBACtE,IAAI,WAAmB,CAAC;gBACxB,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBACpC,WAAW,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,gBAAgB,CAAC;gBACjC,CAAC;gBAED,IAAI,IAAI,GAAG,OAAO,MAAM,IAAI,WAAW,EAAE,CAAC;gBAE1C,sCAAsC;gBACtC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBACtB,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;wBACpB,IAAI,IAAI,eAAK,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;oBACpD,CAAC;yBAAM,IAAI,SAAS,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC/C,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;4BACzD,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,GAAG;4BAC9B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;wBAC1C,IAAI,IAAI,eAAK,CAAC,GAAG,CAAC,aAAa,SAAS,GAAG,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1G,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7E,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACpG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAqB,MAAM,IAAA,uBAAW,EAAC;QAClD,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,GAAG,EAAE,IAAI,EAAE,GAAG;QACd,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;QACtC,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI,EAAE,MAAM;QACpB,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QAC7E,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC;IACxH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;YAClB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,eAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC;YACpC,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,QAAQ,CAAC,CACzC,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,MAAM,YAAY,GAAG,OAAO;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,YAAY;KACT,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,0BAA0B,EAAE,mBAAmB,CAAC;KACvD,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,UAAU,CAAC;KACnF,MAAM,CAAC,qBAAqB,EAAE,mDAAmD,CAAC;KAClF,MAAM,CAAC,sBAAsB,EAAE,+DAA+D,CAAC;KAC/F,MAAM,CAAC,KAAK,EACX,IAAY,EACZ,IAKC,EACD,EAAE;IACF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,QAAQ,CAAC;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAElE,kBAAkB;IAClB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,oBAAQ,EAAC;QAC5B,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,MAAgC;QACxC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU;KACX,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,2BAA2B;AAC3B,OAAO;KACJ,MAAM,CAAC,OAAO,EAAE,0CAA0C,CAAC;KAC3D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACf,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -3,10 +3,10 @@ import { AssertionResult } from '../assertionTypes';
3
3
  export interface HttpTestOptions {
4
4
  project?: string;
5
5
  baseFolder?: string;
6
- environmentsFolder?: string;
7
6
  env?: string;
8
7
  timeout?: number;
9
8
  file?: string;
9
+ folder?: string;
10
10
  verbose?: boolean;
11
11
  varOverrides?: Record<string, string>;
12
12
  onProgress?: (result: HttpTestResult) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"http-test.d.ts","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"AAEA,OAAO,EAWL,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8ID;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAyNlF"}
1
+ {"version":3,"file":"http-test.d.ts","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6KD;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA2KlF"}
@@ -39,6 +39,7 @@ const path = __importStar(require("path"));
39
39
  const httpRunner_1 = require("../httpRunner");
40
40
  const assertionParser_1 = require("../assertionParser");
41
41
  const assertionValidator_1 = require("../assertionValidator");
42
+ const projectEnv_1 = require("../projectEnv");
42
43
  function getWorkspacePath(opts) {
43
44
  return opts.project ? path.resolve(opts.project) : process.cwd();
44
45
  }
@@ -47,47 +48,75 @@ function getBaseFolder(opts) {
47
48
  process.env.CURSORTOYS_BASE_FOLDER ||
48
49
  'cursor').toLowerCase();
49
50
  }
50
- function getEnvironmentsFolder(opts) {
51
- return (opts.environmentsFolder ||
52
- process.env.CURSORTOYS_ENVIRONMENTS_FOLDER ||
53
- '.environments');
54
- }
55
51
  function getHttpPath(workspacePath, baseFolder) {
56
52
  return path.join(workspacePath, `.${baseFolder}`, 'http');
57
53
  }
58
- function getEnvironmentsPath(workspacePath, baseFolder, environmentsFolder) {
59
- return path.join(workspacePath, `.${baseFolder}`, 'http', environmentsFolder);
54
+ function isRequestFile(filePath) {
55
+ const ext = path.extname(filePath).toLowerCase();
56
+ return ext === '.req' || filePath.endsWith('.request');
60
57
  }
61
- function discoverRequestFiles(httpPath, singleFile, excludeSubfolderName = '.environments') {
62
- if (singleFile) {
63
- const resolved = path.resolve(singleFile);
64
- if (fs.existsSync(resolved))
65
- return [resolved];
66
- const fromHttp = path.join(httpPath, singleFile);
67
- if (fs.existsSync(fromHttp))
68
- return [fromHttp];
69
- return [];
70
- }
58
+ /**
59
+ * Collects all .req / .request files under a directory (recursive).
60
+ */
61
+ function discoverInDirectory(dir) {
71
62
  const files = [];
72
- if (!fs.existsSync(httpPath))
63
+ if (!fs.existsSync(dir)) {
73
64
  return files;
74
- function walk(dir, excludeDirName) {
75
- const entries = fs.readdirSync(dir, { withFileTypes: true });
76
- for (const e of entries) {
77
- const full = path.join(dir, e.name);
78
- if (e.isDirectory()) {
79
- if (e.name !== excludeDirName)
80
- walk(full, excludeDirName);
65
+ }
66
+ function walk(currentDir) {
67
+ const entries = fs.readdirSync(currentDir, { withFileTypes: true });
68
+ for (const entry of entries) {
69
+ const full = path.join(currentDir, entry.name);
70
+ if (entry.isDirectory()) {
71
+ walk(full);
81
72
  continue;
82
73
  }
83
- const ext = path.extname(e.name).toLowerCase();
84
- if (ext === '.req' || e.name.endsWith('.request'))
74
+ if (isRequestFile(full)) {
85
75
  files.push(full);
76
+ }
86
77
  }
87
78
  }
88
- walk(httpPath, excludeSubfolderName);
79
+ walk(dir);
89
80
  return files.sort();
90
81
  }
82
+ /**
83
+ * Resolves a single file or directory path to request files.
84
+ */
85
+ function resolveFileTarget(workspacePath, httpPath, target) {
86
+ const candidates = [
87
+ path.resolve(target),
88
+ path.join(workspacePath, target),
89
+ path.join(httpPath, target),
90
+ ];
91
+ for (const candidate of candidates) {
92
+ if (!fs.existsSync(candidate)) {
93
+ continue;
94
+ }
95
+ const stat = fs.statSync(candidate);
96
+ if (stat.isDirectory()) {
97
+ return discoverInDirectory(candidate);
98
+ }
99
+ if (stat.isFile() && isRequestFile(candidate)) {
100
+ return [candidate];
101
+ }
102
+ }
103
+ return [];
104
+ }
105
+ /**
106
+ * Discovers request files under the http folder, optionally scoped to a subfolder or single file.
107
+ */
108
+ function discoverRequestFiles(workspacePath, httpPath, singleFile, folder) {
109
+ if (singleFile) {
110
+ return resolveFileTarget(workspacePath, httpPath, singleFile);
111
+ }
112
+ let searchRoot = httpPath;
113
+ if (folder) {
114
+ searchRoot = path.isAbsolute(folder)
115
+ ? folder
116
+ : path.join(httpPath, folder);
117
+ }
118
+ return discoverInDirectory(searchRoot);
119
+ }
91
120
  /**
92
121
  * Splits file content into blocks by ### (REST Client separator) OR by detecting new HTTP requests.
93
122
  * ### separator must be on a line by itself (only whitespace allowed).
@@ -95,63 +124,53 @@ function discoverRequestFiles(httpPath, singleFile, excludeSubfolderName = '.env
95
124
  */
96
125
  function getRequestBlocks(content) {
97
126
  const trimmed = content.trim();
98
- // Check if content uses ### as separator (must be alone on a line)
99
127
  const lines = trimmed.split('\n');
100
- const hasSeparator = lines.some(line => line.trim() === '###');
128
+ const hasSeparator = lines.some((line) => line.trim() === '###');
101
129
  if (hasSeparator) {
102
130
  return trimmed
103
131
  .split(/^###\s*$/m)
104
132
  .map((b) => b.trim())
105
133
  .filter(Boolean);
106
134
  }
107
- // Split by ## headers (these typically mark new requests)
108
135
  const blocks = [];
109
136
  let currentBlock = [];
110
137
  let foundFirstHeader = false;
111
- let inVariableSection = true; // Track if we're still in the @var section at the top
112
- // Regex patterns
113
- const headerRegex = /^##\s+[^#]/; // ## Title (but not ### decorative)
114
- const varRegex = /^#\s*@(?:var|env)\s+/; // # @var or # @env
138
+ let inVariableSection = true;
139
+ const headerRegex = /^##\s+[^#]/;
140
+ const varRegex = /^#\s*@(?:var|env)\s+/;
115
141
  const httpMethodRegex = /^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\s+/i;
116
142
  const curlRegex = /^\s*curl\s+/i;
117
143
  for (let i = 0; i < lines.length; i++) {
118
144
  const line = lines[i];
119
145
  const trimmedLine = line.trim();
120
- // Check if this is still a variable/env declaration at the top
121
- if (inVariableSection && (varRegex.test(trimmedLine) || trimmedLine === '' || (trimmedLine.startsWith('#') && !headerRegex.test(trimmedLine)))) {
122
- // Still in variable section, skip these lines (they'll be picked up by extractFileVariables)
123
- // But don't skip ## headers - they end the variable section
146
+ if (inVariableSection &&
147
+ (varRegex.test(trimmedLine) ||
148
+ trimmedLine === '' ||
149
+ (trimmedLine.startsWith('#') && !headerRegex.test(trimmedLine)))) {
124
150
  continue;
125
151
  }
126
152
  else {
127
- inVariableSection = false; // We've moved past the variable section
153
+ inVariableSection = false;
128
154
  }
129
- // Check if this is a section header (## Title, but not ###)
130
155
  const isHeader = headerRegex.test(trimmedLine);
131
- // If we found a ## header and we already have collected content with a previous header,
132
- // save the current block (WITHOUT this new header) and start fresh WITH the new header
133
156
  if (isHeader && foundFirstHeader && currentBlock.length > 0) {
134
157
  blocks.push(currentBlock.join('\n').trim());
135
- currentBlock = [line]; // Start new block with this header
158
+ currentBlock = [line];
136
159
  }
137
160
  else {
138
- // Add line to current block
139
161
  currentBlock.push(line);
140
162
  }
141
- // Mark that we found at least one header
142
163
  if (isHeader) {
143
164
  foundFirstHeader = true;
144
165
  }
145
166
  }
146
- // Add the last block
147
167
  if (currentBlock.length > 0) {
148
168
  blocks.push(currentBlock.join('\n').trim());
149
169
  }
150
- // Filter out blocks that don't contain actual requests
151
- return blocks.filter(block => {
170
+ return blocks.filter((block) => {
152
171
  const blockLines = block.split('\n');
153
- return blockLines.some(line => {
154
- const t = line.trim();
172
+ return blockLines.some((blockLine) => {
173
+ const t = blockLine.trim();
155
174
  return httpMethodRegex.test(t) || curlRegex.test(t);
156
175
  });
157
176
  });
@@ -162,16 +181,14 @@ function getRequestBlocks(content) {
162
181
  async function runHttpTest(opts) {
163
182
  const workspacePath = getWorkspacePath(opts);
164
183
  const baseFolder = getBaseFolder(opts);
165
- const environmentsFolder = getEnvironmentsFolder(opts);
166
- const defaultEnv = 'dev';
184
+ const defaultEnv = (0, projectEnv_1.getDefaultEnvironmentName)();
167
185
  const timeout = opts.timeout ?? 10;
168
186
  const verbose = opts.verbose ?? false;
169
187
  const varOverrides = opts.varOverrides
170
188
  ? new Map(Object.entries(opts.varOverrides))
171
189
  : undefined;
172
190
  const httpPath = getHttpPath(workspacePath, baseFolder);
173
- const envBasePath = getEnvironmentsPath(workspacePath, baseFolder, environmentsFolder);
174
- const files = discoverRequestFiles(httpPath, opts.file, environmentsFolder);
191
+ const files = discoverRequestFiles(workspacePath, httpPath, opts.file, opts.folder);
175
192
  const results = [];
176
193
  for (const filePath of files) {
177
194
  let content;
@@ -201,87 +218,49 @@ async function runHttpTest(opts) {
201
218
  }
202
219
  const fileVars = (0, httpRunner_1.extractFileVariables)(content);
203
220
  const envName = opts.env ?? (0, httpRunner_1.getEnvNameFromContent)(content) ?? defaultEnv;
204
- // Get env path relative to the request file, not the current working directory
205
- const fileDir = path.dirname(filePath);
206
- const fileBaseName = path.basename(fileDir); // Should be 'http'
207
- // Determine the environments folder path relative to the file
208
- let envBasePath;
209
- if (fileBaseName === 'http') {
210
- // File is directly in .cursor/http/ or .vscode/http/
211
- envBasePath = path.join(fileDir, environmentsFolder);
212
- }
213
- else {
214
- // File might be in a subdirectory, try to find the http folder
215
- const parentDir = path.dirname(fileDir);
216
- if (path.basename(parentDir) === 'http') {
217
- envBasePath = path.join(parentDir, environmentsFolder);
218
- }
219
- else {
220
- // Fallback to original behavior
221
- envBasePath = getEnvironmentsPath(workspacePath, baseFolder, environmentsFolder);
222
- }
223
- }
224
- const envFilePath = path.join(envBasePath, `.env.${envName}`);
225
- const fallbackEnvPath = path.join(envBasePath, '.env');
226
- let envVars = (0, httpRunner_1.loadEnvFile)(envFilePath);
227
- if (envVars.size === 0 && fs.existsSync(fallbackEnvPath)) {
228
- envVars = (0, httpRunner_1.loadEnvFile)(fallbackEnvPath);
229
- }
221
+ const envVars = (0, projectEnv_1.loadProjectEnvironment)(workspacePath, envName);
230
222
  let totalInFile = 0;
231
223
  const configsWithIndex = [];
232
- // Accumulated file-level + block-level variables (cascade effect)
233
224
  const accumulatedVars = new Map(fileVars);
234
225
  for (let bi = 0; bi < blocks.length; bi++) {
235
- try {
236
- // Extract delay from block (before executing requests in this block)
237
- const delayMs = (0, httpRunner_1.extractDelayFromBlock)(blocks[bi]);
238
- // Extract block-specific variables and merge with accumulated (cascade)
239
- const blockVars = (0, httpRunner_1.extractBlockVariables)(blocks[bi]);
240
- for (const [key, value] of blockVars.entries()) {
241
- accumulatedVars.set(key, value); // Override/add to accumulated
242
- }
243
- // Extract block title (## header) and line number
244
- let blockTitle;
245
- let blockLine;
246
- const blockLines = blocks[bi].split('\n');
247
- const headerRegex = /^##\s+(.+)/;
248
- for (let i = 0; i < blockLines.length; i++) {
249
- const match = blockLines[i].trim().match(headerRegex);
250
- if (match) {
251
- blockTitle = match[1].trim();
252
- // Calculate line number in original file
253
- const linesBeforeBlock = blocks.slice(0, bi).join('\n').split('\n').length;
254
- blockLine = linesBeforeBlock + i + 1;
255
- break;
256
- }
257
- }
258
- // Extract assertions for this block BEFORE removing them
259
- const blockAssertions = (0, assertionParser_1.extractAssertions)(blocks[bi]);
260
- // Remove assertion blocks from the content before processing
261
- const { removeAssertionBlocks } = require('../assertionParser');
262
- let cleanedBlock = removeAssertionBlocks(blocks[bi]);
263
- // Apply variable substitution to cleaned block using accumulated variables
264
- let substituted = (0, httpRunner_1.substituteVariables)(cleanedBlock, accumulatedVars, envVars);
265
- if (varOverrides && varOverrides.size > 0) {
266
- substituted = (0, httpRunner_1.applyVariableOverrides)(substituted, varOverrides);
267
- }
268
- const blockConfigs = (0, httpRunner_1.parseBlockAll)(substituted);
269
- for (let ri = 0; ri < blockConfigs.length; ri++) {
270
- configsWithIndex.push({
271
- config: blockConfigs[ri],
272
- blockIndex: bi,
273
- requestIndexInBlock: ri,
274
- assertions: blockAssertions,
275
- blockTitle,
276
- blockLine,
277
- delayMs
278
- });
226
+ const delayMs = (0, httpRunner_1.extractDelayFromBlock)(blocks[bi]);
227
+ const blockVars = (0, httpRunner_1.extractBlockVariables)(blocks[bi]);
228
+ for (const [key, value] of blockVars.entries()) {
229
+ accumulatedVars.set(key, value);
230
+ }
231
+ let blockTitle;
232
+ let blockLine;
233
+ const blockLines = blocks[bi].split('\n');
234
+ const headerRegex = /^##\s+(.+)/;
235
+ for (let i = 0; i < blockLines.length; i++) {
236
+ const match = blockLines[i].trim().match(headerRegex);
237
+ if (match) {
238
+ blockTitle = match[1].trim();
239
+ const linesBeforeBlock = blocks.slice(0, bi).join('\n').split('\n').length;
240
+ blockLine = linesBeforeBlock + i + 1;
241
+ break;
279
242
  }
280
- totalInFile += blockConfigs.length;
281
243
  }
282
- catch (err) {
283
- throw err;
244
+ const blockAssertions = (0, assertionParser_1.extractAssertions)(blocks[bi]);
245
+ const { removeAssertionBlocks } = require('../assertionParser');
246
+ let cleanedBlock = removeAssertionBlocks(blocks[bi]);
247
+ let substituted = (0, httpRunner_1.substituteVariables)(cleanedBlock, accumulatedVars, envVars);
248
+ if (varOverrides && varOverrides.size > 0) {
249
+ substituted = (0, httpRunner_1.applyVariableOverrides)(substituted, varOverrides);
250
+ }
251
+ const blockConfigs = (0, httpRunner_1.parseBlockAll)(substituted);
252
+ for (let ri = 0; ri < blockConfigs.length; ri++) {
253
+ configsWithIndex.push({
254
+ config: blockConfigs[ri],
255
+ blockIndex: bi,
256
+ requestIndexInBlock: ri,
257
+ assertions: blockAssertions,
258
+ blockTitle,
259
+ blockLine,
260
+ delayMs,
261
+ });
284
262
  }
263
+ totalInFile += blockConfigs.length;
285
264
  }
286
265
  if (configsWithIndex.length === 0) {
287
266
  results.push({
@@ -296,23 +275,18 @@ async function runHttpTest(opts) {
296
275
  let requestIndex = 0;
297
276
  for (const { config, assertions, blockTitle, blockLine, delayMs } of configsWithIndex) {
298
277
  requestIndex++;
299
- // Apply delay if specified (delay before executing this block)
300
278
  if (delayMs && delayMs > 0) {
301
- await new Promise(resolve => setTimeout(resolve, delayMs));
279
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
302
280
  }
303
281
  const result = await (0, httpRunner_1.executeHttpRequest)(config, timeout);
304
- // Validate assertions if any
305
282
  let assertionResults = [];
306
283
  let assertionsPassed = 0;
307
284
  let assertionsTotal = 0;
308
285
  if (assertions.length > 0) {
309
286
  assertionResults = (0, assertionValidator_1.validateAssertions)(assertions, result, result.headers);
310
- assertionsPassed = assertionResults.filter(r => r.passed).length;
287
+ assertionsPassed = assertionResults.filter((r) => r.passed).length;
311
288
  assertionsTotal = assertionResults.length;
312
289
  }
313
- // Request passes based on:
314
- // - If there are assertions: all assertions must pass (ignore HTTP status)
315
- // - If no assertions: HTTP status must be 2xx
316
290
  const allAssertionsPassed = assertionsTotal === 0 || assertionsPassed === assertionsTotal;
317
291
  const statusPassed = result.statusCode >= 200 && result.statusCode < 300;
318
292
  const passed = assertionsTotal > 0 ? allAssertionsPassed : statusPassed;
@@ -334,7 +308,6 @@ async function runHttpTest(opts) {
334
308
  responseBody: result.body,
335
309
  }),
336
310
  };
337
- // Call progress callback if provided (for real-time feedback)
338
311
  if (opts.onProgress) {
339
312
  opts.onProgress(testResult);
340
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"http-test.js","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-test.js","sourceRoot":"","sources":["../../src/commands/http-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Returns the workspace root directory used for project .env files
3
+ */
4
+ export declare function getProjectEnvRoot(workspacePath: string): string;
5
+ /**
6
+ * Resolves the file path for a named HTTP environment at the project root.
7
+ * `default` maps to `.env`.
8
+ */
9
+ export declare function getProjectEnvFilePath(workspacePath: string, envName: string): string;
10
+ /**
11
+ * Loads environment variables from project-root .env files.
12
+ * Falls back to `.env` when a named file (e.g. `.env.dev`) is missing.
13
+ */
14
+ export declare function loadProjectEnvironment(workspacePath: string, envName: string): Map<string, string>;
15
+ /**
16
+ * Default environment name when not set in file or CLI.
17
+ */
18
+ export declare function getDefaultEnvironmentName(): string;
19
+ //# sourceMappingURL=projectEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectEnv.d.ts","sourceRoot":"","sources":["../src/projectEnv.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAarB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getProjectEnvRoot = getProjectEnvRoot;
37
+ exports.getProjectEnvFilePath = getProjectEnvFilePath;
38
+ exports.loadProjectEnvironment = loadProjectEnvironment;
39
+ exports.getDefaultEnvironmentName = getDefaultEnvironmentName;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const httpRunner_1 = require("./httpRunner");
43
+ /**
44
+ * Returns the workspace root directory used for project .env files
45
+ */
46
+ function getProjectEnvRoot(workspacePath) {
47
+ return workspacePath;
48
+ }
49
+ /**
50
+ * Resolves the file path for a named HTTP environment at the project root.
51
+ * `default` maps to `.env`.
52
+ */
53
+ function getProjectEnvFilePath(workspacePath, envName) {
54
+ const fileName = envName === 'default' ? '.env' : `.env.${envName}`;
55
+ return path.join(getProjectEnvRoot(workspacePath), fileName);
56
+ }
57
+ /**
58
+ * Loads environment variables from project-root .env files.
59
+ * Falls back to `.env` when a named file (e.g. `.env.dev`) is missing.
60
+ */
61
+ function loadProjectEnvironment(workspacePath, envName) {
62
+ let envFilePath = getProjectEnvFilePath(workspacePath, envName);
63
+ if (!fs.existsSync(envFilePath) && envName !== 'default') {
64
+ envFilePath = getProjectEnvFilePath(workspacePath, 'default');
65
+ if (!fs.existsSync(envFilePath)) {
66
+ return new Map();
67
+ }
68
+ }
69
+ else if (!fs.existsSync(envFilePath)) {
70
+ return new Map();
71
+ }
72
+ return (0, httpRunner_1.loadEnvFile)(envFilePath);
73
+ }
74
+ /**
75
+ * Default environment name when not set in file or CLI.
76
+ */
77
+ function getDefaultEnvironmentName() {
78
+ return process.env.CURSORTOYS_DEFAULT_ENV || 'dev';
79
+ }
80
+ //# sourceMappingURL=projectEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectEnv.js","sourceRoot":"","sources":["../src/projectEnv.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,8CAEC;AAMD,sDAGC;AAMD,wDAgBC;AAKD,8DAEC;AA/CD,uCAAyB;AACzB,2CAA6B;AAC7B,6CAA2C;AAE3C;;GAEG;AACH,SAAgB,iBAAiB,CAAC,aAAqB;IACrD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,aAAqB,EAAE,OAAe;IAC1E,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,aAAqB,EACrB,OAAe;IAEf,IAAI,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzD,WAAW,GAAG,qBAAqB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,OAAO,IAAA,wBAAW,EAAC,WAAW,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,KAAK,CAAC;AACrD,CAAC"}
package/llms.txt CHANGED
@@ -23,117 +23,71 @@ cursortoys http test [options]
23
23
  **Options:**
24
24
  - `-p, --project <dir>`: Project directory (default: current working directory)
25
25
  - `--base-folder <name>`: Base folder name (default: `cursor`; or set `CURSORTOYS_BASE_FOLDER`)
26
- - `--environments-folder <name>`: Environments subfolder (default: `.environments`)
27
- - `-e, --env <name>`: Environment to use (overrides `# @env` in file)
26
+ - `-e, --env <name>`: Environment to use (overrides `# @env` in file; loads `.env.{name}` at project root)
28
27
  - `-t, --timeout <seconds>`: Request timeout in seconds (default: `10`)
29
- - `-f, --file <path>`: Run a single `.req` or `.request` file
28
+ - `-f, --file <path>`: Run a single file or all request files in a directory
29
+ - `--folder <path>`: Run all request files under a subfolder of the http directory
30
30
  - `-V, --verbose`: Show request and response details
31
31
  - `--var <key=value>`: Override variables (can be repeated)
32
32
 
33
33
  **Examples:**
34
34
  ```bash
35
- # Run all tests
35
+ # Run all tests under .cursor/http
36
36
  cursortoys http test
37
37
 
38
- # Run with verbose output
39
- cursortoys http test -V
38
+ # Run tests in a subfolder
39
+ cursortoys http test --folder auth
40
40
 
41
41
  # Run specific file
42
42
  cursortoys http test -f .cursor/http/api.req
43
43
 
44
+ # Run all files in a directory
45
+ cursortoys http test -f .cursor/http/integrations
46
+
44
47
  # Override environment and variables
45
- cursortoys http test -e qa --var BASE_URL=https://staging.api.com --var API_KEY=secret
48
+ cursortoys http test -e staging --var BASE_URL=https://staging.api.com
46
49
  ```
47
50
 
48
51
  **Request File Format:**
49
52
  - REST Client format: `METHOD URL` followed by headers and body
50
- - Multiple requests separated by `###`
53
+ - Multiple requests separated by `###` or `##` sections (all blocks are executed)
51
54
  - Variables: `# @var VAR_NAME=value`
52
- - Environment: `# @env name`
55
+ - Environment: `# @env name` (`default` uses `.env` at project root)
53
56
  - Substitution: `{{VAR_NAME}}`
54
- - Delay: `# @delay(milliseconds)` - adds delay before executing the request block
57
+ - Delay: `# @delay(milliseconds)`
55
58
 
56
59
  **Assertions:**
57
- Supports various assertion types:
58
- - Status code: `# @assert response.status == 200`
59
- - Headers: `# @assert response.headers['content-type'] contains 'application/json'`
60
- - Body: `# @assert response.body.data.length > 0`
61
- - JSON path: `# @assert response.body.user.name == "John"`
60
+ ```http
61
+ GET {{BASE_URL}}/users/1
62
+ /*
63
+ * @assert("ok", "res.status", "equals", 200)
64
+ * @assert("res.body.id", "equals", 1)
65
+ */
66
+ ```
62
67
 
63
68
  ### 2. Skill Add (`cursortoys skill add`)
64
69
 
65
70
  Create a new skill file with a template.
66
71
 
67
- **Basic usage:**
68
- ```bash
69
- cursortoys skill add <name>
70
- ```
71
-
72
- **Full command syntax:**
73
72
  ```bash
74
- cursortoys skill add <name> [options]
73
+ cursortoys skill add <name> [-d description] [-t personal|project] [-p projectDir]
75
74
  ```
76
75
 
77
- **Options:**
78
- - `-d, --description <text>`: Skill description
79
- - `-t, --target <type>`: Target directory (`personal` or `project`, default: `personal`)
80
- - `-p, --project <dir>`: Project directory (required if target is `project`)
81
- - `--base-folder <name>`: Base folder name (default: `cursor`)
82
-
83
- **Examples:**
84
- ```bash
85
- # Create personal skill (default)
86
- cursortoys skill add my-skill
87
-
88
- # Create personal skill with description
89
- cursortoys skill add http-testing -d "Skill for testing HTTP APIs"
90
-
91
- # Create project skill
92
- cursortoys skill add api-docs -t project -p /path/to/project
93
-
94
- # Create project skill in current directory
95
- cursortoys skill add api-docs -t project -p .
96
-
97
- # Custom base folder
98
- cursortoys skill add my-skill --base-folder vscode
99
- ```
100
-
101
- **Output:**
102
- Creates a `SKILL.md` file in:
103
- - Personal: `~/.cursor/skills/skill-name/SKILL.md`
104
- - Project: `{project}/.cursor/skills/skill-name/SKILL.md`
105
-
106
- The file contains a template with:
107
- - Description section
108
- - When to Use section
109
- - How It Works section
110
- - Examples section
111
- - Notes section
112
- - Related Skills section
113
-
114
76
  ### 3. LLM Instructions (`cursortoys --llm`)
115
77
 
116
- Display comprehensive instructions for LLMs on how to use the CLI.
117
-
118
- **Usage:**
119
- ```bash
120
- cursortoys --llm
121
- ```
122
-
123
- **Output:**
124
- Displays this file (llms.txt) with all documentation about commands, options, usage patterns, and best practices.
78
+ Display comprehensive instructions for LLMs.
125
79
 
126
80
  ## Environment Variables
127
81
 
128
82
  - `CURSORTOYS_BASE_FOLDER`: Default base folder (default: `cursor`)
129
- - `CURSORTOYS_ENVIRONMENTS_FOLDER`: Environments subfolder (default: `.environments`)
83
+ - `CURSORTOYS_DEFAULT_ENV`: Default environment name when not in file (default: `dev`)
130
84
 
131
85
  ## Paths and Structure
132
86
 
133
87
  ### HTTP Testing
134
88
  - **HTTP folder**: `{workspace}/.{baseFolder}/http/`
135
- - **Environments**: `{workspace}/.{baseFolder}/http/{environmentsFolder}/`
136
- - **Environment files**: `.env`, `.env.dev`, `.env.qa`, `.env.prod`, etc.
89
+ - **Environment files**: `{workspace}/.env`, `.env.dev`, `.env.staging`, etc. at **project root**
90
+ - **Do not** put `.env*` inside `http/`
137
91
 
138
92
  ### Skills
139
93
  - **Personal skills**: `~/.cursor/skills/{skill-name}/SKILL.md`
@@ -141,64 +95,36 @@ Displays this file (llms.txt) with all documentation about commands, options, us
141
95
 
142
96
  ## Exit Codes
143
97
 
144
- - `0`: Success (all tests passed, command completed successfully)
145
- - `1`: Failure (tests failed, error occurred)
98
+ - `0`: Success
99
+ - `1`: Failure
146
100
 
147
101
  ## Requirements
148
102
 
149
103
  - Node.js 18+
150
- - `curl` installed and on PATH (for HTTP testing)
104
+ - `curl` on PATH
151
105
 
152
106
  ## Integration with VS Code/Cursor
153
107
 
154
- The CLI uses the same format and conventions as the CursorToys VS Code extension:
155
- - Same `.req` / `.request` file format
156
- - Same environment variable resolution
108
+ Matches the CursorToys extension:
109
+ - Same `.req` / `.request` format
110
+ - Project-root `.env*` resolution (same as `EnvironmentManager`)
111
+ - `# @env default` โ†’ `.env`
112
+ - Named env missing โ†’ fallback to `.env`
157
113
  - Same base folder configuration
158
- - Skills are compatible with Cursor AI Agent Skills
159
-
160
- ## Tips for LLMs
161
-
162
- 1. **HTTP Testing**: When users want to test APIs, suggest using `cursortoys http test` with appropriate options
163
- 2. **Skill Creation**: When users want to create reusable AI instructions, use `cursortoys skill add`
164
- 3. **Verbose Mode**: Use `-V` when debugging to see full request/response details
165
- 4. **Environment Switching**: Use `-e` to switch between dev/qa/prod environments
166
- 5. **Variable Overrides**: Use `--var` to override specific variables without modifying files
167
- 6. **Project vs Personal**: Skills can be personal (shared across projects) or project-specific
168
114
 
169
115
  ## Common Use Cases
170
116
 
171
- ### Use Case 1: API Testing in CI/CD
117
+ ### CI/CD
172
118
  ```bash
173
- # Run all tests with production environment
174
119
  cursortoys http test -e prod --timeout 30
175
120
  ```
176
121
 
177
- ### Use Case 2: Local Development Testing
178
- ```bash
179
- # Test specific endpoint with verbose output
180
- cursortoys http test -f .cursor/http/users.req -V --var BASE_URL=http://localhost:3000
181
- ```
182
-
183
- ### Use Case 3: Rate-Limited API Testing
122
+ ### Subfolder testing
184
123
  ```bash
185
- # Test API with delays between requests (using #@delay in .req files)
186
- cursortoys http test -f .cursor/http/rate-limited-api.req
124
+ cursortoys http test --folder smoke
187
125
  ```
188
126
 
189
- ### Use Case 4: Creating Reusable Skills
127
+ ### Local override
190
128
  ```bash
191
- # Create a skill for API documentation standards
192
- cursortoys skill add api-docs -d "Standards for documenting REST APIs" -t project
129
+ cursortoys http test -f .cursor/http/api.req -V --var BASE_URL=http://localhost:3000
193
130
  ```
194
-
195
- ## Error Handling
196
-
197
- The CLI provides clear error messages:
198
- - File not found errors
199
- - Invalid request format
200
- - Network errors
201
- - Assertion failures
202
- - Environment/variable resolution issues
203
-
204
- All errors are displayed in red with relevant context.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cursortoys",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Command-line utilities for CursorToys - HTTP testing, automation, and productivity tools",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {