shiplightai 0.1.96 → 0.1.97

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.
@@ -24,7 +24,7 @@ resulting step runs with no target).
24
24
 
25
25
  28 actions.
26
26
 
27
- > Engine actions with no YAML form (agent-only): `extract_activation_code`, `perform_accurate_operation`.
27
+ > Engine actions with no YAML form (agent-only): `perform_accurate_operation`.
28
28
 
29
29
  ## ai_extract
30
30
 
@@ -67,7 +67,7 @@ Wait until a specific condition is met on the page (e.g., "page loads", "spinner
67
67
  "timeout_seconds": {
68
68
  "type": "number",
69
69
  "exclusiveMinimum": 0,
70
- "description": "Timeout in seconds (default: 60)"
70
+ "description": "Timeout in seconds. Set this only when the instruction states a timeout; otherwise leave it unset so the 60s default applies."
71
71
  }
72
72
  },
73
73
  "required": [
@@ -90,7 +90,7 @@ Clear the contents of an input field, textarea, or other editable element.
90
90
  "properties": {
91
91
  "timeout_ms": {
92
92
  "type": "number",
93
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
93
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
94
94
  }
95
95
  },
96
96
  "additionalProperties": false,
@@ -110,7 +110,7 @@ Click an interactive element.
110
110
  "properties": {
111
111
  "timeout_ms": {
112
112
  "type": "number",
113
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
113
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
114
114
  }
115
115
  },
116
116
  "additionalProperties": false,
@@ -175,7 +175,7 @@ Double-click an interactive element.
175
175
  "properties": {
176
176
  "timeout_ms": {
177
177
  "type": "number",
178
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
178
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
179
179
  }
180
180
  },
181
181
  "additionalProperties": false,
@@ -306,7 +306,7 @@ Navigate to a specific URL. Use this to visit web pages. Set new_tab=true to ope
306
306
  "timeout_seconds": {
307
307
  "type": "number",
308
308
  "exclusiveMinimum": 0,
309
- "description": "Navigation timeout in seconds. Default is 20 seconds."
309
+ "description": "Navigation timeout in seconds. Set this only when the instruction states a timeout; otherwise leave it unset so the 20s default applies."
310
310
  }
311
311
  },
312
312
  "required": [
@@ -329,7 +329,7 @@ Hover over an interactive element.
329
329
  "properties": {
330
330
  "timeout_ms": {
331
331
  "type": "number",
332
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
332
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
333
333
  }
334
334
  },
335
335
  "additionalProperties": false,
@@ -353,7 +353,7 @@ Type text into an input field. To replace existing content, use clear_input firs
353
353
  },
354
354
  "timeout_ms": {
355
355
  "type": "number",
356
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
356
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
357
357
  }
358
358
  },
359
359
  "required": [
@@ -410,7 +410,7 @@ Right-click an interactive element.
410
410
  "properties": {
411
411
  "timeout_ms": {
412
412
  "type": "number",
413
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
413
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
414
414
  }
415
415
  },
416
416
  "additionalProperties": false,
@@ -491,7 +491,7 @@ Scroll on a scrollable element horizontally and vertically.
491
491
  },
492
492
  "timeout_ms": {
493
493
  "type": "number",
494
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
494
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
495
495
  }
496
496
  },
497
497
  "additionalProperties": false,
@@ -536,7 +536,7 @@ Select an option from a dropdown/select element by value, label, or index.
536
536
  },
537
537
  "timeout_ms": {
538
538
  "type": "number",
539
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
539
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
540
540
  }
541
541
  },
542
542
  "required": [
@@ -569,7 +569,7 @@ The date must be in YYYY-MM-DD format (e.g., 2024-03-15).
569
569
  },
570
570
  "timeout_ms": {
571
571
  "type": "number",
572
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
572
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
573
573
  }
574
574
  },
575
575
  "required": [
@@ -628,7 +628,7 @@ Click on target element (usually contains hints like "Upload file" or "Choose fi
628
628
  },
629
629
  "timeout_ms": {
630
630
  "type": "number",
631
- "description": "Per-action timeout in ms. Overrides the default 5s action timeout."
631
+ "description": "Per-action timeout in ms. Overrides the default 5s action timeout. Set this only when the instruction states a timeout; otherwise leave it unset so the configured default applies."
632
632
  }
633
633
  },
634
634
  "required": [
@@ -693,7 +693,7 @@ Wait for an in-progress download to complete.
693
693
  "timeout_seconds": {
694
694
  "type": "number",
695
695
  "exclusiveMinimum": 0,
696
- "description": "Maximum time in seconds to wait for download to complete (default: 10)"
696
+ "description": "Maximum time in seconds to wait for download to complete. Set this only when the instruction states a timeout; otherwise leave it unset so the 10s default applies."
697
697
  }
698
698
  },
699
699
  "additionalProperties": false,
package/dist/spec/yaml.md CHANGED
@@ -82,7 +82,7 @@ A file must be either a **single-test file** (with `goal`/`statements`) or a **s
82
82
 
83
83
  | Key | Type | Default | Description |
84
84
  |---|---|---|---|
85
- | `base_url` | `string` | — | Base URL for relative `URL:` statements. Maps to Playwright `test.use({ baseURL })`. Does **not** auto-navigate — use `URL: /` to navigate. |
85
+ | `base_url` | `string` | — | Base URL for relative `URL:` statements. Maps to Playwright `test.use({ baseURL })`. Applies to single-test **and** suite files. Does **not** auto-navigate — use `URL: /` to navigate. Absolute `URL:` values (`https://…`, `chrome-extension://…`) need no `base_url`. Takes precedence over `use.baseURL`. |
86
86
  | `test_case_id` | `number` | — | Links to a cloud test case for sync. |
87
87
  | `name` | `string` | — | Test title override (single-test) or suite name (suite). If set on a single-test file without `goal`, `goal` is auto-derived from `name`. |
88
88
  | `tags` | `string[]` | — | Playwright tags for `--grep` filtering. Each tag is prefixed with `@` in the test name. |
@@ -721,6 +721,7 @@ suite:
721
721
  | Key | Type | Required | Description |
722
722
  |---|---|---|---|
723
723
  | `tests` | `SuiteTest[]` | Yes | Array of test definitions (at least one). |
724
+ | `base_url` | `string` | No | Alias for the top-level [`base_url`](#optional-keys), written inside `suite:`. Both spellings map to `test.use({ baseURL })`; this one wins if both are present. Prefer the top-level form — the debugger emits this one on save. |
724
725
  | `beforeAll` | `Statement[]` | No | Runs once before all tests. See [Lifecycle Hooks](#10-lifecycle-hooks). |
725
726
  | `afterAll` | `Statement[]` | No | Runs once after all tests. |
726
727
  | `beforeEach` | `Statement[]` | No | Runs before each test. |
@@ -30381,12 +30381,11 @@ const isDynamicAction = (actionName) => {
30381
30381
  "assert",
30382
30382
  "verify",
30383
30383
  "wait_for_download_complete",
30384
- "extract_activation_code",
30385
30384
  "extract_email_content"
30386
30385
  ].includes(actionName);
30387
30386
  };
30388
30387
  const allowPureVisionAction = (actionName) => {
30389
- const blockList = ["js_code", "function", "assert", "ai_assert", "verify", "ai_extract", "ai_wait_until", "upload_file", "login", "extract_activation_code", "extract_email_content", "ai_step"];
30388
+ const blockList = ["js_code", "function", "assert", "ai_assert", "verify", "ai_extract", "ai_wait_until", "upload_file", "login", "extract_email_content", "ai_step"];
30390
30389
  return !blockList.includes(actionName);
30391
30390
  };
30392
30391
  let getRandomValues$1;
@@ -188806,7 +188805,7 @@ function dynamic(importFn, _options) {
188806
188805
  );
188807
188806
  return Wrapper;
188808
188807
  }
188809
- const MonacoEditor = dynamic(() => __vitePreload(() => import("./index-Bk-qqDWJ.js"), true ? [] : void 0), {});
188808
+ const MonacoEditor = dynamic(() => __vitePreload(() => import("./index-eFclB13U.js"), true ? [] : void 0), {});
188810
188809
  const CodeEditor = ({
188811
188810
  initialCode = "",
188812
188811
  onConfirm,
@@ -201844,4 +201843,4 @@ export {
201844
201843
  We as W,
201845
201844
  reactExports as r
201846
201845
  };
201847
- //# sourceMappingURL=index-CqR_WNuS.js.map
201846
+ //# sourceMappingURL=index-DVb6b-JE.js.map
@@ -1,4 +1,4 @@
1
- import { r as reactExports, W as We } from "./index-CqR_WNuS.js";
1
+ import { r as reactExports, W as We } from "./index-DVb6b-JE.js";
2
2
  function _defineProperty$1(obj, key, value) {
3
3
  if (key in obj) {
4
4
  Object.defineProperty(obj, key, {
@@ -649,4 +649,4 @@ export {
649
649
  loader,
650
650
  Le as useMonaco
651
651
  };
652
- //# sourceMappingURL=index-Bk-qqDWJ.js.map
652
+ //# sourceMappingURL=index-eFclB13U.js.map
@@ -8,7 +8,7 @@
8
8
  /* Prevent FOUC */
9
9
  body { margin: 0; background: #1a1b1e; color: #c1c2c5; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; }
10
10
  </style>
11
- <script type="module" crossorigin src="/assets/index-CqR_WNuS.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-DVb6b-JE.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-CrXycucL.css">
13
13
  </head>
14
14
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shiplightai",
3
- "version": "0.1.96",
3
+ "version": "0.1.97",
4
4
  "type": "module",
5
5
  "description": "Shiplight CLI for running and debugging .test.yaml files",
6
6
  "main": "dist/index.js",
@@ -97,10 +97,9 @@
97
97
  "@types/node": "^24.0.0",
98
98
  "tsup": "^8.3.5",
99
99
  "typescript": "5.5.4",
100
- "shiplight-tools": "1.0.0",
101
- "sdk-core": "0.1.0",
102
100
  "shiplight-types": "0.1.0",
103
- "sdk-internal": "0.1.1"
101
+ "shiplight-tools": "1.0.0",
102
+ "sdk-core": "0.1.0"
104
103
  },
105
104
  "peerDependencies": {
106
105
  "@playwright/test": "1.60.0"